https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83730
--- Comment #6 from Wilhelm M <klaus.doldinger64 at googlemail dot com> ---
This is still true for local statics as shown below:
// Test für guard variable
struct A {
inline A(int v = 0) {} // without user-defined ctors, guards are omitted
int m1() const {
return m;
}
private:
int m = 0;
};
//namespace { // without anon-ns guards, are generated
template<typename T>
struct X {
static int foo() {
static T m; // even as local-static and -fno-threadsafe-statics,
guards are generated
return m.m1();
}
// inline static T m;
};
//}
int main() {
return X<A>::foo();
}