Commit 43939071 by Paolo Carlini Committed by Paolo Carlini

re PR c++/58563 ([c++11] ICE calling invalid destructor)

/cp
2013-10-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58563
	* parser.c (cp_parser_lookup_name): Check make_typename_type return
	value for error_mark_node.

/testsuite
2013-10-01  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/58563
	* g++.dg/cpp0x/pr58563.C: New.

From-SVN: r203079
parent 25c606cb
2013-10-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58563
* parser.c (cp_parser_lookup_name): Check make_typename_type return
value for error_mark_node.
2013-09-25 Tom Tromey <tromey@redhat.com>
* Make-lang.in (CXX_TREE_H, CXX_PARSER_H, CXX_PRETTY_PRINT_H):
......
......@@ -21756,7 +21756,8 @@ cp_parser_lookup_name (cp_parser *parser, tree name,
is dependent. */
type = make_typename_type (parser->scope, name, tag_type,
/*complain=*/tf_error);
decl = TYPE_NAME (type);
if (type != error_mark_node)
decl = TYPE_NAME (type);
}
else if (is_template
&& (cp_parser_next_token_ends_template_argument_p (parser)
......
2013-10-01 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/58563
* g++.dg/cpp0x/pr58563.C: New.
2013-10-01 Vidya Praveen <vidyapraveen@arm.com>
* gcc.target/aarch64/vect_saddl_1.c: New.
......
// PR c++/58563
// { dg-do compile { target c++11 } }
template<int> void foo()
{
enum E {};
E().E::~T(); // { dg-error "not a class" }
}
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