https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90907
Fujimoto Seiji <fujim...@clear-code.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|INVALID |FIXED --- Comment #2 from Fujimoto Seiji <fujim...@clear-code.com> --- I can follow your reasoning, but as far as I can tell Clang can handle it without any problem (storing only `x` in .tbss section). $ clang foo.c $ ./a.out && echo $? 0 Also as a practical matter, it's not really unintuitive for users why __thread keyword should affect asm() right after the line.