libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr86554-1.c
blob562a187a5c451acec72e84056242eb9b6fb503d9
1 /* { dg-do run } */
3 struct foo
5 __UINT32_TYPE__ x;
6 };
7 typedef struct foo foo;
9 static inline __INT32_TYPE__ zot(foo *f)
11 int ret;
13 if (f->x > 0x7FFFFFFF)
14 ret = (__INT32_TYPE__)(f->x - 0x7FFFFFFF);
15 else
16 ret = (__INT32_TYPE__)f->x - 0x7FFFFFFF;
17 return ret;
20 void __attribute__((noinline,noclone)) bar(foo *f)
22 __INT32_TYPE__ ret = zot(f);
23 volatile __INT32_TYPE__ x = ret;
24 if (ret < 1)
25 __builtin_abort ();
28 int main()
30 foo f;
31 f.x = 0x800003f8;
33 bar(&f);
34 return 0;