https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105322
Bug ID: 105322
Summary: [modules] ICE with constexpr object of local class
type from another function
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: ppalka at gcc dot gnu.org
Target Milestone: ---
Reduced from PR105297:
$ cat 105297.C
constexpr auto foo() {
struct S { int d; };
return S{0};
}
inline void bar() {
constexpr auto t = foo();
}
$ g++ -fmodules-ts 105297.C
105297.C: internal compiler error: in insert, at cp/module.cc:4800
0x6da0fd trees_out::insert(tree_node*, walk_kind)
/home/patrick/code/gcc/gcc/cp/module.cc:4800
0xa8a4ea trees_out::decl_node(tree_node*, walk_kind)
/home/patrick/code/gcc/gcc/cp/module.cc:8367
0xa8acf2 trees_out::tree_node(tree_node*)
/home/patrick/code/gcc/gcc/cp/module.cc:9102
0xa8bff1 trees_out::core_vals(tree_node*)
/home/patrick/code/gcc/gcc/cp/module.cc:6090
0xa8eb54 trees_out::tree_node_vals(tree_node*)
/home/patrick/code/gcc/gcc/cp/module.cc:7072
0xa8eb54 trees_out::tree_value(tree_node*)
/home/patrick/code/gcc/gcc/cp/module.cc:8909
0xa8ab54 trees_out::tree_node(tree_node*)
/home/patrick/code/gcc/gcc/cp/module.cc:9107
0xa8b84f trees_out::core_vals(tree_node*)
/home/patrick/code/gcc/gcc/cp/module.cc:6003