https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64883
--- Comment #16 from Iain Sandoe <iains at gcc dot gnu.org> --- yeah, the header list I've used is excessive. I made test for obj-c++ recently that includes all the headers mentioned in n4296 Section 17.6.1.1 the following: $ g++ /GCC/gcc-trunk/gcc/testsuite/obj-c++.dg/standard-headers.mm -H 2>&1 | grep usr/include |sed s,^\[\.\]\*\ ,, |sort -u should be enough to identify all system headers included directly or indirectly by that list. I suppose we need only to apply fixincludes to them. Perhaps there's a better check .. (and my fixincludes-fu is ~0, so some review would be needed there).