From d9fe7538a3d7013e1da17bee7911eadf30d0bcc0 Mon Sep 17 00:00:00 2001 From: Ilya Biryukov Date: Mon, 3 Sep 2018 14:39:34 +0000 Subject: [PATCH] [clangd] Handle errors before checking for cancelltion To avoid hitting assertions in llvm::Expected destructor. llvm-svn: 341319 --- clang-tools-extra/clangd/ClangdServer.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/clang-tools-extra/clangd/ClangdServer.cpp b/clang-tools-extra/clangd/ClangdServer.cpp index 6bdd082..7f0b29d 100644 --- a/clang-tools-extra/clangd/ClangdServer.cpp +++ b/clang-tools-extra/clangd/ClangdServer.cpp @@ -191,11 +191,10 @@ TaskHandle ClangdServer::codeComplete(PathRef File, Position Pos, auto Task = [PCHs, Pos, FS, CodeCompleteOpts, this](Path File, Callback CB, llvm::Expected IP) { - if (isCancelled()) - return CB(llvm::make_error()); - if (!IP) return CB(IP.takeError()); + if (isCancelled()) + return CB(llvm::make_error()); auto PreambleData = IP->Preamble; -- 2.7.4