diff options
| author | Sam McCall <sam.mccall@gmail.com> | 2019-07-08 18:07:46 +0000 |
|---|---|---|
| committer | Sam McCall <sam.mccall@gmail.com> | 2019-07-08 18:07:46 +0000 |
| commit | b324c64b6d4c807c44d2aba4b408dd573b850f1b (patch) | |
| tree | 4677998518b126980a0551bd8f5bbfd1fc3e1cb3 /clang-tools-extra/clangd/CodeComplete.cpp | |
| parent | 74be349bcff4a4e420d7a9d487b9c6c04bff0582 (diff) | |
| download | bcm5719-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.cpp | 6 |
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(); |

