[Bug c/17665] wrong code with -O2

davids at webmaster dot com gcc-bugzilla@gcc.gnu.org
Sat Sep 25 05:41:00 GMT 2004


------- Additional Comments From davids at webmaster dot com  2004-09-25 05:41 -------
I am perfectly willing to entertain the possibility that I am being dense or 
misguided, but we're talking about 'void *' here. You can't get a 'void *' by 
taking the address of a 'void' and you can't dereference a 'void *' to get 
a 'void'. The only use of 'void *' is for type aliasing.

If you cannot alias at all without '-fno-strict-aliasing', that would imply 
that you can do *nothing* with a 'void *' without defining it. That, obviously, 
can't be right.

The documentation for '-fstrict-aliasing' talks about an object of one type 
being at the same address as an object of another type. But 'void' is not a 
type of object, so I don't see that I'm violating aliasing rules.

DS


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


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=17665



More information about the Gcc-bugs mailing list