On Fri, 21 Dec 2012, Eric Botcazou wrote: > > This runs into issues with Ada which basically does (ugh) > > > > #ifdef __cplusplus > > extern "C" { > > #endif > > > > #include "system.h" > > > > #endif __cplusplus > > } > > #endif > > > > which of course wrecks any system header doing __cplusplus > > conditional stuff (such as gmp.h including iosfwd). The patch > > un-kludges this by wrapping system.h inside extern "C++" when > > compiling with the C++ frontend. > > > > But - really - Ada people - can you fix that on your side please? > > (CCed people doing r176210) > > Like so? I cannot believe that all this fuss was about moving 3 lines within > less than a dozen of files...
The patch looks fine to me (though it's not 100% obvious to me as not only system headers are now no longer in extern "C" - which is why I simply tried the un-wrapping). So, if you think that's ok please commit it. It certainly helps not to rely on compilers handling nested extern "foo" correctly ... Thanks, Richard.