Index: base/tools_sanity_unittest.cc |
diff --git a/base/tools_sanity_unittest.cc b/base/tools_sanity_unittest.cc |
index c0541d139fb48b22c3425b02de90b10dedff7017..4340fcd9ba53a56739f71c936553893c7af423ef 100644 |
--- a/base/tools_sanity_unittest.cc |
+++ b/base/tools_sanity_unittest.cc |
@@ -339,4 +339,19 @@ TEST(ToolsSanityTest, AtomicsAreIgnored) { |
EXPECT_EQ(kMagicValue, shared); |
} |
+#if defined(CFI_ENFORCEMENT) |
+TEST(ToolsSanityTest, BadCast) { |
+ class A { |
+ virtual void f() {} |
+ }; |
+ |
+ class B { |
+ virtual void f() {} |
+ }; |
+ |
+ A a; |
+ EXPECT_DEATH((void)(B*)&a, "ILL_ILLOPN"); |
+} |
+#endif |
+ |
} // namespace base |