https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99613
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Known to fail| |10.2.1 Keywords| |wrong-code Ever confirmed|0 |1 Last reconfirmed| |2021-03-16 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. ;; Function S& foo() (_Z3foov) ;; enabled by -tree-original { static struct S s; static struct S s; if (<<cleanup_point __atomic_load_1 (&_ZGVZ3foovE1s, 2) == 0>>) { if (<<cleanup_point __cxa_guard_acquire (&_ZGVZ3foovE1s) != 0>>) { <<cleanup_point <<< Unknown tree: expr_stmt TARGET_EXPR <D.2361, 0>;, S::S (&s);;, D.2361 = 1;;, __cxa_guard_release (&_ZGVZ3foovE1s);;, __cxa_atexit ((void (*<Tf1>) (void *)) __dt_comp , (void *) &s, (void *) &__dso_handle); >>>>>; } } return <retval> = (struct S &) &s; }