diff options
author | Ilya Biryukov <ibiryukov@google.com> | 2018-09-03 15:25:27 +0000 |
---|---|---|
committer | Ilya Biryukov <ibiryukov@google.com> | 2018-09-03 15:25:27 +0000 |
commit | 5a79d1e377f47d31d3cc4379619cc4096bdc6b1f (patch) | |
tree | be37d5edb7c4239ad99094e3f4801ed0bff7c9ab /clang-tools-extra/unittests/clangd/CodeCompleteTests.cpp | |
parent | b466e11c390ddcd13daba95991c74efb92cfd3b5 (diff) | |
download | bcm5719-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.cpp | 15 |
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^ |