summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlya Biryukov <ibiryukov@google.com>2018-06-01 12:03:16 +0000
committerIlya Biryukov <ibiryukov@google.com>2018-06-01 12:03:16 +0000
commitcd16e559d25c44a83383bd18bd8812e7aa38b224 (patch)
treec804f493d9260d0bd85958b0aa2ba8e8dd3a8572
parent351aa594f6ab5f89e466d456e42005748a1d80c3 (diff)
downloadbcm5719-llvm-cd16e559d25c44a83383bd18bd8812e7aa38b224.tar.gz
bcm5719-llvm-cd16e559d25c44a83383bd18bd8812e7aa38b224.zip
[clangd] Attempt the fix the buildbots after r333737
llvm-svn: 333742
-rw-r--r--clang-tools-extra/clangd/TUScheduler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/clang-tools-extra/clangd/TUScheduler.cpp b/clang-tools-extra/clangd/TUScheduler.cpp
index c6b11437d31..795023cfa4f 100644
--- a/clang-tools-extra/clangd/TUScheduler.cpp
+++ b/clang-tools-extra/clangd/TUScheduler.cpp
@@ -110,7 +110,10 @@ public:
return llvm::None;
std::unique_ptr<ParsedAST> V = std::move(Existing->second);
LRU.erase(Existing);
- return V;
+ // GCC 4.8 fails to compile `return V;`, as it tries to call the copy
+ // constructor of unique_ptr, so we call the move ctor explicitly to avoid
+ // this miscompile.
+ return llvm::Optional<std::unique_ptr<ParsedAST>>(std::move(V));
}
private:
OpenPOWER on IntegriCloud