------- Comment #122 from mrs at apple dot com 2007-05-22 20:41 ------- When the standard was originally written, I do think we may have missed out on some finer points of the C object model, mainly to do with restrictions on what one is not permitted to do stemming from the declared type. The intent was to very closely match the C object model, but formalize it better and add just enough to do subtypes and dynamic types and so on. I think it is reasonable to leave it as strict as C is for C style code so that it can be optimized well. I think it is reasonable to push the tighening language into the standard, as that is what we meant and our wording was meant to be as tight as C.
The effective type of an object for an access to its stored value is the declared type of the object, if any. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29286