summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2018-09-03 15:25:27 +0000
committerIlya Biryukov <ibiryukov@google.com>2018-09-03 15:25:27 +0000
commit5a79d1e377f47d31d3cc4379619cc4096bdc6b1f (patch)
treebe37d5edb7c4239ad99094e3f4801ed0bff7c9ab /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
parentb466e11c390ddcd13daba95991c74efb92cfd3b5 (diff)
downloadbcm5719-llvm-5a79d1e377f47d31d3cc4379619cc4096bdc6b1f.tar.gz
bcm5719-llvm-5a79d1e377f47d31d3cc4379619cc4096bdc6b1f.zip
[clangd] Avoid crashes in override completions
Summary: NamedDecl::getName cannot be called on non-identifier names. Reviewers: kadircet, ioeric, hokein, sammccall Reviewed By: ioeric Subscribers: MaskRay, jkorous, arphaman, cfe-commits Differential Revision: https://reviews.llvm.org/D51598 llvm-svn: 341322
Diffstat (limited to 'clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp')
-rw-r--r--clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
index 80e5f91430e..ca2f449bfb0 100644
--- a/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
+++ b/clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp
@@ -1765,6 +1765,21 @@ TEST(CompletionTest, SuggestOverrides) {
Not(Contains(Labeled("void vfunc(bool param) override")))));
}
+TEST(CompletionTest, OverridesNonIdentName) {
+ // Check the completions call does not crash.
+ completions(R"cpp(
+ struct Base {
+ virtual ~Base() = 0;
+ virtual operator int() = 0;
+ virtual Base& operator+(Base&) = 0;
+ };
+
+ struct Derived : Base {
+ ^
+ };
+ )cpp");
+}
+
TEST(SpeculateCompletionFilter, Filters) {
Annotations F(R"cpp($bof^
$bol^
OpenPOWER on IntegriCloud