Both gcc and clang seem to silently discard /usr/include from the list of include directories when explicitly included via -I. Is there a specific reason as to why common compilers apparently don't allow to include the system's include dir?
background:
Suppose you depend on a header file located in /usr/include while having inherited a directory containing an incompatible version of the same header from your build system via the CPATH environment variable (effectively appending that directory to the -I list from the right).