| int foo1(void) | |
| { | |
| union { | |
| char a[sizeof (unsigned)]; | |
| unsigned b; | |
| } u; | |
| u.b = 0x01; | |
| return u.a[0]; | |
| } | |
| int foo2(void) | |
| { | |
| volatile union { | |
| char a[sizeof (unsigned)]; | |
| unsigned b; | |
| } u; | |
| u.b = 0x01; | |
| return u.a[0]; | |
| } | |
| int main(void) | |
| { | |
| if (foo1() != foo2()) | |
| abort (); | |
| exit (0); | |
| } |