https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65345
--- Comment #6 from Marek Polacek <mpolacek at gcc dot gnu.org> --- FWIW, my testcase was /* PR c/65345 */ /* { dg-do compile } */ /* { dg-options "" } */ _Atomic int i = 3; int g1 = sizeof (i + 1) + sizeof (-i); int g2 = __builtin_constant_p (i + 1); int g3 = 0 && i; int g4 = 0 || i; /* { dg-error "initializer element is not constant" } */ int g5 = i; /* { dg-error "initializer element is not constant" } */ int g6[i]; /* { dg-error "variably modified" } */ int g7 = (i ? 1 : 2); /* { dg-error "initializer element is not constant" } */ int g8 = _Alignof (-i); _Atomic long g10 = i; /* { dg-error "initializer element is not constant" } */ _Static_assert (_Generic (i, int: 1, default: 0) == 1, ""); _Static_assert (_Generic (i + 1, int: 1, default: 0) == 1, ""); void foo (void) { static int q1 = sizeof (i + 1) + sizeof (-i); static int q2 = __builtin_constant_p (i + 1); static int q3 = 0 && i; static int q4 = 0 || i; /* { dg-error "initializer element is not constant" } */ static int q5 = i; /* { dg-error "initializer element is not constant" } */ static int q6[i]; /* { dg-error "storage size" } */ static int q7 = (i ? 1 : 2); /* { dg-error "initializer element is not constant" } */ static int q8 = _Alignof (-i); }