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