111
|
1 /* PR c/64249 */
|
|
2 /* { dg-do compile } */
|
|
3 /* { dg-options "-Wall -Wno-duplicated-cond" } */
|
|
4
|
|
5 #ifndef __cplusplus
|
|
6 # define bool _Bool
|
|
7 # define true 1
|
|
8 # define false 0
|
|
9 #endif
|
|
10
|
|
11 extern int foo (void);
|
|
12
|
|
13 int
|
|
14 fn1 (int n)
|
|
15 {
|
|
16 if (n == 1)
|
|
17 return -1;
|
|
18 else if (n == 2)
|
|
19 return 0;
|
|
20 else if (n == 1)
|
|
21 return 1;
|
|
22 return 0;
|
|
23 }
|
|
24
|
|
25 int
|
|
26 fn2 (void)
|
|
27 {
|
|
28 if (4)
|
|
29 return 1;
|
|
30 else if (4)
|
|
31 return 2;
|
|
32
|
|
33 #define N 10
|
|
34 if (N)
|
|
35 return 3;
|
|
36 else if (N)
|
|
37 return 4;
|
|
38 }
|
|
39
|
|
40 int
|
|
41 fn3 (int n)
|
|
42 {
|
|
43 if (n == 42)
|
|
44 return 1;
|
|
45 if (n == 42)
|
|
46 return 2;
|
|
47
|
|
48 if (n)
|
|
49 if (n)
|
|
50 if (n)
|
|
51 if (n)
|
|
52 return 42;
|
|
53
|
|
54 if (!n)
|
|
55 return 10;
|
|
56 else
|
|
57 return 11;
|
|
58 }
|
|
59
|
|
60 int
|
|
61 fn4 (int n)
|
|
62 {
|
|
63 if (n > 0)
|
|
64 {
|
|
65 if (n == 1)
|
|
66 return 1;
|
|
67 else if (n == 1)
|
|
68 return 2;
|
|
69 }
|
|
70 else if (n < 0)
|
|
71 {
|
|
72 if (n < -1)
|
|
73 return 6;
|
|
74 else if (n < -2)
|
|
75 {
|
|
76 if (n == -10)
|
|
77 return 3;
|
|
78 else if (n == -10)
|
|
79 return 4;
|
|
80 }
|
|
81 }
|
|
82 else
|
|
83 return 7;
|
|
84 return 0;
|
|
85 }
|
|
86
|
|
87 struct S { long p, q; };
|
|
88
|
|
89 int
|
|
90 fn5 (struct S *s)
|
|
91 {
|
|
92 if (!s->p)
|
|
93 return 12345;
|
|
94 else if (!s->p)
|
|
95 return 1234;
|
|
96 return 0;
|
|
97 }
|
|
98
|
|
99 int
|
|
100 fn6 (int n)
|
|
101 {
|
|
102 if (n)
|
|
103 return n;
|
|
104 else if (n)
|
|
105 return n;
|
|
106 else if (n)
|
|
107 return n;
|
|
108 else if (n)
|
|
109 return n;
|
|
110 else if (n)
|
|
111 return n;
|
|
112 else if (n)
|
|
113 return n;
|
|
114 else if (n)
|
|
115 return n;
|
|
116 else if (n)
|
|
117 return n;
|
|
118 return 0;
|
|
119 }
|
|
120
|
|
121 int
|
|
122 fn7 (int n)
|
|
123 {
|
|
124 if (n == 0)
|
|
125 return 10;
|
|
126 else if (n == 1)
|
|
127 return 11;
|
|
128 else if (n == 2)
|
|
129 return 12;
|
|
130 else if (n == 3)
|
|
131 return 13;
|
|
132 else if (n == 4)
|
|
133 return 14;
|
|
134 else if (n == 5)
|
|
135 return 15;
|
|
136 else if (n == 6)
|
|
137 return 16;
|
|
138 else if (n == 7)
|
|
139 return 17;
|
|
140 else if (n == 0)
|
|
141 return 100;
|
|
142 else if (n == 1)
|
|
143 return 101;
|
|
144 else if (n == 2)
|
|
145 return 102;
|
|
146 else if (n == 3)
|
|
147 return 103;
|
|
148 else if (n == 4)
|
|
149 return 104;
|
|
150 else if (n == 5)
|
|
151 return 105;
|
|
152 else if (n == 6)
|
|
153 return 106;
|
|
154 else if (n == 7)
|
|
155 return 107;
|
|
156 return 0;
|
|
157 }
|
|
158
|
|
159 int
|
|
160 fn8 (bool b)
|
|
161 {
|
|
162 if (!b)
|
|
163 return 16;
|
|
164 else if (!b)
|
|
165 return 27;
|
|
166 else
|
|
167 return 64;
|
|
168 }
|
|
169
|
|
170 int
|
|
171 fn9 (int i, int j, int k)
|
|
172 {
|
|
173 if ((i > 0 && j > 0 && k > 0)
|
|
174 && ((i > 11 && j == 76 && k < 10)
|
|
175 || (i < 0 && j == 99 && k > 103)))
|
|
176 return -999;
|
|
177 else
|
|
178 if ((i > 0 && j > 0 && k > 0)
|
|
179 && ((i > 11 && j == 76 && k < 10)
|
|
180 || (i < 0 && j == 99 && k > 103)))
|
|
181 return 999;
|
|
182 else
|
|
183 return 0;
|
|
184 }
|
|
185
|
|
186 int
|
|
187 fn10 (void)
|
|
188 {
|
|
189 if (foo ())
|
|
190 return 17329;
|
|
191 else if (foo ())
|
|
192 return 18409;
|
|
193 return 0;
|
|
194 }
|
|
195
|
|
196 int
|
|
197 fn11 (int n)
|
|
198 {
|
|
199 if (++n == 10)
|
|
200 return 666;
|
|
201 else if (++n == 10)
|
|
202 return 9;
|
|
203 return 0;
|
|
204 }
|