xref: /llvm-project/clang/test/Parser/while-loop-outside-function.cpp (revision edaae251cca07c34c55905c424a8f677623d0bd0)
1*edaae251Sinclyc // RUN: %clang_cc1 -fsyntax-only -verify %s
2*edaae251Sinclyc 
3*edaae251Sinclyc while // expected-error {{while loop outside of a function}}
4*edaae251Sinclyc (true) {};
5*edaae251Sinclyc 
6*edaae251Sinclyc // without semicolon
7*edaae251Sinclyc while // expected-error {{while loop outside of a function}}
8*edaae251Sinclyc (true) {}
9*edaae251Sinclyc 
10*edaae251Sinclyc do { // expected-error {{expected unqualified-id}}
11*edaae251Sinclyc     int some_var = 1;
12*edaae251Sinclyc     some_var += 3;
13*edaae251Sinclyc }
14*edaae251Sinclyc while // expected-error {{while loop outside of a function}}
15*edaae251Sinclyc (true);
16*edaae251Sinclyc 
someFunction()17*edaae251Sinclyc void someFunction() {
18*edaae251Sinclyc     while(true) {};
19*edaae251Sinclyc }
20*edaae251Sinclyc 
21*edaae251Sinclyc class SomeClass {
22*edaae251Sinclyc public:
23*edaae251Sinclyc     while(true) {} // expected-error {{expected member name or ';' after declaration specifiers}}
some_fn()24*edaae251Sinclyc     void some_fn() {
25*edaae251Sinclyc         while(true) {}
26*edaae251Sinclyc     }
27*edaae251Sinclyc };
28