On Tue, Nov 06, 2007 at 12:15:17AM -0800, Ian Lance Taylor wrote: > The assignment is indeed of an int, but it uses a pointer. Strict > aliasing only refers to loads and stores which use pointers. The > type-based alias analysis is done on the types to which those pointers > point.
Minor nit: here "pointers" includes C++ references, as well as pointer-valued expressions, as in long lv; ((int *)&lv) = 1; /* strict aliasing violation */