https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114484
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- But <xmmintrin.h> is not a standard C++ header, there's no guarantee it doesn't include <stdlib.h> (or any other header). For the specific case of <cstdlib>, you know that includes <stdlib.h> and always adds abs(int) to the global namespace, right? It's actually a bug that <cstdlib> doesn't always add abs(long) and abs(long long) to the global namespace too, see PR 89855. The standard says <cstdlib> might add the names to the global namespace, so you seem to be asking for something that is not required by the standard, and very difficult to implement (without replacing all libc headers).