Messages in this thread | | | Date | Tue, 6 Jan 2004 14:33:02 -0800 | From | Richard Henderson <> | Subject | Re: GCC 3.4 Heads-up |
| |
On Tue, Jan 06, 2004 at 01:06:19PM -0800, David Mosberger-Tang wrote: > This works provided you can take the address of the lvalue, which > ain't true for bitfields.
Indeed. Which means that the compiler almost certainly would have done the wrong thing in certain cases with the conditional lvalue extension.
There were real, hard to fix bugs here. Rather than sweat too much about what the "right" semantics are supposed to be, and how to get them all "correct", we just removed the ill-thought extension.
> I'd love to know a way of doing this in ANSI C99 without requiring > changes to to uses of this kind of (atrocious) macro...
In ANSI C you've no alternative except memcpy, since you can't cast the pointer and reference the object via some other type (assuming neither type is char, yadda yadda).
r~ - 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/
| |