[Bug c++/86060] New: g++ ICE at on with "c++03" in tsubst_copy, at cp/pt.c:15459
helloqirun at gmail dot com
gcc-bugzilla@gcc.gnu.org
Tue Jun 5 19:08:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86060
Bug ID: 86060
Summary: g++ ICE at on with "c++03" in tsubst_copy, at
cp/pt.c:15459
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: helloqirun at gmail dot com
Target Milestone: ---
The trunk version g++ crashes with "-std=c++98" or "-std=c++03". The other std
flags seem working.
It seems to be a regression in 5.X. Gcc-4.9 works fine.
$ g++-trunk -v
Using built-in specs.
COLLECT_GCC=g++-trunk
COLLECT_LTO_WRAPPER=/home/absozero/trunk/root-gcc/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../gcc/configure --prefix=/home/absozero/trunk/root-gcc
--enable-languages=c,c++ --disable-werror --enable-multilib
Thread model: posix
gcc version 9.0.0 20180604 (experimental) [trunk revision 261145] (GCC)
$ g++-trunk -std=c++11 -c abc.cpp
$ g++-trunk -std=c++98 -c abc.cpp
abc.cpp: In function ‘void foo(T (&)[8])’:
abc.cpp:2:16: warning: range-based ‘for’ loops only available with -std=c++11
or -std=gnu++11
for (int i : a)
^
abc.cpp: In instantiation of ‘void foo(T (&)[8]) [with T = int]’:
abc.cpp:5:22: required from here
abc.cpp:3:5: internal compiler error: in tsubst_copy, at cp/pt.c:15459
i;
^
0x64601c tsubst_copy
../../gcc/gcc/cp/pt.c:15457
0x968c43 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
../../gcc/gcc/cp/pt.c:18862
0x974ab7 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:17415
0x9727c6 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:16616
0x97251d tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:16811
0x971bbf tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:16899
0x971517 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
../../gcc/gcc/cp/pt.c:16587
0x971517 instantiate_decl(tree_node*, bool, bool)
../../gcc/gcc/cp/pt.c:24001
0x997023 instantiate_pending_templates(int)
../../gcc/gcc/cp/pt.c:24117
0x8be968 c_parse_final_cleanups()
../../gcc/gcc/cp/decl2.c:4703
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
$ cat abc.cpp
template <typename T> void foo(T (&a)[8]) {
for (int i : a)
i;
}
void fn1() { foo<int>; }
More information about the Gcc-bugs
mailing list