https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65409
Bug ID: 65409
Summary: ICE in store_field
Product: gcc
Version: 4.9.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: bugs at qult dot net
Created attachment 35022
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=35022&action=edit
ICE-triggering source.
I get an ICE with the attached source, from version 4.8 on to the head of the
Git repository.
Output of Git's cc1plus:
Foo::Foo() Foo::Foo() Foo::Foo() Bar<T>::Bar(U) Bar<T>::Bar(U) [with U = Foo;
T = Foo] Bar<T>::Bar(U) [with U = Foo; T = Foo] Bar<T>::Bar(U) [with U = Foo; T
= Foo] void __static_initialization_and_destruction_0(int, int) void
_GLOBAL__sub_I_a()
Analyzing compilation unit
Performing interprocedural optimizations
<*free_lang_data> <visibility> <build_ssa_passes> <chkp_passes>
<opt_local_passes> <free-inline-summary> <whole-program> <inline>Assembling
functions:
Foo::Foo() Bar<T>::Bar(U) [with U = Foo; T = Foo]
<stdin>: In constructor ‘Bar<T>::Bar(U) [with U = Foo; T = Foo]’:
<stdin>:14:27: internal compiler error: in store_field, at expr.c:6660
0x9cf46f store_field
../../gcc/expr.c:6659
0x9d4d10 expand_assignment(tree_node*, tree_node*, bool)
../../gcc/expr.c:5000
0x8d5dee expand_call_stmt
../../gcc/cfgexpand.c:2388
0x8d5dee expand_gimple_stmt_1
../../gcc/cfgexpand.c:3334
0x8d5dee expand_gimple_stmt
../../gcc/cfgexpand.c:3488
0x8dc118 expand_gimple_basic_block
../../gcc/cfgexpand.c:5500
0x8dd9f7 execute
../../gcc/cfgexpand.c:6118
When uncommenting the commented-out fourth attribute of Foo, the ICE goes away.