https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83568

--- Comment #1 from Kan Wang <tinrow at gmail dot com> ---
Sorry for wrong paste, the code should be

#include <iostream>
bool initialized = false;

int init() {
    initialized = true;
    return 1;
}

struct A {
    static thread_local int foo;
};

thread_local int A::foo { init() };

int main() {
    A a;
    std::cout << a.foo << std::endl;
    std::cout << (initialized ? "ok" : "bug" ) << std::endl;
    std::cout << A::foo << std::endl;
    return 0;
}


Output:
0
bug
1

Reply via email to