aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Driver/Driver.cpp
diff options
context:
space:
mode:
authorSerge Pavlov <sepavloff@gmail.com>2022-10-30 01:58:47 +0700
committerSerge Pavlov <sepavloff@gmail.com>2022-10-30 02:03:12 +0700
commitc1728a40aae31abc0a5d4d07f6f6a6773d803f2c (patch)
tree84b231b8003485e52c52c4a9292e8eb56067679a /clang/lib/Driver/Driver.cpp
parentcd9aff8aa87d5397bb674d1e35904314dca72aac (diff)
downloadllvm-c1728a40aae31abc0a5d4d07f6f6a6773d803f2c.zip
llvm-c1728a40aae31abc0a5d4d07f6f6a6773d803f2c.tar.gz
llvm-c1728a40aae31abc0a5d4d07f6f6a6773d803f2c.tar.bz2
Revert "Handle errors in expansion of response files"
This reverts commit 17eb198de934eced784e16ec15e020a574ba07e1. Reverted for investigation, because ClangDriverTests failed on some builders.
Diffstat (limited to 'clang/lib/Driver/Driver.cpp')
-rw-r--r--clang/lib/Driver/Driver.cpp27
1 files changed, 8 insertions, 19 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp
index 80e6ec7..26729f1 100644
--- a/clang/lib/Driver/Driver.cpp
+++ b/clang/lib/Driver/Driver.cpp
@@ -940,24 +940,10 @@ static void appendOneArg(InputArgList &Args, const Arg *Opt,
bool Driver::readConfigFile(StringRef FileName,
llvm::cl::ExpansionContext &ExpCtx) {
- // Try opening the given file.
- auto Status = getVFS().status(FileName);
- if (!Status) {
- Diag(diag::err_drv_cannot_open_config_file)
- << FileName << Status.getError().message();
- return true;
- }
- if (Status->getType() != llvm::sys::fs::file_type::regular_file) {
- Diag(diag::err_drv_cannot_open_config_file)
- << FileName << "not a regular file";
- return true;
- }
-
// Try reading the given file.
SmallVector<const char *, 32> NewCfgArgs;
- if (llvm::Error Err = ExpCtx.readConfigFile(FileName, NewCfgArgs)) {
- Diag(diag::err_drv_cannot_read_config_file)
- << FileName << toString(std::move(Err));
+ if (!ExpCtx.readConfigFile(FileName, NewCfgArgs)) {
+ Diag(diag::err_drv_cannot_read_config_file) << FileName;
return true;
}
@@ -1039,9 +1025,12 @@ bool Driver::loadConfigFiles() {
if (llvm::sys::path::has_parent_path(CfgFileName)) {
CfgFilePath.assign(CfgFileName);
if (llvm::sys::path::is_relative(CfgFilePath)) {
- if (getVFS().makeAbsolute(CfgFilePath)) {
- Diag(diag::err_drv_cannot_open_config_file)
- << CfgFilePath << "cannot get absolute path";
+ if (getVFS().makeAbsolute(CfgFilePath))
+ return true;
+ auto Status = getVFS().status(CfgFilePath);
+ if (!Status ||
+ Status->getType() != llvm::sys::fs::file_type::regular_file) {
+ Diag(diag::err_drv_config_file_not_exist) << CfgFilePath;
return true;
}
}