Hi! I've been confused for some time with a compilation error that pointed to a slightly-off location. I wasn't seeing that I used a temporary variable in a constant expression. The code could be reduced to: $ cat const.c int main(void) { int x = 42; _Static_assert(0 || 7 > x, ""); } $ cc -Wall -Wextra const.c const.c: In function ‘main’: const.c:6:26: error: expression in static assertion is not constant 6 | _Static_assert(0 || 7 > x, ""); | ~~^~~~~~~~ I think the appropriate error report should point to this other point: 6 | _Static_assert(0 || 7 > x, ""); | ~~~~~~~~~^ Cheers, Alex -- GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5