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

Nathaniel Shead <nshead at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2025-03-09
             Status|UNCONFIRMED                 |NEW

--- Comment #9 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Confirmed.  Further reduced:

  // a.cpp
  export module foo;
  extern "C++" inline __attribute__((__gnu_inline__)) void bar() {}

  // b.cpp
  void bar();
  import foo;

g++ -fmodules -fno-module-lazy -S a.cpp b.cpp

b.cpp:2:12: internal compiler error: in import_export_decl, at cp/decl2.cc:3561
    2 | import foo;
      |            ^
0x3cab7bf internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:517
0x3c76b30 fancy_abort(char const*, int, char const*)
        ../../gcc/gcc/diagnostic.cc:1722
0x105652e import_export_decl(tree_node*)
        ../../gcc/gcc/cp/decl2.cc:3561
0x105edfd c_parse_final_cleanups()
        ../../gcc/gcc/cp/decl2.cc:5692
0x145346b c_common_parse_file()
        ../../gcc/gcc/c-family/c-opts.cc:1397
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.

Worth noting that mixing flags between consumers and producers of modules is
likely to cause havoc in general... this isn't well tested at all yet.

Reply via email to