[llvm] r210072 - Make this operator bool() explicit to match the standard library.

Rafael Espindola rafael.espindola at gmail.com
Mon Jun 2 21:42:26 PDT 2014


Author: rafael
Date: Mon Jun  2 23:42:24 2014
New Revision: 210072

URL: http://llvm.org/viewvc/llvm-project?rev=210072&view=rev
Log:
Make this operator bool() explicit to match the standard library.

Modified:
    llvm/trunk/include/llvm/Support/system_error.h
    llvm/trunk/unittests/Support/YAMLIOTest.cpp

Modified: llvm/trunk/include/llvm/Support/system_error.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/system_error.h?rev=210072&r1=210071&r2=210072&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Support/system_error.h (original)
+++ llvm/trunk/include/llvm/Support/system_error.h Mon Jun  2 23:42:24 2014
@@ -753,11 +753,8 @@ public:
 
   std::string message() const;
 
-  typedef void (*unspecified_bool_type)();
-  static void unspecified_bool_true() {}
-
-  operator unspecified_bool_type() const { // true if error
-    return _val_ == 0 ? nullptr : unspecified_bool_true;
+  LLVM_EXPLICIT operator bool() const {
+    return _val_ != 0;
   }
 };
 

Modified: llvm/trunk/unittests/Support/YAMLIOTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/Support/YAMLIOTest.cpp?rev=210072&r1=210071&r2=210072&view=diff
==============================================================================
--- llvm/trunk/unittests/Support/YAMLIOTest.cpp (original)
+++ llvm/trunk/unittests/Support/YAMLIOTest.cpp Mon Jun  2 23:42:24 2014
@@ -1206,7 +1206,7 @@ TEST(YAMLIO, TestValidatingInput) {
             "--- \nvalue:  -1.0\n...\n",
             NULL, suppressErrorMessages);
   yin >> docList;
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1227,7 +1227,7 @@ TEST(YAMLIO, TestColorsReadError) {
             /*Ctxt=*/NULL,
             suppressErrorMessages);
   yin >> map;
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1245,7 +1245,7 @@ TEST(YAMLIO, TestFlagsReadError) {
             suppressErrorMessages);
   yin >> map;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1264,7 +1264,7 @@ TEST(YAMLIO, TestReadBuiltInTypesUint8Er
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1283,7 +1283,7 @@ TEST(YAMLIO, TestReadBuiltInTypesUint16E
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1302,7 +1302,7 @@ TEST(YAMLIO, TestReadBuiltInTypesUint32E
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1321,7 +1321,7 @@ TEST(YAMLIO, TestReadBuiltInTypesUint64E
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1341,7 +1341,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint8Ove
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1359,7 +1359,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint8Und
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1379,7 +1379,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint16Un
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1398,7 +1398,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint16Ov
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1418,7 +1418,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint32Un
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1436,7 +1436,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint32Ov
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1456,7 +1456,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint64Un
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1474,7 +1474,7 @@ TEST(YAMLIO, TestReadBuiltInTypesint64Ov
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1493,7 +1493,7 @@ TEST(YAMLIO, TestReadBuiltInTypesFloatEr
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1512,7 +1512,7 @@ TEST(YAMLIO, TestReadBuiltInTypesDoubleE
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1530,7 +1530,7 @@ TEST(YAMLIO, TestReadBuiltInTypesHex8Err
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 
@@ -1549,7 +1549,7 @@ TEST(YAMLIO, TestReadBuiltInTypesHex16Er
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1567,7 +1567,7 @@ TEST(YAMLIO, TestReadBuiltInTypesHex32Er
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 //
@@ -1585,7 +1585,7 @@ TEST(YAMLIO, TestReadBuiltInTypesHex64Er
             suppressErrorMessages);
   yin >> seq;
 
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 TEST(YAMLIO, TestMalformedMapFailsGracefully) {
@@ -1595,13 +1595,13 @@ TEST(YAMLIO, TestMalformedMapFailsGracef
     // message generated in the constructor of Input.
     Input yin("{foo:3, bar: 5}", /*Ctxt=*/NULL, suppressErrorMessages);
     yin >> doc;
-    EXPECT_TRUE(yin.error());
+    EXPECT_TRUE(!!yin.error());
   }
 
   {
     Input yin("---\nfoo:3\nbar: 5\n...\n", /*Ctxt=*/NULL, suppressErrorMessages);
     yin >> doc;
-    EXPECT_TRUE(yin.error());
+    EXPECT_TRUE(!!yin.error());
   }
 }
 
@@ -1673,7 +1673,7 @@ TEST(YAMLIO, TestEmptyStringFailsForMapW
   FooBar doc;
   Input yin("");
   yin >> doc;
-  EXPECT_TRUE(yin.error());
+  EXPECT_TRUE(!!yin.error());
 }
 
 TEST(YAMLIO, TestEmptyStringSucceedsForMapWithOptionalFields) {





More information about the llvm-commits mailing list