https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64127
Bug ID: 64127 Summary: [5.0 regression] ICE on invalid: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2980 Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: dimhen at gmail dot com r214134 PASS r214718 FAIL r218182 FAIL $ cat x.ii template <0> int __copy_streambufs_eof; __copy_streambufs_eof < $ ~/bin/gcc_214718/bin/g++ -fpreprocessed -c x.ii x.ii:1:11: error: expected identifier before numeric constant template <0> int __copy_streambufs_eof; ^ x.ii:1:11: error: expected '>' before numeric constant x.ii:1:18: warning: variable templates only available with -std=c++14 or -std=gnu++14 template <0> int __copy_streambufs_eof; ^ x.ii:2:1: error: parse error in template argument list __copy_streambufs_eof < ^ x.ii:2:1: error: '__copy_streambufs_eof<<expression error> >' does not name a type x.ii:2:1: internal compiler error: tree check: expected identifier_node, have template_id_expr in cp_parser_diagnose_invalid_type_name, at cp/parser.c:2932 0xea6824 tree_check_failed(tree_node const*, char const*, int, char const*, ...) /home/dimhen/src/gcc_current/gcc/tree.c:9149 0x6789a0 tree_check(tree_node*, char const*, int, char const*, tree_code) /home/dimhen/src/gcc_current/gcc/tree.h:2729 0x6789a0 cp_parser_diagnose_invalid_type_name /home/dimhen/src/gcc_current/gcc/cp/parser.c:2932 0x699cbf cp_parser_parse_and_diagnose_invalid_type_name /home/dimhen/src/gcc_current/gcc/cp/parser.c:3059 0x6a10e7 cp_parser_simple_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:11359 0x684a93 cp_parser_block_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:11287 0x6ab465 cp_parser_declaration /home/dimhen/src/gcc_current/gcc/cp/parser.c:11184 0x6aa118 cp_parser_declaration_seq_opt /home/dimhen/src/gcc_current/gcc/cp/parser.c:11070 0x6ab9b3 cp_parser_translation_unit /home/dimhen/src/gcc_current/gcc/cp/parser.c:4053 0x6ab9b3 c_parse_file() /home/dimhen/src/gcc_current/gcc/cp/parser.c:31935 0x7d6552 c_common_parse_file() /home/dimhen/src/gcc_current/gcc/c-family/c-opts.c:1122 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions. $ ~/bin/gcc_214718/bin/g++ -v Using built-in specs. COLLECT_GCC=/home/dimhen/bin/gcc_214718/bin/g++ COLLECT_LTO_WRAPPER=/home/dimhen/bin/gcc_214718/bin/../libexec/gcc/x86_64-unknown-linux-gnu/5.0.0/lto-wrapper Target: x86_64-unknown-linux-gnu Configured with: /home/dimhen/src/gcc_current/configure --prefix=/usr/local/gcc_current/ --enable-checking=yes,df,rtl,tree,fold --enable-languages=c,c++,lto --enable-plugin=yes --enable-static Thread model: posix gcc version 5.0.0 20140829 (experimental) [trunk revision 214718] (GCC)