PR 17949 (unaligned memory accesses due to ivopts) question
Daniel Jacobowitz
drow@false.org
Sun Oct 17 01:30:00 GMT 2004
On Sat, Oct 16, 2004 at 09:35:34PM +0200, Zdenek Dvorak wrote:
> This problem however does not seem to be limited to ivopts. For example
> the testcase below probably (I do not have access to the hardware
> just now, so I have checked only assembler, and I cannot read ia64 asm
> very well, so I am not entirely sure) fails in the same way.
>
> It seems to me that fixing this in ivopts is not the right place.
> Maybe setting DECL_NONADDRESSABLE_P for unaligned fields of structures
> when STRICT_ALIGNMENT = 1 would be more correct?
> typedef struct
> {
> short i __attribute__ ((packed));
> int f[2] __attribute__ ((packed));
> } A;
>
> A a;
>
> void foo(int *);
>
> int main(void)
> {
> foo (a.f);
> return 0;
> }
>
> void foo(int *x)
> {
> *x = 0;
> }
Well, a.f ought to be a pointer to unaligned integer. Don't you get
some kind of warning for this?
--
Daniel Jacobowitz
More information about the Gcc
mailing list