https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85635
--- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- No, for non-BSD the preprocessor sees: #elif defined (__FreeBSD__) || defined (__DragonFly__) \ || defined (__NetBSD__) || defined (__OpenBSD__) and if not one of these 4, it skips all the tokens until the next #elif, so the || defined (__QNX__) tokens are skipped too. Several linux targets are tested daily by many people, if Ada would not bootstrap, it wouldn't go unnoticed.