https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111934
Bug ID: 111934 Summary: ICE internal compiler error: in discriminator_for_local_entity, at cp/mangle.cc:2065 Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: vincenzo.innocente at cern dot ch Target Milestone: --- #ifdef ICE #include <iostream> #endif struct Me { static Me & me() { thread_local auto me = std::make_unique_ptr<Me>(); return *me; } }; int main() { return 0; } c++ -O3 -Wall -pthread ice13.cpp ice13.cpp: In static member function 'static Me& Me::me()': ice13.cpp:8:33: error: 'make_unique_ptr' is not a member of 'std' 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^~~~~~~~~~~~~~~ ice13.cpp:8:51: error: expected primary-expression before '>' token 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^ ice13.cpp:8:53: error: expected primary-expression before ')' token 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^ ====================================================================== ctest]$ c++ -O3 -Wall -pthread ice13.cpp -DICE ice13.cpp: In static member function 'static Me& Me::me()': ice13.cpp:8:33: error: 'make_unique_ptr' is not a member of 'std' 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^~~~~~~~~~~~~~~ ice13.cpp:8:51: error: expected primary-expression before '>' token 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^ ice13.cpp:8:53: error: expected primary-expression before ')' token 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^ ice13.cpp: At global scope: ice13.cpp:8:23: internal compiler error: in discriminator_for_local_entity, at cp/mangle.cc:2065 8 | thread_local auto me = std::make_unique_ptr<Me>(); | ^~ 0x7de25d discriminator_for_local_entity ../../gcc_src/gcc/cp/mangle.cc:2065 0xb92a4a write_local_name ../../gcc_src/gcc/cp/mangle.cc:2164 0xb92a4a write_name ../../gcc_src/gcc/cp/mangle.cc:1071 0xb94e46 write_encoding ../../gcc_src/gcc/cp/mangle.cc:864 0xb94f5b write_mangled_name ../../gcc_src/gcc/cp/mangle.cc:810 0xb95740 mangle_decl_string ../../gcc_src/gcc/cp/mangle.cc:4092 0xb9592a get_mangled_id ../../gcc_src/gcc/cp/mangle.cc:4113 0xb9592a mangle_decl(tree_node*) ../../gcc_src/gcc/cp/mangle.cc:4151 0x16512bd decl_assembler_name(tree_node*) ../../gcc_src/gcc/tree.cc:715 0xe4a329 symbol_table::insert_to_assembler_name_hash(symtab_node*, bool) ../../gcc_src/gcc/symtab.cc:175 0xe4a48c symbol_table::symtab_initialize_asm_name_hash() ../../gcc_src/gcc/symtab.cc:267 0xe4ae84 symbol_table::symtab_initialize_asm_name_hash() ../../gcc_src/gcc/symtab.cc:1078 0xe4ae84 symtab_node::get_for_asmname(tree_node const*) ../../gcc_src/gcc/symtab.cc:1066 0xe5fc61 handle_alias_pairs ../../gcc_src/gcc/cgraphunit.cc:1528 0xe64fa7 symbol_table::finalize_compilation_unit() ../../gcc_src/gcc/cgraphunit.cc:2541 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.