Path: utzoo!telly!ddsw1!lll-winken!killer!mit-eddie!fenchurch.mit.edu!jbs From: jbs@fenchurch.MIT.EDU (Jeff Siegal) Newsgroups: gnu.gcc.bug Subject: Re: GCC 1.30 complaints Message-ID: <10343@eddie.MIT.EDU> Date: 26 Oct 88 22:00:41 GMT References: <8810220131.AA00312@ucsci.ucsc.edu> <1531@vaxnix.tandy.COM> <9773@bigtex.cactus.org> <1608@vaxnix.tandy.COM> Sender: uucp@eddie.MIT.EDU Reply-To: jbs@fenchurch.MIT.EDU (Jeff Siegal) Distribution: gnu Organization: MIT EE/CS Computer Facilities, Cambridge, MA Lines: 23 In article <1608@vaxnix.tandy.COM> ron@vaxnix.UUCP (Ron Light) writes: >In article <9773@bigtex.cactus.org> james@bigtex.cactus.org (James Van Artsdalen) writes: >If I have a delay loop, for whatever reason, I would be very >angry if the compiler decided, for itself, "Oh, this is stupid, we don't >need this." The compiler doesn't know it is a "delay loop." It only knows that it is an empty loop. It might have resulted from code like: for (i=0; i<100; ++i) { assert(a[i] != 0); } when compiled with NDEBUG=1 >A compiler's job is [...]to take the source code I've >given it and try to produce the most reasonable approximation of assembly >or binary code. Perhaps, but the job of an *optimizing*compiler* is to produce the fastest/smallest code sequence it can, out of the set of possible code sequences which perform the same function. Jeff Siegal