From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30422 invoked by alias); 7 May 2002 12:08:37 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 30402 invoked from network); 7 May 2002 12:08:35 -0000 Received: from unknown (HELO vlsi1.ultra.nyu.edu) (128.122.140.213) by sources.redhat.com with SMTP; 7 May 2002 12:08:35 -0000 Received: by vlsi1.ultra.nyu.edu (4.1/1.34) id AA24629; Tue, 7 May 02 08:06:07 EDT Date: Tue, 07 May 2002 05:11:00 -0000 From: kenner@vlsi1.ultra.nyu.edu (Richard Kenner) Message-Id: <10205071206.AA24629@vlsi1.ultra.nyu.edu> To: rth@redhat.com Subject: Re: PR 6212 Cc: gcc@gcc.gnu.org X-SW-Source: 2002-05/txt/msg00460.txt.bz2 Consider int foo(int *p) { return *((char *)p); } char c[2] __attribute__((aligned)); int bar() { return foo((int *)&c[1]); } Since we recurse all the way down to the PARM_DECL, we decide that P is 4-byte aligned. We already discussed cases with pointers having strange values (so long as they weren't dereferenced) and declared them acceptable in gcc. I'm missing something: I don't see a variable offset here, so why is highest_pow2_factor called at all in this case? And you are also assuming tree inlining here, right?