|  | /* { 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" "" { target { ! no_alignment_constraints } } } */ | 
|  | z = (d *) x;  /* { dg-warning "7:cast \[^\n\r]* required alignment of target type" "" { target { ! no_alignment_constraints } } } */ | 
|  | (long long *) p;  /* { dg-bogus "alignment" } */ | 
|  | (double *) q;     /* { dg-bogus "alignment" } */ | 
|  | } |