Subject: Re: egcs
To: David Edelsohn <email@example.com>
From: Todd Vierling <firstname.lastname@example.org>
Date: 08/05/1998 14:31:11
On Wed, 5 Aug 1998, David Edelsohn wrote:
: Todd> Doesn't matter how fast it runs - there are some types of constructs at
: Todd> higher optimization levels that will make the resulting code fall over. In
: Todd> short, you can use it to generate reliable code on powerpc if you never use
: Todd> -O2 or -O3.
: I don't think that you can or should make this type of
: generalization. egcs-1.0.3 has problems as does gcc-184.108.40.206 and
: gcc-2.8.1. It all depends on how you are using the compiler and the
: source code in question.
I'm referring to the various reports I have read on email@example.com,
which I've read since the egcs beta days. Out of all the
platforms that 1.0.3 supports, only i386 and sparc have fairly solid C
codegen; other platforms are missing some bits in optimization (and some,
like arm, will sometimes generate broken code without optimization). The
generalization about 1.0.3 is pretty valid - just ask random people at
Cygnus how much they would trust 1.0.3 for big production projects. :)
I've been wary of running egcs 1.0.3 on anything but i386 for a while
because of this. There have been too many "this is broken" reports with
valid code that have been replied to with, "Fixed in 1.1 mainline." C++ is
worse - it's rather broken even on i386.
You'll note that I keep saying i386 works well in C: that's Linux's
mainstay architecture, and also the one that had the worst liberties taken
by programmers that you later mentioned.
-- Todd Vierling (Personal firstname.lastname@example.org; Bus. email@example.com)