Messages in this thread | | | From | "Uecker, Martin" <> | Subject | detecting integer constant expressions in macros | Date | Tue, 20 Mar 2018 22:13:35 +0000 |
| |
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
| |