https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66172
--- Comment #3 from Marc Singer <eleventen at gmail dot com> --- I've come to the same conclusion. My hope was that I could eliminate the guard and force the compiler to initialize block scoped statics at the start of execution. It looks like the standard stands in the way of this simplification.