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.