Re: sparse segfaults

From: Nix
Date: Tue Nov 23 2004 - 09:01:42 EST


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.'
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/