summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/unittests/XRefsTests.cpp
diff options
context:
space:
mode:
authorNathan Ridge <zeratul976@hotmail.com>2019-12-05 16:29:59 -0500
committerNathan Ridge <zeratul976@hotmail.com>2019-12-08 00:40:45 -0500
commite8716a6df7abad68b6cf81c437a2e0524e88f3ad (patch)
tree590102f6d8fbb0aa839bd6d7571ef9d4203057f7 /clang-tools-extra/clangd/unittests/XRefsTests.cpp
parentc49194969430f0ee817498a7000a979a7a0ded03 (diff)
downloadbcm5719-llvm-e8716a6df7abad68b6cf81c437a2e0524e88f3ad.tar.gz
bcm5719-llvm-e8716a6df7abad68b6cf81c437a2e0524e88f3ad.zip
[clangd] Navigation from definition of template specialization to primary template
Fixes https://github.com/clangd/clangd/issues/212. Reviewers: sammccall Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, kadircet, usaxena95, cfe-commits Tags: #clang Differential Revision: https://reviews.llvm.org/D71090
Diffstat (limited to 'clang-tools-extra/clangd/unittests/XRefsTests.cpp')
-rw-r--r--clang-tools-extra/clangd/unittests/XRefsTests.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/unittests/XRefsTests.cpp b/clang-tools-extra/clangd/unittests/XRefsTests.cpp
index b6115065d1b..ee23522d109 100644
--- a/clang-tools-extra/clangd/unittests/XRefsTests.cpp
+++ b/clang-tools-extra/clangd/unittests/XRefsTests.cpp
@@ -450,7 +450,22 @@ TEST(LocateSymbol, All) {
+^+x;
}
)cpp",
- };
+
+ R"cpp(// Declaration of explicit template specialization
+ template <typename T>
+ struct $decl[[Foo]] {};
+
+ template <>
+ struct Fo^o<int> {};
+ )cpp",
+
+ R"cpp(// Declaration of partial template specialization
+ template <typename T>
+ struct $decl[[Foo]] {};
+
+ template <typename T>
+ struct Fo^o<T*> {};
+ )cpp"};
for (const char *Test : Tests) {
Annotations T(Test);
llvm::Optional<Range> WantDecl;
OpenPOWER on IntegriCloud