https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53769
--- Comment #8 from Vincent Lefèvre <vincent-gcc at vinc17 dot net> --- (In reply to Florian Weimer from comment #7) > Furthermore, if I don't misread the standard, the expectation is that if an > implementation does not support threads, it still recognizes _Thread_local > and mostly ignores it, I suppose that the goal is to be able to compile multithread-aware programs on platforms that do not support threads. Since there is only one thread, thread storage duration is equivalent to static storage duration. > so that it is available even if __STDC_NO_THREADS__ > is not defined. (Which is of course rather dodgy if you need to conform to > an existing ABI for thread-local variables, so I think the committee made a > mistake here.) The ABI is out of the scope of the standard, so that I don't see any issue here. The conformance to the existing ABI is something above the standard.