Commit b960ce04 by Paolo Carlini Committed by Paolo Carlini

re PR c++/45043 (ICE: tree check: expected identifier_node, have bit_not_expr in…

re PR c++/45043 (ICE: tree check: expected identifier_node, have bit_not_expr in grokdeclarator, at cp/decl.c:8113 on invalid code)

/cp
2010-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/45043
	* decl.c (grokdeclarator): Use MAIN_NAME_P only on IDENTIFIER_NODEs.

/testsuite
2010-08-30  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/45043
	* g++.dg/template/crash102.C: New.

From-SVN: r163655
parent b0268cc0
2010-08-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45043
* decl.c (grokdeclarator): Use MAIN_NAME_P only on IDENTIFIER_NODEs.
2010-08-30 Jakub Jelinek <jakub@redhat.com>
PR middle-end/45423
......
......@@ -8115,7 +8115,8 @@ grokdeclarator (const cp_declarator *declarator,
common. With no options, it is allowed. With -Wreturn-type,
it is a warning. It is only an error with -pedantic-errors. */
is_main = (funcdef_flag
&& dname && MAIN_NAME_P (dname)
&& dname && TREE_CODE (dname) == IDENTIFIER_NODE
&& MAIN_NAME_P (dname)
&& ctype == NULL_TREE
&& in_namespace == NULL_TREE
&& current_namespace == global_namespace);
......
2010-08-30 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/45043
* g++.dg/template/crash102.C: New.
2010-08-30 Jakub Jelinek <jakub@redhat.com>
PR middle-end/45423
......
// PR c++/45043
template < typename > class A;
template < typename T > A < T >::B::~B () // { dg-error "type" }
{}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment