1 /* PR c/64279 */
2 /* { dg-do compile } */
3 /* { dg-options "-Wduplicated-branches -O2" } */
4
5 void
f(int * p)6 f (int *p)
7 {
8 if (*p > 0)
9 {
10 if (x == 0) /* { dg-error "undeclared|not declared" } */
11 *p = 5;
12 else
13 *p = 6;
14 }
15 }
16
17 void
f2(int * p)18 f2 (int *p)
19 {
20 if (*p > 0)
21 {
22 if (*p > 2)
23 *p = x; /* { dg-error "undeclared|not declared" } */
24 else
25 *p = 6;
26 }
27 }
28
29 void
f3(int * p)30 f3 (int *p)
31 {
32 if (*p > 0)
33 {
34 if (*p > 2)
35 *p = 8;
36 else
37 *p = x; /* { dg-error "undeclared|not declared" } */
38 }
39 }
40
41 void
f4(int * p)42 f4 (int *p)
43 {
44 if (*p > 0)
45 {
46 if (x == 0) /* { dg-error "undeclared|not declared" } */
47 *p = 5;
48 else
49 *p = 6;
50 }
51 else
52 {
53 if (x == 0) /* { dg-error "not declared" "" { target c++ } } */
54 *p = 7;
55 else
56 *p = 6;
57 }
58 }
59
60 void
f5(int * p)61 f5 (int *p)
62 {
63 if (*p > 0)
64 {
65 if (*p > 2)
66 *p = x; /* { dg-error "undeclared|not declared" } */
67 else
68 *p = 6;
69 }
70 else
71 {
72 if (x == 0) /* { dg-error "not declared" "" { target c++ } } */
73 *p = 5;
74 else
75 *p = 6;
76 }
77 }
78
79 void
f6(int * p)80 f6 (int *p)
81 {
82 if (*p > 0)
83 {
84 if (*p > 2)
85 *p = 8;
86 else
87 *p = x; /* { dg-error "undeclared|not declared" } */
88 }
89 else
90 {
91 if (x == 0) /* { dg-error "not declared" "" { target c++ } } */
92 *p = 5;
93 else
94 *p = 6;
95 }
96 }
97
98 void
f7(int i)99 f7 (int i)
100 {
101 if (i > 5)
102 ({ x++; }); /* { dg-error "undeclared|not declared" } */
103 else
104 ({ i++; });
105 }
106
107 void
f8(int i)108 f8 (int i)
109 {
110 if (i > 5)
111 ({ i++; });
112 else
113 ({ x++; }); /* { dg-error "undeclared|not declared" } */
114 }
115