This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: generalized lvalues


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]