blob: b799b6b87c2a8d334eb05956005782b39cbdb442 [file] [log] [blame]
/* Test that expand can generate correct loads of misaligned data even on
strict alignment platforms. */
/* { dg-do run } */
/* { dg-options "-O0" } */
extern void abort ();
typedef unsigned int myint __attribute__((aligned(1)));
unsigned int
foo (myint *p)
{
return *p;
}
#define cst (int) 0xdeadbeef
#define NUM 8
struct blah
{
char c;
myint i[NUM];
};
struct blah g;
int
main (int argc, char **argv)
{
int i, k;
for (k = 0; k < NUM; k++)
{
g.i[k] = cst;
i = foo (&g.i[k]);
if (i != cst)
abort ();
}
return 0;
}