// B_a.ii template<typename _T1> struct pair { inline void Frob (); };
// B_b.ii import "./B_a.ii"
template<class _T1> inline void pair<_T1>::Frob() { }
./cc1plus -quiet -std=c++20 -fmodule-header -fpreprocessed B_a.ii && ./cc1plus -quiet -std=c++20 -fmodule-header -fpreprocessed B_b.ii B_b.ii:1: internal compiler error: in make_dependency, at cp/module.cc:12523 1 | import "./B_a.ii" [[__translated]]; | 0xcd61da depset::hash::make_dependency(tree_node*, depset::entity_kind) ../../../src/gcc/cp/module.cc:12523 0xcd7f54 depset::hash::add_class_entities(vec<tree_node*, va_gc, vl_embed>*) ../../../src/gcc/cp/module.cc:12942 0xce60bb module_state::write(elf_out*, cpp_reader*) ../../../src/gcc/cp/module.cc:17604
The module flags on the TEMPLATE_DECL do not match those of the DECL_TEMPLATE_RESULT.
// B_a.ii
template<typename _T1>
struct pair
{
inline void Frob ();
};
// B_b.ii
import "./B_a.ii"
template<class _T1>
inline void pair<_T1>::Frob()
{ }
./cc1plus -quiet -std=c++20 -fmodule-header -fpreprocessed B_a.ii && ./cc1plus -quiet -std=c++20 -fmodule-header -fpreprocessed B_b.ii :hash:: make_dependency (tree_node* , depset: :entity_ kind) ../src/ gcc/cp/ module. cc:12523 :hash:: add_class_ entities( vec<tree_ node*, va_gc, vl_embed>*) ../src/ gcc/cp/ module. cc:12942 state:: write(elf_ out*, cpp_reader*) ../src/ gcc/cp/ module. cc:17604
B_b.ii:1: internal compiler error: in make_dependency, at cp/module.cc:12523
1 | import "./B_a.ii" [[__translated]];
|
0xcd61da depset:
../../
0xcd7f54 depset:
../../
0xce60bb module_
../../
The module flags on the TEMPLATE_DECL do not match those of the DECL_TEMPLATE_ RESULT.