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)