https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85635

--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Those many people do build gnat.  I do it in all my bootstraps, many other
people working on gcc do.
And if you don't know how the C preprocessor works in this case, why don't you
just try that out?
#if defined (A)
int a;
#elif defined (B) || defined (C) \
      || defined (D) || defined (E)
      || defined (F)
int b;
#elif defined (G)
int c;
#else
int d;
#endif
$ gcc -P -E -DA /tmp/j.c
int a;
$ gcc -P -E -DB /tmp/j.c
      || defined (F)
int b;
This preprocesses fine, but is not valid C.
$ gcc -P -E -DG /tmp/j.c
int c;
$ gcc -P -E -DH /tmp/j.c
int d;

Reply via email to