blob: 1958529687249251df3dc77efccdf174f2b65733 [file] [log] [blame]
Ilya Biryukov15a37eb2019-05-06 13:18:00 +00001void loops() {
2 while (true) {
3 // line 3
4 }
5 for (;;) {
6 // line 6
7 }
8 do {
9 // line 9
10 } while (true);
11 // line 11
12}
13// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:3:1 %s -o - | FileCheck -check-prefix=LOOP %s
14// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:6:1 %s -o - | FileCheck -check-prefix=LOOP %s
15// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:9:1 %s -o - | FileCheck -check-prefix=LOOP %s
16// LOOP: COMPLETION: Pattern : break;{{$}}
17// LOOP: COMPLETION: Pattern : continue;{{$}}
18// LOOP: COMPLETION: Pattern : goto <#label#>;{{$}}
19// LOOP: COMPLETION: Pattern : return;{{$}}
20//
21// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:11:1 %s -o - | FileCheck -check-prefix=OUTSIDE-LOOP %s
22// OUTSIDE-LOOP-NOT: COMPLETION: Pattern : break;{{$}}
23// OUTSIDE-LOOP-NOT: COMPLETION: Pattern : continue;{{$}}
24// OUTSIDE-LOOP: COMPLETION: Pattern : goto <#label#>;{{$}}
25// OUTSIDE-LOOP: COMPLETION: Pattern : return;{{$}}
26
27int value_return() {
28 // line 28
29}
30void void_return() {
31 // line 31
32}
33// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:28:1 %s -o - | FileCheck -check-prefix=RETURN-VAL %s
34// RETURN-VAL-NOT: COMPLETION: Pattern : return;{{$}}
35// RETURN-VAL: COMPLETION: Pattern : return <#expression#>;{{$}}
36
37// RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:31:1 %s -o - | FileCheck -check-prefix=RETURN-VOID %s
38// RETURN-VOID-NOT: COMPLETION: Pattern : return <#expression#>;{{$}}
39// RETURN-VOID: COMPLETION: Pattern : return;{{$}}