detecting integer constant expressions in macros
From: Uecker, Martin
Date: Tue Mar 20 2018 - 18:19:09 EST
Hi Linus,
here is an idea:
a test for integer constant expressions which returns an
integer constant expression itself which should be suitable
forÂpassing to __builtin_choose_expr might be:
#define ICE_P(x) (sizeof(int) == sizeof(*(1 ? ((void*)((x) * 0l)) :
(int*)1)))
This also does not evaluate x itself on gcc although this is
not guaranteed by the standard. (And I haven't tried any older
gcc.)
Best,
Martin