[SystemZ][z/OS] Fix warning caused by umask returning a signed integer type
authorAbhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com>
Wed, 12 May 2021 16:26:00 +0000 (12:26 -0400)
committerAbhina Sreeskantharajan <Abhina.Sreeskantharajan@ibm.com>
Wed, 12 May 2021 16:26:22 +0000 (12:26 -0400)
On z/OS, umask() returns an int because mode_t is type int, however it is being compared to an unsigned int. This patch fixes the following warning we see when compiling Path.cpp.

```
comparison of integers of different signs: 'const int' and 'const unsigned int'
```

Reviewed By: muiez

Differential Revision: https://reviews.llvm.org/D102326

llvm/unittests/Support/Path.cpp

index 33f2c71..7f95e6c 100644 (file)
@@ -1933,7 +1933,8 @@ TEST_F(FileSystemTest, getUmask) {
   unsigned CurrentMask = fs::getUmask();
   EXPECT_EQ(CurrentMask, 0022U)
       << "getUmask() didn't return previously set umask()";
-  EXPECT_EQ(::umask(OldMask), 0022U) << "getUmask() may have changed umask()";
+  EXPECT_EQ(::umask(OldMask), mode_t(0022U))
+      << "getUmask() may have changed umask()";
 #endif
 }