[llvm] 6a12875 - [SystemZ][z/OS] Fix return values in AutoConversion functions
Abhina Sreeskantharajan via llvm-commits
llvm-commits at lists.llvm.org
Wed May 5 06:43:20 PDT 2021
Author: Abhina Sreeskantharajan
Date: 2021-05-05T09:43:14-04:00
New Revision: 6a12875046fd8c3e9f67482803a9f0f7b39dcfa6
URL: https://github.com/llvm/llvm-project/commit/6a12875046fd8c3e9f67482803a9f0f7b39dcfa6
DIFF: https://github.com/llvm/llvm-project/commit/6a12875046fd8c3e9f67482803a9f0f7b39dcfa6.diff
LOG: [SystemZ][z/OS] Fix return values in AutoConversion functions
My previous patch https://reviews.llvm.org/rG1527a5e4b4834e65678f9c30f786a2f4c17932bf incorrectly set int return values instead of std::error_code. This patch correctly returns and std::error_code value.
Reviewed By: fanbo-meng, Jonathan.Crowther
Differential Revision: https://reviews.llvm.org/D101904
Added:
Modified:
llvm/lib/Support/AutoConvert.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Support/AutoConvert.cpp b/llvm/lib/Support/AutoConvert.cpp
index e35b1c83d3fce..4fb7e242c3480 100644
--- a/llvm/lib/Support/AutoConvert.cpp
+++ b/llvm/lib/Support/AutoConvert.cpp
@@ -23,7 +23,9 @@ std::error_code llvm::disableAutoConversion(int FD) {
0, // pccsid
(short)FT_BINARY, // fccsid
};
- return fcntl(FD, F_CONTROL_CVT, &Convert);
+ if (fcntl(FD, F_CONTROL_CVT, &Convert) == -1)
+ return std::error_code(errno, std::generic_category());
+ return std::error_code();
}
std::error_code llvm::enableAutoConversion(int FD) {
@@ -34,7 +36,7 @@ std::error_code llvm::enableAutoConversion(int FD) {
};
if (fcntl(FD, F_CONTROL_CVT, &Query) == -1)
- return -1;
+ return std::error_code(errno, std::generic_category());
Query.cvtcmd = SETCVTALL;
Query.pccsid =
@@ -43,7 +45,9 @@ std::error_code llvm::enableAutoConversion(int FD) {
: CCSID_UTF_8;
// Assume untagged files to be IBM-1047 encoded.
Query.fccsid = (Query.fccsid == FT_UNTAGGED) ? CCSID_IBM_1047 : Query.fccsid;
- return fcntl(FD, F_CONTROL_CVT, &Query);
+ if (fcntl(FD, F_CONTROL_CVT, &Query) == -1)
+ return std::error_code(errno, std::generic_category());
+ return std::error_code();
}
std::error_code llvm::setFileTag(int FD, int CCSID, bool Text) {
@@ -55,7 +59,9 @@ std::error_code llvm::setFileTag(int FD, int CCSID, bool Text) {
Tag.ft_deferred = 0;
Tag.ft_rsvflags = 0;
- return fcntl(FD, F_SETTAG, &Tag);
+ if (fcntl(FD, F_SETTAG, &Tag) == -1)
+ return std::error_code(errno, std::generic_category());
+ return std::error_code();
}
#endif // __MVS__
More information about the llvm-commits
mailing list