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

Reply via email to