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 } 33 bool bool_return() { 34 // line 34 35 } 36 // RUN: %clang_cc1 -fsyntax-only -code-completion-patterns -code-completion-at=%s:28:1 %s -o - | FileCheck -check-prefix=RETURN-VAL %s 37 // RETURN-VAL-NOT: COMPLETION: Pattern : return; 38 // RETURN-VAL-NOT: COMPLETION: Pattern : return false; 39 // RETURN-VAL-NOT: COMPLETION: Pattern : return true; 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 43 // RETURN-VOID-NOT: COMPLETION: Pattern : return false; 44 // RETURN-VOID-NOT: COMPLETION: Pattern : return true; 45 // RETURN-VOID-NOT: COMPLETION: Pattern : return <#expression#>; 46 // RETURN-VOID: COMPLETION: Pattern : return;{{$}} 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;{{$}} 53