/* PR c/19342 */ | |
typedef enum { A, B, C, D } E; | |
struct S { | |
E __attribute__ ((mode (__byte__))) a; | |
E __attribute__ ((mode (__byte__))) b; | |
E __attribute__ ((mode (__byte__))) c; | |
E __attribute__ ((mode (__byte__))) d; | |
}; | |
extern void abort (void); | |
extern void exit (int); | |
void | |
foo (struct S *s) | |
{ | |
if (s->a != s->b) | |
abort (); | |
if (s->c != C) | |
abort (); | |
} | |
int | |
main (void) | |
{ | |
struct S s[2]; | |
s[0].a = B; | |
s[0].b = B; | |
s[0].c = C; | |
s[0].d = D; | |
s[1].a = D; | |
s[1].b = C; | |
s[1].c = B; | |
s[1].d = A; | |
foo (s); | |
exit (0); | |
} |