https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116568

            Bug ID: 116568
           Summary: [modules] ICE when exporting template using of
                    unevaluated lambda in key_mergeable
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nshead at gcc dot gnu.org
            Blocks: 103524
  Target Milestone: ---

The following code:

  export module a;
  template <typename> struct Foo {
    template <typename> using Bar = decltype([]{});
  };
  using Qux = Foo<int>::Bar<int>;

'g++-15 -fmodules-ts -std=c++20 a.cpp' gives:

a.cpp:1:8: internal compiler error: Segmentation fault
    1 | export module a;
      |        ^~~~~~
0x3a9d530 internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:492
0x1c2d5cc crash_signal
        ../../gcc/gcc/toplev.cc:321
0x7ffb54f4351f ???
        ./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0x1083918 key_mergeable
        ../../gcc/gcc/cp/module.cc:10946
0x107440b decl_value
        ../../gcc/gcc/cp/module.cc:7943
0x109260e depset::hash::find_dependencies(module_state*)
        ../../gcc/gcc/cp/module.cc:13724
0x10a0f86 module_state::write_begin(elf_out*, cpp_reader*,
module_state_config&, unsigned int&)
        ../../gcc/gcc/cp/module.cc:18400
0x10a8b35 finish_module_processing(cpp_reader*)
        ../../gcc/gcc/cp/module.cc:20890
0xfcc042 c_parse_final_cleanups()
        ../../gcc/gcc/cp/decl2.cc:5541
0x139690e c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.cc:1333
Please submit a full bug report, with preprocessed source (by using
-freport-bug).
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.


Referenced Bugs:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103524
[Bug 103524] [meta-bug] modules issue

Reply via email to