| void loops() { |
| while (true) { |
| // line 3 |
| } |
| for (;;) { |
| // line 6 |
| } |
| do { |
| // line 9 |
| } while (true); |
| // line 11 |
| } |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:3:1 %s -o - | FileCheck -check-prefix=LOOP %s |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:6:1 %s -o - | FileCheck -check-prefix=LOOP %s |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:9:1 %s -o - | FileCheck -check-prefix=LOOP %s |
| // LOOP: COMPLETION: Pattern : break;{{$}} |
| // LOOP: COMPLETION: Pattern : continue;{{$}} |
| // LOOP: COMPLETION: Pattern : goto <#label#>;{{$}} |
| // LOOP: COMPLETION: Pattern : return;{{$}} |
| // |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:11:1 %s -o - | FileCheck -check-prefix=OUTSIDE-LOOP %s |
| // OUTSIDE-LOOP-NOT: COMPLETION: Pattern : break;{{$}} |
| // OUTSIDE-LOOP-NOT: COMPLETION: Pattern : continue;{{$}} |
| // OUTSIDE-LOOP: COMPLETION: Pattern : goto <#label#>;{{$}} |
| // OUTSIDE-LOOP: COMPLETION: Pattern : return;{{$}} |
| |
| int value_return() { |
| // line 28 |
| } |
| void void_return() { |
| // line 31 |
| } |
| bool bool_return() { |
| // line 34 |
| } |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:28:1 %s -o - | FileCheck -check-prefix=RETURN-VAL %s |
| // RETURN-VAL-NOT: COMPLETION: Pattern : return; |
| // RETURN-VAL-NOT: COMPLETION: Pattern : return false; |
| // RETURN-VAL-NOT: COMPLETION: Pattern : return true; |
| // RETURN-VAL: COMPLETION: Pattern : return <#expression#>;{{$}} |
| |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:31:1 %s -o - | FileCheck -check-prefix=RETURN-VOID %s |
| // RETURN-VOID-NOT: COMPLETION: Pattern : return false; |
| // RETURN-VOID-NOT: COMPLETION: Pattern : return true; |
| // RETURN-VOID-NOT: COMPLETION: Pattern : return <#expression#>; |
| // RETURN-VOID: COMPLETION: Pattern : return;{{$}} |
| |
| // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:34:1 %s -o - | FileCheck -check-prefix=RETURN-BOOL %s |
| // RETURN-BOOL-NOT: COMPLETION: Pattern : return; |
| // RETURN-BOOL: COMPLETION: Pattern : return <#expression#>;{{$}} |
| // RETURN-BOOL: COMPLETION: Pattern : return false;{{$}} |
| // RETURN-BOOL: COMPLETION: Pattern : return true;{{$}} |