https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119217
--- Comment #6 from Iain Sandoe <iains at gcc dot gnu.org> --- I notice that symbols.h (and other places) also has a lot of unconditional includes of platform headers. Not sure if/how those might conflict with the system.h approach. Not sure why <assert.h> &friends instead of <cassert> &friend if the intention is to be C++ code #include <assert.h> #include <limits.h> #include <stdint.h> #include <stdlib.h> #include <string.h> #include <algorithm> #include <list> #include <map> #include <set> #include <stack> #include <string> #include <variant> #include <vector>