https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124535
Bug ID: 124535
Summary: Unstable ICE when compiling modules with partition
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: d7d1cd at mail dot ru
Target Milestone: ---
A very brief example of reproducing the problem looks like this:
$ cat foo.ixx
module;
#include <set>
#include <sstream>
export module foo;
$ cat bar.ixx
module;
export module bar: part;
import foo;
export using B = char;
$ cat bar_part.ixx
export module bar;
export import : part;
$ cat main.cc
import bar;
int main() {}
ICE may occur when compiling the specified source files:
$ g++ -std=c++26 -fmodules foo.ixx bar_part.ixx bar.ixx main.cc
main.cc:1:16: internal compiler error: Segmentation fault
1 | import bar;
| ^
0x2385b2f internal_error(char const*, ...)
../../gcc/diagnostic-global-context.cc:787
0x10a0cbf crash_signal
../../gcc/toplev.cc:325
0x8cd3ac
module_state::read_diagnostic_classification(diagnostics::context*)
../../gcc/cp/module.cc:19276
0x8db20e module_state::read_initial(cpp_reader*)
../../gcc/cp/module.cc:21286
0x8db37b module_state::do_import(cpp_reader*, bool)
../../gcc/cp/module.cc:22433
0x8f47c1 direct_import
../../gcc/cp/module.cc:22663
0x98554f cp_parser_translation_unit
../../gcc/cp/parser.cc:5561
0x98554f c_parse_file()
../../gcc/cp/parser.cc:57475
0xab7ae1 c_common_parse_file()
../../gcc/c-family/c-opts.cc:1426
ICE does not always occur. Sometimes compilation succeeds. It cannot be
reproduced on godbolt.