# HG changeset patch # User Emilio Cobos Álvarez # Date 1606915787 -3600 # Node ID 8aa3952dd7208d96648ea171f814c748ec027630 # Parent ff436849850a87dfa3db032e80eaba5e5a3536f4 Bug 1680166 - GCC is smarter than clang, so ignore the warning properly. a=RyanVM diff --git a/security/sandbox/linux/gtest/TestBroker.cpp b/security/sandbox/linux/gtest/TestBroker.cpp --- a/security/sandbox/linux/gtest/TestBroker.cpp +++ b/security/sandbox/linux/gtest/TestBroker.cpp @@ -212,23 +212,27 @@ TEST_F(SandboxBrokerTest, Access) { TEST_F(SandboxBrokerTest, Stat) { statstruct realStat, brokeredStat; ASSERT_EQ(0, statsyscall("/dev/null", &realStat)) << "Shouldn't ever fail!"; EXPECT_EQ(0, Stat("/dev/null", &brokeredStat)); EXPECT_EQ(realStat.st_ino, brokeredStat.st_ino); EXPECT_EQ(realStat.st_rdev, brokeredStat.st_rdev); - // Add some indirection to avoid -Wnonnull warnings. - [&](const char* aPath) { - EXPECT_EQ(-1, statsyscall(aPath, &realStat)); - EXPECT_EQ(errno, EFAULT); +#if defined(__clang__) || defined(__GNUC__) +# pragma GCC diagnostic push +# pragma GCC diagnostic ignored "-Wnonnull" +#endif + EXPECT_EQ(-1, statsyscall(nullptr, &realStat)); + EXPECT_EQ(errno, EFAULT); - EXPECT_EQ(-EFAULT, Stat(aPath, &brokeredStat)); - }(nullptr); + EXPECT_EQ(-EFAULT, Stat(nullptr, &brokeredStat)); +#if defined(__clang__) || defined(__GNUC__) +# pragma GCC diagnostic pop +#endif EXPECT_EQ(-ENOENT, Stat("/var/empty/qwertyuiop", &brokeredStat)); EXPECT_EQ(-EACCES, Stat("/dev", &brokeredStat)); EXPECT_EQ(0, Stat("/proc/self", &brokeredStat)); EXPECT_TRUE(S_ISDIR(brokeredStat.st_mode)); }