On 11/06/2013 12:31 PM, Richard Biener wrote: > That I agree to. Instead of fixing the less than optimal separation / > boundary > between frontends and the middle-end, or fixing several other long-standing > issues with GCC we spend a lot of time refactoring things to be C++. > But that was kind of part of the decision (though I remember that we > mainly wanted to convert containters and isolated stuff, not gimple > or trees (I bet that'll be next)).
What I seem to remember is being told that we'd use C++ mostly for new code and not engage in a wholesale rewrite of the compiler. Instead things happened exactly as predicted, we're getting immense amounts of churn for little real gain, and in some cases the C++ changes are not even improvements and look like really strange examples of C++ code. I'll offer as evidence the pass manager with its bizarre has_gate and has_execute variables, member functions for gate and execute wrapping non-member functions, and a separate pass_data outside of its class (not even as a static member). Now that the question of what would happen after a C++ conversion is no longer theoretical but has been answered, can we maybe just stop and think for a while whether this is really the way we should be going? Bernd