On Tue, 2018-03-27 at 08:12 +0000, ??? ??????? wrote: > Hello, > > My name is Avi Owshanko. > > I'm an experienced programmer (worked for IBM-HRL GC group, and EMC- > Recoverpoint), and I wish to join in the development of GCC.
Hi Avi, welcome to GCC development! As initial projects, I consider: > > 1. Adding a virtual interface for the 'toplev' class, so no file > would include 'toplev.h' (moving toplev.c out of libcommon). > 2. Changing the lang_hooks from a C style structure to a proper > C++ virtual interface. > 3. Segregating the DWARF module, so that all calls into the module > would be done using a virtual interface. > 4. Breaking down the dwarf2out.c file (as well as doing some > cleaning up there). > > I would like to discuss the feasibility of doing such projects with > someone experienced with the GCC project. With the caveat that I'm a relative newcomer here, the above all sound like useful projects for cleaning things up for GCC 9. Hopefully, experts in the above areas can comment further. We're currently in "stage 4" of developing GCC 8, i.e. trying to focus on fixing bugs - but there's nothing to stop you cloning the git mirror and getting things ready on one or more branches. Have you read the notes here: https://gcc.gnu.org/contribute.html ? It's worth getting the legal prerequisites started ASAP to make sure we can accept your patches. For the kinds of cleanup changes you're proposing, it's worth becoming familiar with the "contrib/config-list.mk" script in the source tree - this provides a way to test that your patches build across *all* of GCC's supported configurations (sadly, the existing code overuses the preprocessor, making it fiddly to avoid breaking the build on *some* configuration). FWIW I've written some notes on getting involved in GCC development here: https://dmalcolm.fedorapeople.org/gcc/newbies-guide/index.html but it's incomplete - that said, from your list, it sounds like you're already familiar with the insides of GCC. Hope this is helpful, good luck, and welcome again! Dave