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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |nshead at gcc dot gnu.org
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2025-09-09

--- Comment #2 from Nathaniel Shead <nshead at gcc dot gnu.org> ---
Confirmed.  Reduction:

  // a.cpp
  module;
  template <typename T> struct S;
  template <typename T> void foo(S<T>);
  template <typename T> struct S {
    friend void foo<>(S);
  };
  export module M;
  export using ::S;

  // b.cpp
  import M;
  template struct S<int>;
  int main() {}

$ g++ -fmodules -flto=auto a.cpp b.cpp
a.cpp:2:1: warning: global module fragment contents must be from preprocessor
inclusion [-Wglobal-module]
    2 | template <typename T> struct S;
      | ^~~~~~~~
during IPA pass: *free_lang_data
In module M, imported at b.cpp:1:
a.cpp:5:15: internal compiler error: tree check: expected template_decl, have
overload in maybe_template_info, at cp/mangle.cc:311
    5 |   friend void foo<>(S);
      |               ^~~~~
0x3dfb522 internal_error(char const*, ...)
        ../../gcc/gcc/diagnostic-global-context.cc:786
0x2306ed1 tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/gcc/tree.cc:9184
0xf5c679 tree_check(tree_node*, char const*, int, char const*, tree_code)
        ../../gcc/gcc/tree.h:3733
0x1177987 maybe_template_info
        ../../gcc/gcc/cp/mangle.cc:311
0x117a6a1 mangle_return_type_p(tree_node*)
        ../../gcc/gcc/cp/mangle.cc:853
0xfa8b87 check_abi_tags(tree_node*)
        ../../gcc/gcc/cp/class.cc:1941
0x1179f48 write_mangled_name
        ../../gcc/gcc/cp/mangle.cc:801
0x118fc0e mangle_decl_string
        ../../gcc/gcc/cp/mangle.cc:4534
0x118fc6b get_mangled_id
        ../../gcc/gcc/cp/mangle.cc:4550
0x118ffbc mangle_decl(tree_node*)
        ../../gcc/gcc/cp/mangle.cc:4588
0x22e5105 decl_assembler_name(tree_node*)
        ../../gcc/gcc/tree.cc:851
0x22e56f6 assign_assembler_name_if_needed(tree_node*)
        ../../gcc/gcc/tree.cc:967
0x3870cde free_lang_data_in_cgraph
        ../../gcc/gcc/ipa-free-lang-data.cc:1082
0x3870f35 free_lang_data
        ../../gcc/gcc/ipa-free-lang-data.cc:1127
0x38710f4 execute
        ../../gcc/gcc/ipa-free-lang-data.cc:1194
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.

Reply via email to