| 1 | // RUN: %clang_cc1 -fsyntax-only -verify %s |
| 2 | |
| 3 | struct S { S(int); operator bool(); }; |
| 4 | |
| 5 | void f() { |
| 6 | int a; |
| 7 | while (a) ; |
| 8 | while (int x) ; // expected-error {{variable declaration in condition must have an initializer}} |
| 9 | while (float x = 0) ; |
| 10 | if (const int x = a) ; // expected-warning{{empty body}} expected-note{{put the semicolon on a separate line to silence this warning}} |
| 11 | switch (int x = a+10) {} |
| 12 | for (; int x = ++a; ) ; |
| 13 | |
| 14 | if (S a(42)) {} // expected-error {{variable declaration in condition cannot have a parenthesized initializer}} |
| 15 | } |
| 16 | |