[clang-tools-extra] 9af0a14 - [clangd] Fail more gracefully if QueryDriverDatabase cannot determine file type
Nathan Ridge via cfe-commits
cfe-commits at lists.llvm.org
Mon Aug 29 09:59:31 PDT 2022
Author: Nathan Ridge
Date: 2022-08-29T12:59:05-04:00
New Revision: 9af0a142e43625cb8478b83692510a5abd39f808
URL: https://github.com/llvm/llvm-project/commit/9af0a142e43625cb8478b83692510a5abd39f808
DIFF: https://github.com/llvm/llvm-project/commit/9af0a142e43625cb8478b83692510a5abd39f808.diff
LOG: [clangd] Fail more gracefully if QueryDriverDatabase cannot determine file type
Currently, QueryDriverDatabase returns an empty compile command
if it could not determine the file type.
This failure mode is unnecessarily destructive; it's better to
just return the incoming compiler command, which is still more
likely to be useful than an empty command.
Differential Revision: https://reviews.llvm.org/D132833
Added:
Modified:
clang-tools-extra/clangd/QueryDriverDatabase.cpp
Removed:
################################################################################
diff --git a/clang-tools-extra/clangd/QueryDriverDatabase.cpp b/clang-tools-extra/clangd/QueryDriverDatabase.cpp
index 3fdacf397028e..c36fb4f042a9f 100644
--- a/clang-tools-extra/clangd/QueryDriverDatabase.cpp
+++ b/clang-tools-extra/clangd/QueryDriverDatabase.cpp
@@ -341,7 +341,7 @@ class QueryDriverDatabase : public DelegatingCDB {
auto Type = driver::types::lookupTypeForExtension(Ext);
if (Type == driver::types::TY_INVALID) {
elog("System include extraction: invalid file type for {0}", Ext);
- return {};
+ return Cmd;
}
Lang = driver::types::getTypeName(Type);
}
More information about the cfe-commits
mailing list