[clang-tools-extra] 9878e17 - Silence an "illegal conversion" diagnostic
Aaron Ballman via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 27 09:04:12 PDT 2022
Author: Aaron Ballman
Date: 2022-06-27T12:04:01-04:00
New Revision: 9878e17624d811965f46661a095d6a8b1fc8e110
URL: https://github.com/llvm/llvm-project/commit/9878e17624d811965f46661a095d6a8b1fc8e110
DIFF: https://github.com/llvm/llvm-project/commit/9878e17624d811965f46661a095d6a8b1fc8e110.diff
LOG: Silence an "illegal conversion" diagnostic
MSVC was issuing "illegal conversion; more than one user-defined
conversion has been implicitly applied" as a warning on this code.
Explicitly calling .str() causes a StringRef to be materialized so
that a second user-defined conversion is not required.
Added:
Modified:
clang-tools-extra/clangd/CompileCommands.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/CompileCommands.cpp b/clang-tools-extra/clangd/CompileCommands.cpp
index 491b713793536..39198d0711998 100644
--- a/clang-tools-extra/clangd/CompileCommands.cpp
+++ b/clang-tools-extra/clangd/CompileCommands.cpp
@@ -48,7 +48,7 @@ llvm::Optional<std::string> queryXcrun(llvm::ArrayRef<llvm::StringRef> Argv) {
llvm::sys::fs::createTemporaryFile("clangd-xcrun", "", OutFile);
llvm::FileRemover OutRemover(OutFile);
llvm::Optional<llvm::StringRef> Redirects[3] = {
- /*stdin=*/{""}, /*stdout=*/{OutFile}, /*stderr=*/{""}};
+ /*stdin=*/{""}, /*stdout=*/{OutFile.str()}, /*stderr=*/{""}};
vlog("Invoking {0} to find clang installation", *Xcrun);
int Ret = llvm::sys::ExecuteAndWait(*Xcrun, Argv,
/*Env=*/llvm::None, Redirects,
More information about the cfe-commits
mailing list