https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108080
Matthias Klose <doko at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |doko at gcc dot gnu.org --- Comment #3 from Matthias Klose <doko at gcc dot gnu.org> --- seen with trunk 20230718: $ cat foo.ii module; # 1 "" 1 3 namespace std { template <typename> struct hash; } typedef long unsigned size_t; namespace std { template <typename, typename> struct pair { int second; template <typename..., size_t, typename..., size_t> constexpr pair(); }; template <typename _T1, typename _T2> void operator>(pair<_T1, _T2>, pair<_T1, _T2>); template <typename> struct __new_allocator { allocate___n() { allocate___n > this; } }; template <typename _Tp> using __allocator_base = __new_allocator<_Tp>; template <typename> struct allocator : __allocator_base<int> { __attribute__allocator() {} }; template class allocator<wchar_t>; template <size_t> struct array; void get(array<1>); template <class _T1, class _T2> template <typename..., size_t, typename..., size_t> constexpr pair<_T1, _T2>::pair() : second(get) {} struct vector { friend hash<vector>; }; void swap(vector); template <typename> struct __uniq_ptr_impl { swap() { std::swap; } }; template <typename = int> struct unique_ptr { __uniq_ptr_impl<int> pointer; }; struct shared_ptr { operator=(unique_ptr<>); }; struct __shared_ptr { friend shared_ptr; }; void operator==(__shared_ptr, __shared_ptr); template <unsigned long> struct array { size() { size == 0; } }; } // namespace std #pragma GCC optimize "" namespace std { struct id { friend operator>(id, id); }; struct hash<id>; } // namespace std # 7 "" 2 export module spdlog_wrapper; $ /usr/lib/gcc-snapshot/bin/g++ -std=c++20 -fmodules-ts -Wall -c foo.ii foo.ii:7:8: internal compiler error: in core_vals, at cp/module.cc:6262 7 | namespace std { | ^~~~~~ 0x11e5613 trees_out::core_vals(tree_node*) ../../src/gcc/cp/module.cc:6262 0x11e6353 trees_out::tree_node_vals(tree_node*) ../../src/gcc/cp/module.cc:7218 0x11ec349 trees_out::tree_value(tree_node*) ../../src/gcc/cp/module.cc:9083 0x11e8faf trees_out::tree_node(tree_node*) ../../src/gcc/cp/module.cc:9281 0x11e59be trees_out::core_vals(tree_node*) ../../src/gcc/cp/module.cc:6171 0x11e6353 trees_out::tree_node_vals(tree_node*) ../../src/gcc/cp/module.cc:7218 0x11e6cb7 trees_out::decl_value(tree_node*, depset*) ../../src/gcc/cp/module.cc:7797 0x11ee50d depset::hash::find_dependencies(module_state*) ../../src/gcc/cp/module.cc:13328 0x11eea54 module_state::write_begin(elf_out*, cpp_reader*, module_state_config&, unsigned int&) ../../src/gcc/cp/module.cc:17895 0x79f4e7 finish_module_processing(cpp_reader*) ../../src/gcc/cp/module.cc:20237 0x1bc5fd5 c_parse_final_cleanups() ../../src/gcc/cp/decl2.cc:5184 0x21034b1 c_common_parse_file() ../../src/gcc/c-family/c-opts.cc:1274 Please submit a full bug report, with preprocessed source (by using -freport-bug). Please include the complete backtrace with any bug report.