From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31828 invoked by alias); 28 Jun 2005 18:21:05 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 31784 invoked by uid 22791); 28 Jun 2005 18:21:00 -0000 Received: from smtp-102-tuesday.nerim.net (HELO kraid.nerim.net) (62.4.16.102) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Tue, 28 Jun 2005 18:21:00 +0000 Received: from uniton.integrable-solutions.net (gdr.net1.nerim.net [62.212.99.186]) by kraid.nerim.net (Postfix) with ESMTP id 3D7FC40E23; Tue, 28 Jun 2005 20:20:57 +0200 (CEST) Received: from uniton.integrable-solutions.net (localhost [127.0.0.1]) by uniton.integrable-solutions.net (8.12.10/8.12.10/SuSE Linux 0.7) with ESMTP id j5SIKIKY004855; Tue, 28 Jun 2005 20:20:19 +0200 Received: (from gdr@localhost) by uniton.integrable-solutions.net (8.12.10/8.12.10/Submit) id j5SIKIVa004854; Tue, 28 Jun 2005 20:20:18 +0200 To: Joe Buck Cc: Olivier Galibert , Andrew Haley , Dave Korn , "'Robert Dewar'" , "'Andrew Pinski'" , "'gcc mailing list'" Subject: Re: signed is undefined and has been since 1992 (in GCC) References: <20050628142441.GA52889@dspnet.fr.eu.org> <20050628145148.GD52889@dspnet.fr.eu.org> <17089.26325.169281.749633@zapata.pink> <20050628171752.GE52889@dspnet.fr.eu.org> <20050628175039.GB9783@synopsys.com> From: Gabriel Dos Reis In-Reply-To: <20050628175039.GB9783@synopsys.com> Date: Tue, 28 Jun 2005 18:21:00 -0000 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-SW-Source: 2005-06/txt/msg01166.txt.bz2 Joe Buck writes: | On Tue, Jun 28, 2005 at 07:17:52PM +0200, Olivier Galibert wrote: | > On Tue, Jun 28, 2005 at 04:03:49PM +0100, Andrew Haley wrote: | > > This is childish and insulting. | > | > Calling a large part of the programs out there, including a non | > negligible subpart of what I personally write either "blatantly buggy" | > or "subtly-incorrect" is somewhat childish and insulting. | | I agree, partly, with Olivier. However, let's not insult each other; | we need to recognize that GCC developers have to worry about embedded | systems, where some of the assumptions Olivier makes do not hold. | | I make some of the same tradeoffs in my code as Olivier does, because | the assumptions are true of all of the target platforms we care about. | (In particular, either ILP32 or LP64, with IEEE FP arithmetic; for | everything else we need rigorous type safety, unions if pointers share | storage with longs, etc). Once upon a time, a bunch of good, expert, knowledgeable guys got together to design an optimizing compiler for C. They had one of the best (if not The Best) optimizing C compilers at the time for programs written within the well-defined part of C -- taking advantage of undefined behaviour to propogate assumptions forward and backward. It could blow up just about any competing compiler at the time. ... But the compiler miscompiled the Unix kernel -- which, apart from has history intermixed with the C language design, was relying on "undocumented" aspect of "undefined behaviour". Nobdoy was willing to buy the compiler. The company ran out of business. -- Gaby