https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115798
Bug ID: 115798 Summary: [15 Regression][modules] ICE when re-exporting a type exported from base module's GMF Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: m.cencora at gmail dot com Target Milestone: --- $ cat base.cpp module; #include <cstdint> export module base; export { using ::int8_t; } export namespace std { using std::int8_t; } $ cat std.cpp export module std; import base; export namespace std { using std::int8_t; } $ cat main.cpp import std; import base; int main() { static_assert(__is_same(int8_t, std::int8_t)); } $ /opt/gcc-latest/bin/g++ -fmodules-ts base.cpp std.cpp main.cpp std.cpp:7:16: error: ‘typedef __int8_t@base int8_t@base’ conflicts with a previous declaration 7 | using std::int8_t; | ^~~~~~ ‘ ‘lang_*’ check: failed in dump_decl, at cp/error.cc:1424 0x79134c lang_check_failed(char const*, int, char const*) ../../gcc/cp/tree.cc:6306 0x9d4d76 dump_decl ../../gcc/cp/error.cc:1424 0x9e01ce decl_to_string ../../gcc/cp/error.cc:3324 0x9e01ce cp_printer ../../gcc/cp/error.cc:4497 0x2707ba2 pretty_printer::format(text_info*, urlifier const*) ../../gcc/pretty-print.cc:1776 0x26d59dd pp_format(pretty_printer*, text_info*, urlifier const*) ../../gcc/pretty-print.h:575 0x26d59dd diagnostic_context::report_diagnostic(diagnostic_info*) ../../gcc/diagnostic.cc:1488 0x26d5ce6 diagnostic_impl ../../gcc/diagnostic.cc:1651 0x26d92bd inform(unsigned int, char const*, ...) ../../gcc/diagnostic.cc:1742 0xa80b2b do_nonmember_using_decl ../../gcc/cp/name-lookup.cc:5311 0xa96fb7 finish_nonmember_using_decl(tree_node*, tree_node*) ../../gcc/cp/name-lookup.cc:6695 0xa9d394 finish_using_decl ../../gcc/cp/parser.cc:22388 0xafaf23 cp_parser_using_declaration ../../gcc/cp/parser.cc:22552 0xb01c00 cp_parser_declaration ../../gcc/cp/parser.cc:15715 0xb013e7 cp_parser_declaration_seq_opt ../../gcc/cp/parser.cc:15449 0xb0168c cp_parser_namespace_body ../../gcc/cp/parser.cc:22297 0xb0168c cp_parser_namespace_definition ../../gcc/cp/parser.cc:22275 0xb019a0 cp_parser_declaration ../../gcc/cp/parser.cc:15699 0xb01b99 cp_parser_module_export ../../gcc/cp/parser.cc:15355 0xb01b99 cp_parser_declaration ../../gcc/cp/parser.cc:15655 Works fine on gcc-14