]> granicus.if.org Git - llvm/commitdiff
[ADT] Only run death tests in !NDEBUG
authorBenjamin Kramer <benny.kra@googlemail.com>
Fri, 20 Jul 2018 22:15:09 +0000 (22:15 +0000)
committerBenjamin Kramer <benny.kra@googlemail.com>
Fri, 20 Jul 2018 22:15:09 +0000 (22:15 +0000)
These invoke undefined behavior.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337625 91177308-0d34-0410-b5e6-96231b3b80d8

unittests/ADT/AnyTest.cpp

index baa161cbe0d2c66d651658c1b24ad27d2f1f9c14..658f6b6ce3b7241af11dd14664b9563525a982b5 100644 (file)
@@ -160,14 +160,16 @@ TEST(AnyTest, BadAnyCast) {
   llvm::Any C{"hello"};
   llvm::Any D{'x'};
 
-  EXPECT_DEBUG_DEATH(llvm::any_cast<int>(A), "");
+#if !defined(NDEBUG) && GTEST_HAS_DEATH_TEST
+  EXPECT_DEATH(llvm::any_cast<int>(A), "");
 
-  EXPECT_DEBUG_DEATH(llvm::any_cast<float>(B), "");
-  EXPECT_DEBUG_DEATH(llvm::any_cast<int *>(B), "");
+  EXPECT_DEATH(llvm::any_cast<float>(B), "");
+  EXPECT_DEATH(llvm::any_cast<int *>(B), "");
 
-  EXPECT_DEBUG_DEATH(llvm::any_cast<std::string>(C), "");
+  EXPECT_DEATH(llvm::any_cast<std::string>(C), "");
 
-  EXPECT_DEBUG_DEATH(llvm::any_cast<unsigned char>(D), "");
+  EXPECT_DEATH(llvm::any_cast<unsigned char>(D), "");
+#endif
 }
 
 } // anonymous namespace