summaryrefslogtreecommitdiff
path: root/test/Index
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2017-08-22 10:25:48 +0000
committerErik Verbruggen <erikjv@me.com>2017-08-22 10:25:48 +0000
commita22fb7f2b228bf6340a192bac5defaecc4095e69 (patch)
tree09fd113e90274f14485bcfaad2048e9f43c59994 /test/Index
parentce7e9f1524037ca01fa3c5d395dcde87beb25dba (diff)
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 } Patch by Ivan Donchevskii! Differential Revision: https://reviews.llvm.org/D35355 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@311442 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Index')
-rw-r--r--test/Index/code-completion.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/Index/code-completion.cpp b/test/Index/code-completion.cpp
index f52bb10a35..00f158f3d0 100644
--- a/test/Index/code-completion.cpp
+++ b/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)