This is the mail archive of the
mailing list for the GCC project.
Merging the cxx-conversion branch into trunk
- From: Diego Novillo <dnovillo at google dot com>
- To: gcc <gcc at gcc dot gnu dot org>, Lawrence Crowl <crowl at google dot com>
- Date: Thu, 02 Aug 2012 11:58:06 -0700
- Subject: Merging the cxx-conversion branch into trunk
We are about ready to have the cxx-conversion branch merged back into trunk.
This merge will change the following:
1- The compiler can only be built with a C++ compiler.
2- The tree macros can be called from gdb (when GCC is built with -g3).
3- htab and VEC have been converted to use C++ templates. The existing
API is still present as wrappers that call the new API. We will change
this after the branch is merged.
4- gengtype is now capable of supporting user-defined structure markers.
This allows users to have structures in GC memory for which gengtype
does not know how to generate marking code for.
I am currently debugging this change. After I fix the remaining PCH
failures, I will send the patch for review.
Our immediate plan after we merge the branch into trunk includes:
- Fix any failures caused by the change.
- Modifying all the user code for VEC and htab to use the new interfaces.
- Convert double_int.
- Convert cgraph.
- Convert the pass manager.
- Convert hooks.
After this round of changes, we are planning to work on more API
cleanups (e.g., adding the introspection API that would be usable for
plugins as we discussed in the Plugins BoF in Prague).
I would also like to reduce the amount of code that is being generated
by gengtype. There is a lot of boilerplate code that could be offloaded
to user-provided functions. This would reduce the number of GTY markings
that we need to support. There are other aspects of this that I will
include in the gengtype patch that I'm finishing up.
We will keep the branch alive to work on bigger scale changes that will
not be ready for this release (e.g., experimenting with gimple and tree).
I will split up the merge patch in 4 or 5 chunks to simplify reviews.
For now, we would appreciate if folks test the branch with:
$ svn co ssh://gcc.gnu.org/svn/gcc/branches/cxx-conversion
$ mkdir bld && cd bld
$ ../cxx-conversion/configure --enable-languages=all,ada,go && make
bootstrap && make check
We welcome any suggestions (and volunteers!)