https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78581
Heiko Eißfeldt <heiko at hexco dot de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |heiko at hexco dot de --- Comment #2 from Heiko Eißfeldt <heiko at hexco dot de> --- I can reproduce this with cpp 6.3.0 on Ubuntu 17.04 amd64. No environment variable setting is necessary. And if I simplify your test case "a" to #include "b" #if 0 #endif cpp does not see the '#if 0': ======= cpp -traditional-cpp -ffreestanding -P issues/a f issues/a:3:0: error: #endif without #if #endif #if 0 ======= So, it could have something to do with misparsing at the end of "b". Fascinating...