On 30 October 2012 00:30, Perry Smith wrote: > > On Oct 29, 2012, at 1:47 PM, Jonathan Wakely wrote: > >> It compiles fine with gcc if you put it in a file that ends in .cc or >> .C or .cpp or any of the other extensions that tell gcc to run the >> cc1plus compiler. Please read >> http://gcc.gnu.org/onlinedocs/gcc/Invoking-G_002b_002b.html > > I didn't see this before... but I'm still not clear why the distinction is > important to you.
I dunno, I just find it helps to be accurate and precise about what you mean, especially if you're proposing changes to an important project like GCC. > cc1plus is needed. So, gcc can call cc1plus. What can't I use the term > "g++" for that path? Isn't that how people think of it? How is the fact > that gcc can call cc1plus really significantly important? We all know that > gcc and g++ are just front ends. Good, I'm glad you know that. Claiming your C++ code couldn't be compiled by gcc implied otherwise. It is significant, because if your changes were in libstdc++.so then they could not be used when compiling C++ code with 'gcc' unless linking to -lstdc++, which would be a change in behaviour and a regression. > Also, in my original implementation, the new code does get put into both > libsupc++ and libstdc++. It appeared to me that libsupc++ is a proper subset > of libstdc++. In fact, this link is where I got that idea from: > > http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.what_is_libsupcxx > > Note also that __cxa_guard_* is in the libsupc++ and libstdc++ libraries as > well (and not libgcc). Here is the nm output of the libraries after my > additions: Good, so it's in the right place, *not* in libstdc++. If you had said you'd put it in libsupc++ not libstdc++ you could have saved a lot of time, instead of claiming that putting it in the right place was splitting hairs.