1 /* PR target/92140 */
2 
3 char c;
4 int v;
5 
f1(void)6 __attribute__((noipa)) void f1 (void) { v += c != 0; }
f2(void)7 __attribute__((noipa)) void f2 (void) { v -= c != 0; }
f3(void)8 __attribute__((noipa)) void f3 (void) { v += c == 0; }
f4(void)9 __attribute__((noipa)) void f4 (void) { v -= c == 0; }
f5(void)10 __attribute__((noipa)) void f5 (void) { v += (c != 0) - 26; }
f6(void)11 __attribute__((noipa)) void f6 (void) { v -= (c != 0) - 26; }
f7(void)12 __attribute__((noipa)) void f7 (void) { v += (c == 0) - 26; }
f8(void)13 __attribute__((noipa)) void f8 (void) { v -= (c == 0) - 26; }
f9(void)14 __attribute__((noipa)) void f9 (void) { v += (c != 0) + 42; }
f10(void)15 __attribute__((noipa)) void f10 (void) { v -= (c != 0) + 42; }
f11(void)16 __attribute__((noipa)) void f11 (void) { v += (c == 0) + 42; }
f12(void)17 __attribute__((noipa)) void f12 (void) { v -= (c == 0) + 42; }
f13(int z)18 __attribute__((noipa)) void f13 (int z) { v += (c == 0) + z; }
f14(int z)19 __attribute__((noipa)) void f14 (int z) { v -= (c == 0) + z; }
f15(unsigned int n)20 __attribute__((noipa)) unsigned int f15 (unsigned int n) { return n ? 2 : 1; }
21 
22 int
main()23 main ()
24 {
25   int i;
26   for (i = 0; i < 2; i++)
27     {
28       v = 15;
29       if (i == 1)
30 	c = 37;
31       f1 ();
32       if (v != 15 + i)
33 	__builtin_abort ();
34       f2 ();
35       if (v != 15)
36 	__builtin_abort ();
37       f3 ();
38       if (v != 16 - i)
39 	__builtin_abort ();
40       f4 ();
41       if (v != 15)
42 	__builtin_abort ();
43       f5 ();
44       if (v != 15 + i - 26)
45 	__builtin_abort ();
46       f6 ();
47       if (v != 15)
48 	__builtin_abort ();
49       f7 ();
50       if (v != 16 - i - 26)
51 	__builtin_abort ();
52       f8 ();
53       if (v != 15)
54 	__builtin_abort ();
55       f9 ();
56       if (v != 15 + i + 42)
57 	__builtin_abort ();
58       f10 ();
59       if (v != 15)
60 	__builtin_abort ();
61       f11 ();
62       if (v != 16 - i + 42)
63 	__builtin_abort ();
64       f12 ();
65       if (v != 15)
66 	__builtin_abort ();
67       f13 (173);
68       if (v != 16 - i + 173)
69 	__builtin_abort ();
70       f14 (173);
71       if (v != 15)
72 	__builtin_abort ();
73       f13 (-35);
74       if (v != 16 - i - 35)
75 	__builtin_abort ();
76       f14 (-35);
77       if (v != 15)
78 	__builtin_abort ();
79     }
80   if (f15 (0) != 1 || f15 (1) != 2 || f15 (371) != 2)
81     __builtin_abort ();
82   return 0;
83 }
84