Re: sparse segfaults

Nix
2004-11-23T13:59:53Z

On 22 Nov 2004, Duncan Sands mused:
> Generalized lvalues have been removed. Check out
> http://gcc.gnu.org/ml/gcc/2004-11/msg00604.html

There is talk of putting a subset of them back again, because a *lot* of
code does things like

((foo_t *)foo)++;

and the generalized lvalues extension makes that work as expected. Yes,
all such code is technically broken, but a large number of non-GCC
compilers also implement the extension enough for the construct above to
be valid.

Where it's really bad is in C++, where it can change the semantics of
some otherwise-valid code (due to the way it interacts with function
overloading). The whole generalized lvalues extension is definitely not
coming back, because fixing that C++ bug was a major reason why it was
removed in the first place.

--
`The sword we forged has turned upon us
Only now, at the end of all things do we see
The lamp-bearer dies; only the lamp burns on.'