From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2715 invoked by alias); 25 Sep 2004 05:41:19 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 2434 invoked by uid 48); 25 Sep 2004 05:41:18 -0000 Date: Sat, 25 Sep 2004 05:41:00 -0000 Message-ID: <20040925054118.2432.qmail@sourceware.org> From: "davids at webmaster dot com" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040924231306.17665.davids@webmaster.com> References: <20040924231306.17665.davids@webmaster.com> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug c/17665] wrong code with -O2 X-Bugzilla-Reason: CC X-SW-Source: 2004-09/txt/msg03082.txt.bz2 List-Id: ------- 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