On Wed, Apr 11, 2012 at 02:45:55AM -0500, Gabriel Dos Reis wrote: > On Wed, Apr 11, 2012 at 2:01 AM, Jakub Jelinek <ja...@redhat.com> wrote: > > On Wed, Apr 11, 2012 at 01:27:29AM +0200, Eric Botcazou wrote: > >> > In the short term, a partial conversion to C++ gains us nothing. Even > >> > ignoring the bugs inevitably caused by any such project, we'll end up > >> > with a strange mish-mash of styles for a very long time, which instead > >> > of helping anyone can only lead to confusion. I don't see anyone > >> > committing to invest the time in converting even an entire subsystem let > >> > alone the whole compiler. Maybe a subsystem conversion would be a good > >> > thing to try on a branch and then present the results to the community > >> > for evaluation. This would be better than lowering the barrier now for > >> > all sorts of random but uncoordinated conversion efforts. > >> > >> IMO the killer conversion would be vec.[ch], which is a very clever piece > >> of > >> code but is almost impossible to use without copy-and-pasting existing > >> cases. > >> I think that a proper C++ implementation would be a very convincing > >> argument. > > > > But IMHO not sufficient for a switch. The GCC C++ proponents should do more > > on a branch to convince. Yes, the syntactic suger for vec.h isn't very > > nice, but the actual implementation is very clever and heavily tuned for > > GCC's needs; if we convert to C++ just because of vec.[ch], we open > > ourselves to what is being discussed in this thread, people who would like > > to turn GCC codebase into yet another LLVM, which not everybody finds > > actually very readable and maintainable code, would start doing so. > > I have been having difficulty following the twists and the turns and > the goal post moving. > Are you essentially requiring to see GCC rewritten in C++ before we > switch to C++?
No, but I'd like to see more than just vec.[ch] conversion alone and see what benefits it actually brings to GCC if any with real numbers of what it means to compile time, compilation memory usage, etc. Jakub