[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [cdt-dev] Mixed C/C++ in MBS
|
1. Do you always want to compile source with C extensions with the C
compiler and sources with C++ extensions with the C++ compiler?
[D] Yes. g++ calls the gcc C compiler when it sees a C file anyway.
2. What about the linker to use? With mixed C/C++ is it always the C++
linker?
[D] Yes. For now the linker needs to stay as it is. Some have argued that we
should not be using the nature for this but rather a build setting, but I'm
not sure if that makes things better or just different...
3. Doug suggests that we make the C compiler "active" in a C++ project - I
assume you mean the reference Gnu tool-chains? There is nothing stopping
anyone from doing that in their own tool-chain.
[D] Of course. The setting I am talking about is on the gnu C compiler
definition. I am not proposing that we get rid of nature handling for tools.
4. What about Pete's scenario below? If the user has only C sources and
selects a C project, but is using one or more C++ libraries, will the C
linker work? If not, what can we do about this case?
[D] The C linker should work in this case. I assume that the C++ code is
wrapped with C code to provide an interface for it to be called by other C
code. Actually you can use the C linker to link C++ code as long as you have
the correct libraries on the link line (libstdc++ for example). For that
matter, linking is inherently language independent, especially if you use ld
as the linker, which is what gcc and g++ call anyway.
[D] To summarize, my proposal is to change the nature of the gnu C compiler
to be both and to change the order of the tools listed in the gnu configs to
list the C++ compiler first. That's all.
Thanks,
Doug