re PR c++/64127 (ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980)

PR c++/64127
	* parser.c (cp_parser_diagnose_invalid_type_name): Check id
	for being an identifier before accessing it.

From-SVN: r218573
This commit is contained in:
Kai Tietz 2014-12-10 12:29:22 +01:00 committed by Kai Tietz
parent 6cc92f7d80
commit e6f2df09a5
2 changed files with 5 additions and 0 deletions

View file

@ -1,5 +1,9 @@
2014-12-10 Kai Tietz <ktietz@redhat.com>
PR c++/64127
* parser.c (cp_parser_diagnose_invalid_type_name): Check id
for being an identifier before accessing it.
PR c++/64100
* typeck.c (lookup_destructor): Handle incomplete type.

View file

@ -2977,6 +2977,7 @@ cp_parser_diagnose_invalid_type_name (cp_parser *parser, tree id,
inform (location, "C++11 %<noexcept%> only available with "
"-std=c++11 or -std=gnu++11");
else if (cxx_dialect < cxx11
&& TREE_CODE (id) == IDENTIFIER_NODE
&& !strcmp (IDENTIFIER_POINTER (id), "thread_local"))
inform (location, "C++11 %<thread_local%> only available with "
"-std=c++11 or -std=gnu++11");