https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85211
Bug ID: 85211 Summary: -isystem automatically adds extern "C" to includes Product: gcc Version: 7.3.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: preprocessor Assignee: unassigned at gcc dot gnu.org Reporter: blastrock at free dot fr Target Milestone: --- This is a very old problem documented in GCC 6: https://gcc.gnu.org/onlinedocs/gcc-6.4.0/cpp/System-Headers.html#System-Headers (see the last paragraph) However that part was removed from the documentation in GCC 7: https://gcc.gnu.org/onlinedocs/gcc-7.3.0/cpp/System-Headers.html#System-Headers I would suggest putting it back since that legacy behavior is still present. Also, it would be nice to have a documented way to opt out from it. If it is of any importance, I have that problem with the g++ compiled in the vitasdk ( https://github.com/vitasdk/autobuilds/releases/download/master-linux-v771/vitasdk-x86_64-linux-gnu-2018-04-02_17-48-36.tar.bz2 ) that should have been built with the following script: https://github.com/vitasdk/buildscripts/blob/master/CMakeLists.txt . The target arch is arm-vita-eabi.