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 | |