Ziemowit Laski writes: > Indeed, I now appear to have a mainline mod for C and C++ which allows > assignment to lvalue casts for pointer types. What follows is a > high-level synopsis of what I did; if there is interest, I can whip up > a full-fledged patch, complete with docs. Please let me know. It occurs to me -- can't "lvalue casts" be done in standard GNU C and C++? Source code changes would be required, but they can probably be done largely mechanically. Here are the examples I've got -- they can maybe be cleaned up a bit, but both of these compile your test cases -Wall-cleanly with GCC 3.4. (They take advantage of the GCC extension that type-punning through a union is defined behavior.) First, the C++ example, since it's cleaner code: