xref: /llvm-project/clang/test/Parser/while-loop-outside-function.c (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 (1) {};
5*edaae251Sinclyc 
6*edaae251Sinclyc // without semicolon
7*edaae251Sinclyc while // expected-error {{while loop outside of a function}}
8*edaae251Sinclyc (1) {}
9*edaae251Sinclyc 
10*edaae251Sinclyc int overload_return(); // expected-note {{previous declaration is here}}
11*edaae251Sinclyc 
overload_return()12*edaae251Sinclyc void overload_return() // expected-error {{conflicting types for 'overload_return'}}
13*edaae251Sinclyc {
14*edaae251Sinclyc     while(1) {};
15*edaae251Sinclyc     while(1);
16*edaae251Sinclyc }
17*edaae251Sinclyc 
18*edaae251Sinclyc while // expected-error {{while loop outside of a function}}
19*edaae251Sinclyc (1);
20*edaae251Sinclyc 
21*edaae251Sinclyc void correct();
22*edaae251Sinclyc 
correct()23*edaae251Sinclyc void correct() {
24*edaae251Sinclyc     while(1) {};
25*edaae251Sinclyc     while(1);
26*edaae251Sinclyc }
27