This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: PR 6212
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- To: rth at redhat dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 7 May 02 08:06:07 EDT
- Subject: Re: PR 6212
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?