#if inside macro call is undefined behaviour under the C standard (3.8.3 paragraph 10 for C90, 6.8.10 paragraph 11 for C99). The same effect can be achieved with a slightly more verbose construct, putting the whole macro call inside the #ifdef/#else/#endif.
12 KiB
12 KiB