From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12000 invoked by alias); 19 Nov 2004 21:58:15 -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 11620 invoked from network); 19 Nov 2004 21:57:58 -0000 Received: from unknown (HELO imf16aec.mail.bellsouth.net) (205.152.59.64) by sourceware.org with SMTP; 19 Nov 2004 21:57:58 -0000 Received: from [127.0.0.1] ([68.209.231.37]) by imf16aec.mail.bellsouth.net (InterMail vM.5.01.06.11 201-253-122-130-111-20040605) with ESMTP id <20041119215753.HYFR1980.imf16aec.mail.bellsouth.net@[127.0.0.1]>; Fri, 19 Nov 2004 16:57:53 -0500 Message-ID: <419E6C70.2000903@bellsouth.net> Date: Fri, 19 Nov 2004 22:30:00 -0000 From: Robert McNulty Junior User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.3) Gecko/20040910 MIME-Version: 1.0 To: Michael Matz CC: Matt Austern , Mike Stump , Joe Buck , Andrew Pinski , gcc mailing list Subject: Re: generalized lvalues References: <8AD5AEEF-3914-11D9-8BD2-000A95BCF344@apple.com> <78169FF3-3916-11D9-AEB4-000A95D692F4@physics.uc.edu> <4D2CF60C-3919-11D9-8BD2-000A95BCF344@apple.com> <20041117212847.A26376@synopsys.com> <6F5FC748-7BBD-44B9-8DDC-246949F16102@apple.com> <20041118102741.A8347@synopsys.com> <77E8D36A-C0C2-4B03-964C-BEE0FE7BBBC3@apple.com> <98C86CD4-39E2-11D9-B2D5-000A95BCF344@apple.com> In-Reply-To: X-Enigmail-Version: 0.86.1.0 X-Enigmail-Supports: pgp-inline, pgp-mime Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-11/txt/msg00701.txt.bz2 Michael Matz wrote: >Hi, > >On Thu, 18 Nov 2004, Matt Austern wrote: > > > >>But I'll give two examples (details changed partly to protect the guilty and >>partly because I'm doing this by memory): >>(1) #define foo(x) *(a, b, x) >>(2) ((long*) p)++ >> >> > >Actually, from my experience looking at assorted packages which are tried >to be build with 4.0, the latter use is most common. I.e. casting a >pointer to some type to implicitely specify how much it is incremented. >Some software is very much known for using such constructs (wine, rpm, >elfutils, dietlibs, many others) . I even tend to say, that such usage is >well defined (within certain limits), although I admit that it's not ISO >C99. > > >All the whining about how unspecified this is, and how the writer of the >code deserve to be bitten, is just language lawyer masturbation (which I >also very much enjoy when closing bugreports about this or that compiler >bug with INVALID), but it doesn't change the fact, that there are quite >some packages out there actually using such extensions. This >cast-as-lvalue extension removal is one of the bigger items which result >in much work for package maintainers (not so much for C++, as there anyway >this extension wasn't used much). > > >So, if anyone wants to bring it back, with defined semantics of course >(like for instance memory accessed through a casted pointer is well >defined (not outside the memory for the object accessed), and only for C) >I'm all ears. > > >Ciao, >Michael. > > > Micheal, GCC 4.0 looks cool. I have the latest CVS. http://www.geocities.com/bobbymcn2004 will take you to a site of music that was made with a program using GCC 4.0. Under Cygwin. All my latest music is there. This is my dream. You guys have done it. GCC has come a long way since I started with you four years ago with GCC 3.0. I'm using Cygwin. One problem. The songs are encoded in Windows Media Encoder, so you need a player that plays wma files. There's not that many. And yes, that's me playing the piano. Neat. GCC 4.0, when its released will be appreciated by all.