This is the mail archive of the
mailing list for the GCC project.
Re: GCC 4.7.0RC: Mangled names in cc1
I believe this is not intentional, right?
No, this is intentional. We bootstrap the compiler using the C++
front-end now. We build stage1 with the C compiler and then build
stages 2 and 3 with the C++ compiler.
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.
Iâm really concerned about the maintenance difficulties that this change
entails for external plug-ins.
does this mean that if built with --disable-bootstrap then symbols aren't
mangled, while otherwise they are? I personally don't mind if symbols are
mangled or not, but it would be simpler if symbols can be relied upon to always
be mangled, or always not be mangled...
I guess I could work around it by detecting at build time whether the targeted
gcc has mangled symbols, and using extern "C" only if not mangled. It would
help if there was a simple way to ask gcc if it is using mangled symbols or not.