Ilya Biryukov | 15a37eb | 2019-05-06 13:18:00 +0000 | [diff] [blame] | 1 | void 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 | |
| 27 | int value_return() { |
| 28 | // line 28 |
| 29 | } |
| 30 | void void_return() { |
| 31 | // line 31 |
| 32 | } |
Ilya Biryukov | 32497f5 | 2019-05-27 09:52:09 +0000 | [diff] [blame] | 33 | bool bool_return() { |
| 34 | // line 34 |
| 35 | } |
Ilya Biryukov | 15a37eb | 2019-05-06 13:18:00 +0000 | [diff] [blame] | 36 | // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:28:1 %s -o - | FileCheck -check-prefix=RETURN-VAL %s |
Ilya Biryukov | 32497f5 | 2019-05-27 09:52:09 +0000 | [diff] [blame] | 37 | // RETURN-VAL-NOT: COMPLETION: Pattern : return; |
| 38 | // RETURN-VAL-NOT: COMPLETION: Pattern : return false; |
| 39 | // RETURN-VAL-NOT: COMPLETION: Pattern : return true; |
Ilya Biryukov | 15a37eb | 2019-05-06 13:18:00 +0000 | [diff] [blame] | 40 | // RETURN-VAL: COMPLETION: Pattern : return <#expression#>;{{$}} |
| 41 | |
| 42 | // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:31:1 %s -o - | FileCheck -check-prefix=RETURN-VOID %s |
Ilya Biryukov | 32497f5 | 2019-05-27 09:52:09 +0000 | [diff] [blame] | 43 | // RETURN-VOID-NOT: COMPLETION: Pattern : return false; |
| 44 | // RETURN-VOID-NOT: COMPLETION: Pattern : return true; |
| 45 | // RETURN-VOID-NOT: COMPLETION: Pattern : return <#expression#>; |
Ilya Biryukov | 15a37eb | 2019-05-06 13:18:00 +0000 | [diff] [blame] | 46 | // RETURN-VOID: COMPLETION: Pattern : return;{{$}} |
Ilya Biryukov | 32497f5 | 2019-05-27 09:52:09 +0000 | [diff] [blame] | 47 | |
| 48 | // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:34:1 %s -o - | FileCheck -check-prefix=RETURN-BOOL %s |
| 49 | // RETURN-BOOL-NOT: COMPLETION: Pattern : return; |
| 50 | // RETURN-BOOL: COMPLETION: Pattern : return <#expression#>;{{$}} |
| 51 | // RETURN-BOOL: COMPLETION: Pattern : return false;{{$}} |
| 52 | // RETURN-BOOL: COMPLETION: Pattern : return true;{{$}} |