Ian Lance Taylor wrote:
gnatbind -C appears to be used when bootstrapping gcc to generate .c
files. With --enable-build-with-cxx, those .c files will be compiled
with a C++ compiler. The symbols emitted by that compilation need to be
linkable with the symbols emitted when compiling Ada code, so the .c
files need extern "C" to avoid C++ mangling.
Or at least so it seems to me. I may be missing some key step.
No, I think that analysis is correct. I agree that if we can make
the gnatbind output C++ compatible (remembering that it must be
strictly standard, you cannot assume that gcc will be used to
compile it!) easily, we may as well do so.
I am not clear why we have to use gnatbind -C in the build context,
but in any case, let's fix this if it is easy to do so.
Ian