On Sun, Aug 12, 2012 at 10:04 PM, Diego Novillo <dnovi...@google.com> wrote: > I will be sending 6 patches that implement all the changes we > have been making on the cxx-conversion branch. As described in > http://gcc.gnu.org/ml/gcc/2012-08/msg00015.html, these patches > change the default bootstrap process so that stage 1 always > builds with a C++ compiler. > > Other than the bootstrap change, the patches make no functional > changes to the compiler. Everything should build as it does now > in trunk. > > I have split the merge in 6 main patches. I will send these > patches to the respective maintainers and gcc-patches. > Please remember that the patches conform to the new C++ coding > guidelines (http://gcc.gnu.org/codingconventions.html#Cxx_Conventions): > > 1- Configuration changes. > 2- Re-write of VEC. > 3- Re-write of gengtype to support C++ templates and > user-provided marking functions. > 4- New hash table class. > 5- Re-write double_int. > 6- Implement tree macros as inline functions so they can be > called from gdb. > > As discussed before, several of these patches do not fully change > the call sites to use the new APIs. We will do this change once > the branch has been merged into trunk. Otherwise, the branch > becomes a maintenance nightmare (despite not having changed many > caller sites we were already starting to run into maintenance > problems).
As I understand only 1. to 3. were kind-of required for the merge, all other changes are a bonus at this time and should be delayed IMHO (thus not merged with this batch). I also understand that you will, quickly after merging 1. to 3. convert all VEC users and remove the old interface. This should be done before any of 4. - 6. is merged as generally we don't want the "half-converted" to persist, nor have multiple such half-conversions at the same time. I also understand that the merge of 1. to 3. will be followed by the promised gengtype improvements and re-organizations. Thus, please to the first C++ things very well. Thanks, Richard. > For those who would like to build the conversion, you can either > checkout the branch from SVN > (svn://gcc.gnu.org/gcc/branches/cxx-conversion) or get the merged > trunk I have in the git repo (branch dnovillo/cxx-conversion). > > The bootstrap changes have already been tested on a wide range of > targets (http://gcc.gnu.org/wiki/CppBuildStatus). Additionally, > I have tested the merged trunk on: x86_64-unknown-linux-gnu, > mips64el-unknown-linux-gnu, powerpc64-unknown-linux-gnu, > i686-pc-linux-gnu, and ia64-unknown-linux-gnu. > > > Thanks. Diego.