diff options
author | Erik Verbruggen <erikjv@me.com> | 2017-09-08 10:23:08 +0000 |
---|---|---|
committer | Erik Verbruggen <erikjv@me.com> | 2017-09-08 10:23:08 +0000 |
commit | 7ec9107fdce2b3029ad1119eb8fad0f7e554652e (patch) | |
tree | 4b3d62f3cb1518384b979d151b80af0ce22f372c /clang/test/Index/complete-constructor-params.cpp | |
parent | 9aeedde7ffd971f533360ab02e3c8ac58fba7209 (diff) | |
download | bcm5719-llvm-7ec9107fdce2b3029ad1119eb8fad0f7e554652e.tar.gz bcm5719-llvm-7ec9107fdce2b3029ad1119eb8fad0f7e554652e.zip |
Don't show deleted function (constructor) candidates for code completion
In case of copy constructor is implicitly deleted it's still shown.
PR34402 describes a way to reproduce that.
Patch by Ivan Donchevskii!
Differential Revision: https://reviews.llvm.org/D37435
llvm-svn: 312785
Diffstat (limited to 'clang/test/Index/complete-constructor-params.cpp')
-rw-r--r-- | clang/test/Index/complete-constructor-params.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/Index/complete-constructor-params.cpp b/clang/test/Index/complete-constructor-params.cpp index 6685626a587..949077a2143 100644 --- a/clang/test/Index/complete-constructor-params.cpp +++ b/clang/test/Index/complete-constructor-params.cpp @@ -18,6 +18,20 @@ int main() { int(42); } +struct Foo { + Foo() = default; + Foo(const Foo&) = delete; +}; + +struct Bar { + Foo f; +}; + +void function() { + Bar b1; + Bar b2(b1); +} + // RUN: c-index-test -code-completion-at=%s:11:10 %s | FileCheck -check-prefix=CHECK-CC1 %s // CHECK-CC1: OverloadCandidate:{Text S}{LeftParen (}{CurrentParameter const S<int> &}{RightParen )} (1) // CHECK-CC1: OverloadCandidate:{Text S}{LeftParen (}{CurrentParameter int}{Comma , }{Placeholder U}{Comma , }{Placeholder U}{RightParen )} (1) @@ -138,3 +152,6 @@ int main() { // CHECK-CC10-NEXT: Class name // CHECK-CC10-NEXT: Nested name specifier // CHECK-CC10-NEXT: Objective-C interface + +// RUN: c-index-test -code-completion-at=%s:32:12 -std=c++11 %s | FileCheck -check-prefix=CHECK-CC11 %s +// CHECK-CC11-NOT: OverloadCandidate:{Text Bar}{LeftParen (}{CurrentParameter const Bar &}{RightParen )} (1) |