1// { dg-do assemble  }
2// GROUPS passed rtti
3// Negative testcase for decls in conditions.
4
5int main()
6{
7  float i;
8
9  if (int i = 1)		// { dg-error "" "" { xfail *-*-* } } ,
10    {
11      char i;			// { dg-error "" "" { xfail *-*-* } } ,
12      char j;
13    }
14  else
15    {
16      short i;			// { dg-error "" "" { xfail *-*-* } } ,
17      char j;
18    }
19
20  while (int i = 0)		// { dg-error "" }
21    {
22      int i;			// { dg-error "" }
23    }
24
25  for (; int i = 0; )		// { dg-error "" }
26    {
27      int i;			// { dg-error "" }
28    }
29
30  switch (int i = 0)		// { dg-error "" "" { xfail *-*-* } }
31    {
32    default:
33      int i;			// { dg-error "" "" { xfail *-*-* } }
34    }
35
36  if (struct A { operator int () { return 1; } } *foo = new A) // { dg-error "" }
37    ;
38
39  A bar;			// { dg-error "" }
40
41  if (enum A { one, two, three } foo = one) // { dg-error "" }
42    ;
43
44  struct B { operator int () { return 2; } };
45
46  if (struct B * foo = new B)
47    ;
48
49  if (int f () = 1)		// { dg-error "" }
50    ;
51
52  if (int a[2] = {1, 2})	// { dg-error "" }
53    ;
54
55}
56