This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Merge C++ conversion into trunk (0/6 - Overview)

On Sun, Aug 12, 2012 at 10:04 PM, Diego Novillo <> wrote:
> I will be sending 6 patches that implement all the changes we
> have been making on the cxx-conversion branch.  As described in
>, 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 (
> 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.


> For those who would like to build the conversion, you can either
> checkout the branch from SVN
> (svn:// 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 (  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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]