From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24133 invoked by alias); 18 Nov 2004 04:21:27 -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 24080 invoked from network); 18 Nov 2004 04:21:23 -0000 Received: from unknown (HELO mail-out4.apple.com) (17.254.13.23) by sourceware.org with SMTP; 18 Nov 2004 04:21:23 -0000 Received: from mailgate2.apple.com (a17-128-100-204.apple.com [17.128.100.204]) by mail-out4.apple.com (8.12.11/8.12.11) with ESMTP id iAI4Rttc002098 for ; Wed, 17 Nov 2004 20:27:55 -0800 (PST) Received: from relay1.apple.com (relay1.apple.com) by mailgate2.apple.com (Content Technologies SMTPRS 4.3.14) with ESMTP id ; Wed, 17 Nov 2004 20:21:23 -0800 Received: from [17.219.197.172] ([17.219.197.172]) by relay1.apple.com (8.12.11/8.12.11) with ESMTP id iAI4LLvt007693; Wed, 17 Nov 2004 20:21:21 -0800 (PST) In-Reply-To: <78169FF3-3916-11D9-AEB4-000A95D692F4@physics.uc.edu> References: <8AD5AEEF-3914-11D9-8BD2-000A95BCF344@apple.com> <78169FF3-3916-11D9-AEB4-000A95D692F4@physics.uc.edu> Mime-Version: 1.0 (Apple Message framework v619) Content-Type: text/plain; charset=US-ASCII; format=flowed Message-Id: <4D2CF60C-3919-11D9-8BD2-000A95BCF344@apple.com> Content-Transfer-Encoding: 7bit Cc: gcc mailing list From: Matt Austern Subject: Re: generalized lvalues Date: Thu, 18 Nov 2004 04:27:00 -0000 To: Andrew Pinski X-SW-Source: 2004-11/txt/msg00612.txt.bz2 On Nov 17, 2004, at 8:01 PM, Andrew Pinski wrote: > > On Nov 17, 2004, at 10:50 PM, Andrew Pinski wrote: > >> >> On Nov 17, 2004, at 10:47 PM, Matt Austern wrote: >> >>> 1. It broke valid C++ programs. If we overload a function on >>> constness, like foo(int&) and foo(const int&), then invoking it as >>> foo((int) x) is required to call the const version. Generalized >>> lvalues made us choose the latter. >> >> If it broke it please file a bug and don't complain that we broke it. > > Woops I read it wrong but note the C++ front-end removed this extension > in 3.4.0 and not just for 4.0.0. > > Also removing deprecated stuff after a year is more enough time for > people to change their code. > > > Also the proposal to deprecate this in C++ was back in May of 2003 > which is more than enough time to object to the original proposal. > > In fact you commented on the original proposal: > http://gcc.gnu.org/ml/gcc/2003-05/msg00933.html > And you concluded the same thing to remove it: Yep, and I'm still not arguing against removing it. I'm just asking for help in collecting a list of the reasons why we chose to get rid of it. I don't think this discussion will go away, and having that list will be helpful. I think a number of us will be asked: (a) why did this extension disappear; and (b) how should I change my code to cope with the disappearance. I'd like to be prepared with answers to those questions. --Matt