111
|
1 /* This testcase caused ICE in do_SUBST on IA-32, because 0xf6 constant
|
|
2 was not sign-extended for QImode. */
|
|
3 /* { dg-do run } */
|
|
4 /* { dg-options "-O2" } */
|
|
5 /* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */
|
|
6
|
|
7 #include <limits.h>
|
|
8
|
|
9 void abort (void);
|
|
10 void exit (int);
|
|
11
|
|
12 void foo (void)
|
|
13 {
|
|
14 int i;
|
|
15 char *p;
|
|
16
|
|
17 p = (char *) &i;
|
|
18 *p = -10;
|
|
19 if (* (unsigned char *) p != 0x100 - 10)
|
|
20 abort ();
|
|
21 }
|
|
22
|
|
23 int main (void)
|
|
24 {
|
|
25 if (UCHAR_MAX == 255)
|
|
26 foo ();
|
|
27 exit (0);
|
|
28 }
|