| /* This testcase caused ICE in do_SUBST on IA-32, because 0xf6 constant | |
| was not sign-extended for QImode. */ | |
| /* { dg-do run } */ | |
| /* { dg-options "-O2" } */ | |
| /* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ | |
| #include <limits.h> | |
| void abort (void); | |
| void exit (int); | |
| void foo (void) | |
| { | |
| int i; | |
| char *p; | |
| p = (char *) &i; | |
| *p = -10; | |
| if (* (unsigned char *) p != 0x100 - 10) | |
| abort (); | |
| } | |
| int main (void) | |
| { | |
| if (UCHAR_MAX == 255) | |
| foo (); | |
| exit (0); | |
| } |