summaryrefslogtreecommitdiffstats
path: root/llvm/unittests
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2015-08-19 23:07:27 +0000
committerDavid Blaikie <dblaikie@gmail.com>2015-08-19 23:07:27 +0000
commitc7aaacde670e455dfae518e6f52c2252cad9bab2 (patch)
tree8bc2a6e489a5690d357a31b58bb3a2209a0781ae /llvm/unittests
parent87d89d2be122f33bd6559c8061964abd3263af91 (diff)
downloadbcm5719-llvm-c7aaacde670e455dfae518e6f52c2252cad9bab2.tar.gz
bcm5719-llvm-c7aaacde670e455dfae518e6f52c2252cad9bab2.zip
Allow Optionals to be compared to None
This is something like nullopt in std::experimental::optional. Optional could already be constructed from None, so this seems like an obvious extension from there. I have a use in a future patch for Clang, though it may not go that way/end up used - so this seemed worth committing now regardless. llvm-svn: 245518
Diffstat (limited to 'llvm/unittests')
-rw-r--r--llvm/unittests/ADT/OptionalTest.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/llvm/unittests/ADT/OptionalTest.cpp b/llvm/unittests/ADT/OptionalTest.cpp
index 92c4eec487a..18b59e31581 100644
--- a/llvm/unittests/ADT/OptionalTest.cpp
+++ b/llvm/unittests/ADT/OptionalTest.cpp
@@ -377,5 +377,18 @@ TEST_F(OptionalTest, MoveGetValueOr) {
#endif // LLVM_HAS_RVALUE_REFERENCE_THIS
+TEST_F(OptionalTest, NoneComparison) {
+ Optional<int> o;
+ EXPECT_EQ(o, None);
+ EXPECT_EQ(None, o);
+ EXPECT_FALSE(o != None);
+ EXPECT_FALSE(None != o);
+ o = 3;
+ EXPECT_FALSE(o == None);
+ EXPECT_FALSE(None == o);
+ EXPECT_TRUE(o != None);
+ EXPECT_TRUE(None != o);
+}
+
} // end anonymous namespace
OpenPOWER on IntegriCloud