https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107794
--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- "linux" is a predefined macro. Compile with -std=c17 instead of the default -std=gnu17 to disable that. See https://gcc.gnu.org/onlinedocs/cpp/System-specific-Predefined-Macros.html