ludovic.cour...@inria.fr (Ludovic Courtès) writes: > Ian Lance Taylor <i...@google.com> skribis: > >> ludovic.cour...@inria.fr (Ludovic Courtès) writes: >> >>> Ian Lance Taylor <i...@google.com> skribis: >>> >>>> ludovic.cour...@inria.fr (Ludovic Courtès) writes: >>>> >>>>> However, this means that plug-ins must now be built with g++, except >>>>> when GCC was configured with --disable-build-poststage1-with-cxx. This >>>>> seems difficult to deal with, for plug-in writers. >>>> >>>> This is an unfortunate truth during our transition to building gcc with >>>> C++. There is going to be a period of time when the compiler may be >>>> built as either C or C++. The end goal is for the compiler to always be >>>> built with C++, but until we reach that state I think plugin writers >>>> will have to test. >>> >>> What about wrapping the C API in extern "C"? >> >> We eventually will want the internal APIs to be C++, so this transition >> will inevitably happen at some point. > > I understand the goal. However, should a C++ API be added, the C-only > part could still be kept extern "C".
We are talking here about internal GCC functions. We are not talking about an actual defined API. The defined API is in plugin-api.h, and that remains extern "C". There is no "C-only part" of the internal API. > For 4.7.0, as Duncan Sands writes, it would be a very helpful for the > ABI to be independent of configuration options–i.e., either mangled or > unmangled symbols. That just postpones the pain to gcc 4.8.0. Ian