From 6765b9c3f1192bd63bdcafc92ee8ff5d7b97d90b Mon Sep 17 00:00:00 2001 From: Haojian Wu Date: Thu, 17 Jun 2021 14:33:24 +0200 Subject: [PATCH] [clangd] Explicitly fail if the file passed to --check is not valid. Differential Revision: https://reviews.llvm.org/D104455 --- clang-tools-extra/clangd/tool/ClangdMain.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/clang-tools-extra/clangd/tool/ClangdMain.cpp b/clang-tools-extra/clangd/tool/ClangdMain.cpp index 0f9e5c8..6d70a9c 100644 --- a/clang-tools-extra/clangd/tool/ClangdMain.cpp +++ b/clang-tools-extra/clangd/tool/ClangdMain.cpp @@ -909,7 +909,11 @@ clangd accepts flags on the commandline, and in the CLANGD_FLAGS environment var if (CheckFile.getNumOccurrences()) { llvm::SmallString<256> Path; - llvm::sys::fs::real_path(CheckFile, Path, /*expand_tilde=*/true); + if (auto Error = + llvm::sys::fs::real_path(CheckFile, Path, /*expand_tilde=*/true)) { + elog("Failed to resolve path {0}: {1}", CheckFile, Error.message()); + return 1; + } log("Entering check mode (no LSP server)"); uint32_t Begin = 0, End = std::numeric_limits::max(); if (!CheckFileLines.empty()) { -- 2.7.4