> #if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE) > #define A(a) (1 << CGEN_HW_##a) > #else > #define A(a) (1 << CGEN_HW_/**/a) > #endif That works too, but it kinda scares me having -DPROFILE=1 and A(PROFILE) in the same sources and not expecting them to conflict.