OSDN Git Service

2011-10-19 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / torture / pr50729.c
1 /* { dg-do run } */
2 /* { dg-require-effective-target int32plus } */
3
4 extern void abort (void);
5 unsigned short __attribute__((noinline))
6 foo (int i)
7 {
8   if (i >= 0
9       && i <= 0x400000)
10     return (unsigned short)(signed char)i;
11   return i;
12 }
13 int main()
14 {
15   int i;
16   for (i = 0; i < 0xffff; ++i)
17     if (foo(i) != (unsigned short)(signed char) i)
18       abort ();
19   return 0;
20 }