https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116672

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
GCCs treatment of TBAA rules for pointer types vary over time but always within
the constraints of the source language.  Once you violate the source language
constraints you are on your own and cannot expect GCC to magically
do-what-you-mean.  Use -fno-strict-aliasing if you know violating the source
languages type based aliasing rules.

In particular while int * and unsigned * can be used to access both
int and unsigned data int ** cannot be used to access unsigned * data
(or vice versa).

Reply via email to