mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-26 12:23:59 +08:00
re PR c++/17149 (ICE: tree check: expected record_type or union_type or qual_union_type, have template_type_parm in check_accessibility_of_qualified_id, at cp/semantics.c:1388)
cp: PR c++/17149 * semantics.c (check_accessibility_of_qualified_id): Defer check if qualifying_type is a template parameter. testsuite: PR c++/17149 * g++.dg/template/access15.C: New. From-SVN: r86472
This commit is contained in:
parent
d46cd2be37
commit
c645999e7b
@ -1,3 +1,9 @@
|
|||||||
|
2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
PR c++/17149
|
||||||
|
* semantics.c (check_accessibility_of_qualified_id): Defer check
|
||||||
|
if qualifying_type is a template parameter.
|
||||||
|
|
||||||
2004-08-23 Mark Mitchell <mark@codesourcery.com>
|
2004-08-23 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/17163
|
PR c++/17163
|
||||||
@ -11,7 +17,7 @@
|
|||||||
Revert:
|
Revert:
|
||||||
2004-08-22 Andrew Pinski <apinski@apple.com>
|
2004-08-22 Andrew Pinski <apinski@apple.com>
|
||||||
PR c++/14029
|
PR c++/14029
|
||||||
* typeck.c (build_unary_op): Use &a.b if the foldded lowered
|
* typeck.c (build_unary_op): Use &a.b if the folded lowered
|
||||||
expression is not constant.
|
expression is not constant.
|
||||||
|
|
||||||
2004-08-23 Nathan Sidwell <nathan@codesourcery.com>
|
2004-08-23 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
@ -23,7 +29,7 @@
|
|||||||
2004-08-22 Andrew Pinski <apinski@apple.com>
|
2004-08-22 Andrew Pinski <apinski@apple.com>
|
||||||
|
|
||||||
PR c++/14029
|
PR c++/14029
|
||||||
* typeck.c (build_unary_op): Use &a.b if the foldded lowered
|
* typeck.c (build_unary_op): Use &a.b if the folded lowered
|
||||||
expression is not constant.
|
expression is not constant.
|
||||||
|
|
||||||
2004-08-20 Mark Mitchell <mark@codesourcery.com>
|
2004-08-20 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
@ -1384,7 +1384,9 @@ check_accessibility_of_qualified_id (tree decl,
|
|||||||
its bases. */
|
its bases. */
|
||||||
qualifying_type = currently_open_derived_class (scope);
|
qualifying_type = currently_open_derived_class (scope);
|
||||||
|
|
||||||
if (qualifying_type)
|
if (qualifying_type && IS_AGGR_TYPE_CODE (TREE_CODE (qualifying_type)))
|
||||||
|
/* It is possible for qualifying type to be a TEMPLATE_TYPE_PARM
|
||||||
|
or similar in a default argument value. */
|
||||||
perform_or_defer_access_check (TYPE_BINFO (qualifying_type), decl);
|
perform_or_defer_access_check (TYPE_BINFO (qualifying_type), decl);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
2004-08-24 Nathan Sidwell <nathan@codesourcery.com>
|
||||||
|
|
||||||
|
PR c++/17149
|
||||||
|
* g++.dg/template/access15.C: New.
|
||||||
|
|
||||||
2004-08-23 Mark Mitchell <mark@codesourcery.com>
|
2004-08-23 Mark Mitchell <mark@codesourcery.com>
|
||||||
|
|
||||||
PR c++/17163
|
PR c++/17163
|
||||||
|
12
gcc/testsuite/g++.dg/template/access15.C
Normal file
12
gcc/testsuite/g++.dg/template/access15.C
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
// { dg-do compile }
|
||||||
|
|
||||||
|
// Copyright (C) 2004 Free Software Foundation, Inc.
|
||||||
|
// Contributed by Nathan Sidwell 23 Aug 2004 <nathan@codesourcery.com>
|
||||||
|
// Origin: stefaandr@hotmail.com
|
||||||
|
|
||||||
|
// Bug 17149: ICE with TEMPLATE_TYPE_PARM
|
||||||
|
|
||||||
|
|
||||||
|
template <class super,
|
||||||
|
int (super::tdata::*member)() const = &super::tdata::operator()>
|
||||||
|
struct x {};
|
Loading…
Reference in New Issue
Block a user