The GCC initiative to convert more of the code-base from C to C++ as the implementation language for this leading open-source compiler is nearing fruition. On Sunday, Google's Diego Novillo published a set of GCC patches for merging the C++ conversion into trunk.
The set of six patches so far implement the changes made within GCC's cxx-conversion branch and change the default boot-strap process so that stage one of the compiler build always happens with a C++ compiler. It's possible the cxx-conversion branch could be merged for GCC 4.8
, which will be released in 2013. Back in April I wrote about the aim for the C++ switch being GCC 4.8
The patches published on Sunday are currently floating on the gcc-patches mailing list
As far as why the GCC code-base is being converted to C++, see the cxx-conversion Wiki page
. The rationale for migrating the GNU Compiler Collection to C++ comes down to C++ is standardized and popular, is nearly a super-set of C90 currently used in GCC, the C subset of C++ is just as efficient as C, C++ supports cleaner code, C++ makes it easier to write and enforce cleaner interfaces, C++ never requires uglier code, and C++ is not a panacea but is seen as an improvement.