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

Reply via email to