blob: c296c7fd24913565a5cb15ba43fabc348b7bbd38 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Wcast-align=strict" } */
typedef char __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))) c;
typedef struct __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__)))
{
char x;
} d;
char *x;
c *y;
d *z;
struct s { long long x; } *p;
struct t { double x; } *q;
void
foo (void)
{
y = (c *) x; /* { dg-warning "7:cast \[^\n\r]* required alignment of target type" } */
z = (d *) x; /* { dg-warning "7:cast \[^\n\r]* required alignment of target type" } */
(long long *) p; /* { dg-bogus "alignment" } */
(double *) q; /* { dg-bogus "alignment" } */
}