diff options
author | Ilya Biryukov <ibiryukov@google.com> | 2019-05-06 13:18:00 +0000 |
---|---|---|
committer | Ilya Biryukov <ibiryukov@google.com> | 2019-05-06 13:18:00 +0000 |
commit | 15a37ebb180a41432f05d201a2059470558b2cc5 (patch) | |
tree | 49e46b1aadb0551404819d098f42ab602080556c /clang/test/CodeCompletion/patterns.cpp | |
parent | acbaa496ec8ea63f2315e0fdc7ed86c888a21a53 (diff) | |
download | bcm5719-llvm-15a37ebb180a41432f05d201a2059470558b2cc5.tar.gz bcm5719-llvm-15a37ebb180a41432f05d201a2059470558b2cc5.zip |
[CodeComplete] Add a trailing semicolons to some pattern completions
Summary:
Where semicolon is required in any case. Here's a list of completions
that now have a semicolon:
- namespace <name> = <target>;
- using namespace <name>;
- using <qualifier>::<name>;
- continue;
- break;
- goto <label>;
- return;
- return <expression>;
Reviewers: gribozavr
Reviewed By: gribozavr
Subscribers: cfe-commits
Tags: #clang
Differential Revision: https://reviews.llvm.org/D61589
llvm-svn: 360042
Diffstat (limited to 'clang/test/CodeCompletion/patterns.cpp')
-rw-r--r-- | clang/test/CodeCompletion/patterns.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/clang/test/CodeCompletion/patterns.cpp b/clang/test/CodeCompletion/patterns.cpp new file mode 100644 index 00000000000..19585296872 --- /dev/null +++ b/clang/test/CodeCompletion/patterns.cpp @@ -0,0 +1,39 @@ +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 +} +// 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: 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 <#expression#>;{{$}} +// RETURN-VOID: COMPLETION: Pattern : return;{{$}} |