https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93506
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- P.S. the name -fsystem-headers was chosen to mirror -Wsystem-headers because those two options would interact. Marking a dir with -fsystem-headers would cause warnings to be suppressed for headers in that path, -Wsystem-headers would re-enable those warnings. Another advantage of a separate option is that it could appear anywhere on the command line, order wouldn't matter (whereas order of -I options is obviously significant). That would allow makefiles to have something like: ifeq(CC,gcc) GCC_SPECIFIC_CPPFLAGS := -fsystem-headers=/dir/one -fsystem-headers=/dir/three endif CPPFLAGS := -I /dir/one -I /dir/two -I /dir/three $(GCC_SPECIFIC_CPPFLAGS) If the feature was available via a new -Isystem flag you'd need to do something like this to preserve order: I_ := -I ifeq(CC,gcc) I_ := -Isystem endif CPPFLAGS := $(I_) /dir/one -I /dir/two $(I_) /dir/three