This is the mail archive of the gcc@gcc.gnu.org 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: [gpc] Re: GCC integration?


On Fri, 17 Dec 2004, Matt Austern wrote:

> Adding a new front end is not free.  It constrains the middle end data
> structures, it may result in more fields or tests (thus hurting compile time
> for other languages), it certainly increases testing work and bootstrap time,
> and it certainly increases the overall complexity of the system.  GCC was a
> much simpler compiler when it was just a C compiler.

If done badly, it may add to the common structures; if done well, it may 
result in a clearer and more precise definition of the semantics of the 
common structures and front-end interface, so improving quality for other 
languages (and maybe compile time where the better definitions allow 
redundant code to be removed).

GPC patches to 3.4 are available from 
<http://www.math.uni.wroc.pl/~hebisch/gpc/>.  Much of them deal with 
SET_TYPEs and so will be irrelevant for 4.0 where SET_TYPE has been 
removed from the core compiler and so it will need to become a 
Pascal-specific type instead; I don't indeed know if any of the patches 
will be relevant for 4.0 or if GPC integration will need any changes to 
the core compiler (as opposed to documentation, and the toplevel 
Makefile.* to add libgpc).  But you can see that they don't expand 
datastructures.

Bootstrap and testing time is indeed a concern - it has at least kept pace 
with Moore's law for several years and if/when Ada is reenabled by default 
that will yield a further increase, but I think the genuine benefits of 
testing the core compiler through additional front ends mean this 
increased time is acceptable (unlike such parts of the increase as come 
from the compiler itself getting slower).

-- 
Joseph S. Myers               http://www.srcf.ucam.org/~jsm28/gcc/
    jsm@polyomino.org.uk (personal mail)
    joseph@codesourcery.com (CodeSourcery mail)
    jsm28@gcc.gnu.org (Bugzilla assignments and CCs)


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