summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/clangd/CodeComplete.cpp
diff options
context:
space:
mode:
authorSam McCall <sam.mccall@gmail.com>2019-07-08 18:07:46 +0000
committerSam McCall <sam.mccall@gmail.com>2019-07-08 18:07:46 +0000
commitb324c64b6d4c807c44d2aba4b408dd573b850f1b (patch)
tree4677998518b126980a0551bd8f5bbfd1fc3e1cb3 /clang-tools-extra/clangd/CodeComplete.cpp
parent74be349bcff4a4e420d7a9d487b9c6c04bff0582 (diff)
downloadbcm5719-llvm-b324c64b6d4c807c44d2aba4b408dd573b850f1b.tar.gz
bcm5719-llvm-b324c64b6d4c807c44d2aba4b408dd573b850f1b.zip
[clangd] Don't insert absolute paths, give up instead.
Summary: Also implement resolution of paths relative to mainfile without HeaderSearchInfo. Reviewers: kadircet Subscribers: ilya-biryukov, MaskRay, jkorous, arphaman, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D64293 llvm-svn: 365364
Diffstat (limited to 'clang-tools-extra/clangd/CodeComplete.cpp')
-rw-r--r--clang-tools-extra/clangd/CodeComplete.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/CodeComplete.cpp b/clang-tools-extra/clangd/CodeComplete.cpp
index 71d7035c12d..dc82b5d6c46 100644
--- a/clang-tools-extra/clangd/CodeComplete.cpp
+++ b/clang-tools-extra/clangd/CodeComplete.cpp
@@ -327,8 +327,12 @@ struct CodeCompletionBuilder {
auto ResolvedInserted = toHeaderFile(Header, FileName);
if (!ResolvedInserted)
return ResolvedInserted.takeError();
+ auto Spelled = Includes.calculateIncludePath(*ResolvedInserted, FileName);
+ if (!Spelled)
+ return llvm::createStringError(llvm::inconvertibleErrorCode(),
+ "Header not on include path");
return std::make_pair(
- Includes.calculateIncludePath(*ResolvedInserted, FileName),
+ std::move(*Spelled),
Includes.shouldInsertInclude(*ResolvedDeclaring, *ResolvedInserted));
};
bool ShouldInsert = C.headerToInsertIfAllowed(Opts).hasValue();
OpenPOWER on IntegriCloud