https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80378
--- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> --- This sounds like a separate problem that is solvable via __builtin_constant_p? For example: void link_error(void) __attribute__((error("size check failed"))); if (__builtin_constant_p(size) && size-0ul >= MAX_ALLOC_SIZE) link_error();