This test contains three invocations of Ref(), but only two of them are considered ill. What I'd like to get an explanation for is why the third (middle) instance is considered correct. After all, the u member of Packed is packed, and hence all the members of Unpacked in that context are, too. Namely, even if the object referenced by p is properly aligned, p.u isn't and hence p.u.i isn't either.
I'm asking this because for *-*-netware*, which uses packed structures by default, this test fails with an error message like the ones expected on the other two calls to Ref(). Thanks, Jan