https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85850
--- Comment #4 from Jürgen Reuter <juergen.reuter at desy dot de> --- Sorry, I meant Marc, of course. Confused this was another PR. (In reply to Jürgen Reuter from comment #3) > Indeed, Janne is correct, this change in libcpp/system.h solves the problem, > i.e. moving the <new> definition up: > # diff -u system.h system.h.260425 > --- system.h 2018-05-20 23:00:01.000000000 +0200 > +++ system.h.260425 2018-05-20 22:55:27.000000000 +0200 > @@ -370,10 +370,6 @@ > #include "libiberty.h" > #include "safe-ctype.h" > > -#ifdef __cplusplus > -#include <new> > -#endif > - > /* 1 if we have C99 designated initializers. > > ??? C99 designated initializers are not supported by most C++ > @@ -442,6 +438,10 @@ > /* Some compilers do not allow the use of unsigned char in bitfields. */ > #define BOOL_BITFIELD unsigned int > > +#ifdef __cplusplus > +#include <new> > +#endif > + > /* Poison identifiers we do not want to use. */ > #if (GCC_VERSION >= 3000) > #undef calloc