This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC 5 & modularity
- From: Peter Dolding <oiaohm at gmail dot com>
- To: Basile Starynkevitch <basile at starynkevitch dot net>
- Cc: joseph at codesourcery dot com, dnovillo at google dot com, gcc at gcc dot gnu dot org
- Date: Wed, 21 Mar 2012 19:36:46 +1000
- Subject: Re: GCC 5 & modularity
- References: <CANA3KFXqHAjXPi3VMuGSgk6TB1RdDfgEH4VkWUSf+uo2BZDScA@mail.gmail.com> <20120320070330.5a4b62206de0b713be1ee4fb@starynkevitch.net> <CANA3KFXh=uyjfkRiakYpgFVHTpyYB02w4PFXX1syyAE-ZJvRkA@mail.gmail.com> <20120320184724.d6356912654d810305679ebb@starynkevitch.net>
On Wed, Mar 21, 2012 at 3:47 AM, Basile Starynkevitch
<basile@starynkevitch.net> wrote:
> On Tue, 20 Mar 2012 18:39:40 +1000
> Peter Dolding <oiaohm@gmail.com> wrote:
>>
>> The top level modules already exist and are named.
>
>
> Not really. I see nowhere on the GCC site a picture as clear as
> the "plateform overview" figure on http://developer.gnome.org/
> And I am not able to list and name corresponding modules.
> If you do, please send a link or make an exhaustive list.
>
> The internal executables like cc1 are too high.
>
> For example, my feeling is that GCC (actually cc1) is made of three layers
>
> front-ends ?| ?middle-end ? ?| ?back-ends
Back-ends are shared between all languages gcc supports but can be
target particular.. So they are already a kind of module in there own
right.
Middle-end is language neutral. Yes these are basically already a
module just not broken down enough.
front-ends part in cc1 is the only part that is fully unique to cc1.
The middle-end and back-ends you will find used with other languages
as is.
This here is a very good read.
http://www.cse.iitb.ac.in/grc/intdocs/gcc-conceptual-structure.html
For the official harder to read form
http://gcc.gnu.org/onlinedocs/gccint.pdf basically this really needs
some graphics added. And a little sorting. But the same information
is in there as the gcc conceptual structure write up.
Even better gccint.pdf goes into what c files should be in each module.
This is why you hitting the wall that gcc is already kinda module
design. Everything is sorted to go into modules is just starting
cutting.
Note I said exist and named. I did not say they were into a simple to
read graphic on the gcc site.
Peter Dolding