[Bug c++/108417] New: [ICE] Crash on aggregate initialization of base class
m.cencora at gmail dot com
gcc-bugzilla@gcc.gnu.org
Mon Jan 16 13:25:56 GMT 2023
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108417
Bug ID: 108417
Summary: [ICE] Crash on aggregate initialization of base class
Product: gcc
Version: 10.4.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: m.cencora at gmail dot com
Target Milestone: ---
Code below compiled on any gcc<11 crashes with following output:
during RTL pass: expand
<source>: In function 'Derived ICE_createDerived()':
<source>:37:5: internal compiler error: in assign_temp, at function.c:984
37 | };
| ^
FWIW it doesn't crash if field 'f3' is removed.
g++ -std=c++17
struct NonTrivial
{
NonTrivial() = default;
NonTrivial(const NonTrivial&);
NonTrivial& operator=(const NonTrivial&);
char* ptr = nullptr;
};
struct Base
{
int f1;
NonTrivial f2;
int f3;
};
struct Derived : Base
{
int f4;
};
Derived createDerivedOk()
{
return Derived{
Base{},
0
};
}
Base createBase();
Derived ICE_createDerived()
{
return Derived{
createBase(),
0
};
}
More information about the Gcc-bugs
mailing list