On Thu, Jun 3, 2010 at 12:51 PM, Robert Dewar <de...@adacore.com> wrote: > Steven Bosscher wrote: > >> Indeed. It is, well, perhaps not surprising, but quite annoying (to me >> at least) that a possible move to C++ as implementation language of >> GCC is so much bigger news than all the amazing amounts of work done >> in the last few years on things like LTO, the vectorizer, IRA, etc... > > And indeed you have to worry a bit that productive work on critical > areas like this may be siphoned off developing, reviewing and testing > changes from C to C++ whose benefit may often be much less than the > work involved in doing them. > > Redoing working code in language A into language B is always a bit > dubious. I would be very cautious and judicious in allowing changes > to existing working code. New stuff is a different matter, and where > there is an argument in any case for reengineering it may make sense.
Indeed ;) I'd like us to switch to the C / C++ common soon (thus, use C for stage1 and C++ for stage2 and stage3). That will help us sort out problems on the various host/target combinations that will surely exist. Then wait for this special very-nice-and-we-definitely-want-to-have-it patch that requires C++. And only then switch to C++. (you could argue that we can as well use C++ for stage1 and C for stage2 and stage3, that would work for me as well but would for example not allow starting to use C++ in the Java frontend only). With all this discussion I am more and more back-pedaling on the conversion to C++ - there is very much cleanup work to do inside GCC that does not require or benefit from C++. I'd not like to see people jumping on the let's convert GCC to C++ wagon leaving all the obvious existing problems unaddressed. We do not have an implementation language problem - we do have many others. Oh, I do like C++ and I can see some cases where ongoing cleanup might benefit a tiny bit from using C++ - mostly syntactic sugar-wise. But GCC will continue to exist even if we cannot use the STL for GCC 4.6. Richard.