generalized lvalues

Matt Austern austern@apple.com
Fri Nov 19 04:52:00 GMT 2004


On Nov 18, 2004, at 5:26 PM, Mike Stump wrote:

> On Nov 18, 2004, at 10:27 AM, Joe Buck wrote:
>> Really?
>
> AFAIK.
>
>> Can you show some of the example errors?
>
> Sounds boring and tedious, I don't see any benefit to doing that work. 
>  I've accepted the extension is gone and just plan on informing users 
> it is gone.

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)++

Again, I'm not arguing that this extension should come back.  I'm 
unhappy about the whole situation, because (as Joe pointed out) we had 
a choice between removing an extension without the usual amount of 
notice and the usual number of releases where it's deprecated, or else 
accepting a serious bug in our C++ front end and not fixing it.  At the 
time I thought the former choice was less bad, and I think that's still 
probably true.  But right now I'm mostly interested in collecting 
information.  I'd like to make sure I understand all of the 
consequences of our decision.

I'm most interested in your comment, Andrew, that cast-as-lvalue was 
impossible to accommodate in GIMPLE.  Can you expand on that?

			--Matt



More information about the Gcc mailing list