#include #define __builtin_constant_p(x) _Generic((1 ? ((void*)((x)*(uintptr_t)0)) : &(int){1}), int*: 1, void*: 0) #define test(e) printf("%d\n", __builtin_constant_p(e)); #define ERROR 1 int main(void) { int v = 1; test(v); test(ERROR); test(1); return 0; }