The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
From: norman@nose.cs.utoronto.ca (norman@nose.cs.utoronto.ca)
Subject: [pups] Re: GCC
Date: Fri, 18 Jan 2002 17:13:26 -0500	[thread overview]
Message-ID: <200201182214.IAA22019@guardian-ext.bond.edu.au> (raw)

Jonathan Engdahl:

  Consider lcc, the Princeton C compiler. It's much smaller than gcc, and ANSI
  compliant.

lcc's a good compiler; it has become cc in my own peculiar Ancient UNIX
environment.  But my environment is on VAXes, not PDP-11s; the lcc I use
probably cannot be compiled to a core compiler binary of less than about
180KB, of which 136KB is text, and that is without any real code generators.
(For those who know lcc: I am using a slightly-hacked-up lcc 3.6; the
180KB binary includes just the symbolic and null code generators, not
the enormous one I ended up with for the VAX.)

On the other hand, it is probably easier to split lcc into overlays or
multiple passes to make it fit on a PDP-11 than to do the same to gcc;
and lcc works fine as a cross-compiler.  And it's a good solid ANSI
compiler; enough so that it is a little annoying to use it on heritage
code (it grumbles, correctly, if a function returns no value and wasn't
declared void), and helpful or very painful (depending on your point of
view) when used on really old code that is sleazy about mixing types of
pointers in procedure arguments, or reusing one structure as part of another,
or the like.  I had an interesting time a few months ago getting an old
version of tbl to compile cleanly and produce correct results under lcc;
the program contained some ancient constructs that are truly remarkable
to look back on, especially for those of us who started out programming
that way and learned better the hard way ...

If I were going to work with PDP-11s, I would probably use lcc as a
cross-compiler myself, after writing or snitching a code generator of
course.

Norman Wilson



             reply	other threads:[~2002-01-18 22:13 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-01-18 22:13 norman [this message]
2002-01-19  0:53 ` [pups] lcc (was: GCC) Greg Lehey
2002-01-20 10:52   ` Robin Birch
2002-01-20 14:38     ` emanuel stiebler
2002-01-20 15:47       ` Bill Gunshannon
2002-01-20 16:07         ` emanuel stiebler
2002-01-21  0:24     ` Greg Lehey
2002-05-10  4:43       ` Cyrille Lefevre
2002-05-10  5:08         ` Greg 'groggy' Lehey
2002-01-21  2:22     ` Jonathan Engdahl
  -- strict thread matches above, loose matches on Subject: below --
2002-01-19 16:22 [pups] Re: GCC Davidson, Steve
2002-01-19 14:54 SHOPPA
2002-01-19 15:12 ` Johnny Billquist
2002-01-18 22:29 bwc
2002-01-19  0:08 ` Bill Gunshannon
     [not found] <no.id>
2002-01-18  6:53 ` Aaron J. Grier
2002-01-18  7:07   ` Wilko Bulte
2002-01-18  9:06     ` Lars Brinkhoff
2002-01-18 12:44   ` Warren Toomey
2002-01-18 14:49     ` Bill Gunshannon
2002-01-18 15:31       ` Lars Brinkhoff
2002-01-18 19:00       ` Johnny Billquist
2002-01-18 21:54         ` Jonathan Engdahl
2002-01-19  8:48         ` Lars Brinkhoff
2002-01-19 21:19           ` Warren Toomey
2002-01-18 18:06     ` Aaron J. Grier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200201182214.IAA22019@guardian-ext.bond.edu.au \
    --to=norman@nose.cs.utoronto.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).