https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113292
Bug ID: 113292 Summary: [modules] internal error when compiling header to module containing static thread_local variable Product: gcc Version: 13.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: nov.ondrej at gmail dot com Target Milestone: --- may be similar to #99187 you can also see here : https://godbolt.org/z/o4Kf8ed85 class test { static const test &get_instance() { return instance; } static thread_local test instance; }; Compile with :-std=c++20 -fmodules-ts -x c++-header internal compiler error: in tree_node, at cp/module.cc:9264 0x263852c internal_error(char const*, ...) ???:0 0xa4edb5 fancy_abort(char const*, int, char const*) ???:0 0xbbf621 trees_out::core_vals(tree_node*) ???:0 0xbc1ef8 trees_out::tree_value(tree_node*) ???:0 0xbbea88 trees_out::tree_node(tree_node*) ???:0 ... The error appears, when function is reading static thread_local variable Ondrej