Messages in this thread | | | Subject | Re: sparse segfaults | From | Nix <> | Date | Tue, 23 Nov 2004 13:59:19 +0000 |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |