allbery@UUNET.UU.NET (Brandon S. Allbery - comp.sources.misc) (01/30/89)
It being that ncoast's idiot broken C compiler has continually annoyed me
for years, I've taken the opportunity to grab GCC. Unfortunately, I now
have to figure out how to install it....
I'm stuck with a crippled SGS (System III => no working source debugger,
no flexnames *at all*, no safe way to replace as and ld, etc. with other
routines from e.g. binutils.tar). Since the Gnu cpp comes with gcc, I can
assume that flexnames can be dealt with via preprocessor macros -- but I
could use a list of long names, otherwise I have to play all sorts of nasty
games to get them myself.
Also, will the following 4 bugs be likely to derail my attempt?
(a) A statement of the form:
*(a->b) = c->d;
where a->b is a structure pointer and c->d is a structure,
produces a sequence of instructions which mistakenly use the same
address register for both indirection calculations in the loop.
(b) The compiler does weird things with the type of relational expressions
like <, <=, etc. Usually, this manifests as a spurious "illegal pointer/
integer" message when "pointer_returning_function() != 0" is used in an
(int) context (i.e. NOT if, while, etc. but instead =, return, etc.);
but certain operations (in particular, (double) (x == y)) cause a
compiler error.
(c) The compiler loses track of long, complex comma-expressions.
(All three occurred when I built perl -- which is the straw that broke the
camel's back.)
(d) "if (x) ...;" where "x" is a double always returns false. This one I
discovered years ago while porting phantasia, nothing else I've used since
then makes much use of floating point. I'd guess that I'm safe from this
in the case of gcc.
I daresay there are other bugs lurking; although for just about any other
program, I'd consider perl to be the "test by fire". (Nothing quite like
programmers with all-the-world's-a-VM-machine mentality to stretch archaic
systems....)
Anyway, can someone give me some idea of what kind of purgatory I've committed
myself to? Please respond to me at allbery@ncoast.org, as I'm not (yet) on
the gcc mailing list and ncoast isn't being fed the gnu.all newsgroups.
Thanks in advance,
++Brandon (Brandon S. Allbery, NCoast Public Access UNIX; allbery@NCoast.ORG)