summaryrefslogtreecommitdiffstats
path: root/clang/test/Index/code-completion.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2017-09-08 09:31:13 +0000
committerErik Verbruggen <erikjv@me.com>2017-09-08 09:31:13 +0000
commit51ee12a9fbef806fd770151de343c563402de42b (patch)
tree7678bc903da2058bf820e36a88ec334ff95f6359 /clang/test/Index/code-completion.cpp
parent113a5ca029c157ba6e69d97c8a042a3dabec783b (diff)
downloadbcm5719-llvm-51ee12a9fbef806fd770151de343c563402de42b.tar.gz
bcm5719-llvm-51ee12a9fbef806fd770151de343c563402de42b.zip
Fix templated type alias completion when using global completion cache
When we have enabled cache for global completions we did not have diagnostics for Bar and could not complete Ba as in provided code example. template <typename T> struct Foo { T member; }; template<typename T> using Bar = Foo<T>; int main() { Ba } (This is the fixed version of r 311442, which was reverted in r311445.) Patch by Ivan Donchevskii! Differential Revision: https://reviews.llvm.org/D35355 llvm-svn: 312780
Diffstat (limited to 'clang/test/Index/code-completion.cpp')
-rw-r--r--clang/test/Index/code-completion.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/Index/code-completion.cpp b/clang/test/Index/code-completion.cpp
index f52bb10a35b..00f158f3d09 100644
--- a/clang/test/Index/code-completion.cpp
+++ b/clang/test/Index/code-completion.cpp
@@ -37,6 +37,16 @@ Z::operator int() const {
return 0;
}
+template <typename T>
+struct Foo { T member; };
+
+template<typename T> using Bar = Foo<T>;
+
+void test_template_alias() {
+ // RUN: env CINDEXTEST_COMPLETION_CACHING=1 c-index-test -code-completion-at=%s:47:1 %s | FileCheck -check-prefix=CHECK-TEMPLATE-ALIAS %s
+
+}
+
// CHECK-MEMBER: FieldDecl:{ResultType double}{TypedText member}
// CHECK-MEMBER: FieldDecl:{ResultType int}{Text X::}{TypedText member}
// CHECK-MEMBER: FieldDecl:{ResultType float}{Text Y::}{TypedText member}
@@ -88,3 +98,5 @@ Z::operator int() const {
// CHECK-EXPR-NEXT: Class name
// CHECK-EXPR-NEXT: Nested name specifier
// CHECK-EXPR-NEXT: Objective-C interface
+
+// CHECK-TEMPLATE-ALIAS: AliasTemplateDecl:{TypedText Bar}{LeftAngle <}{Placeholder typename T}{RightAngle >} (50)
OpenPOWER on IntegriCloud