Add CFI tests for -lowertypetests-bitsets-level.
authorIvan Krasin <krasin@chromium.org>
Wed, 3 Aug 2016 19:08:55 +0000 (19:08 +0000)
committerIvan Krasin <krasin@chromium.org>
Wed, 3 Aug 2016 19:08:55 +0000 (19:08 +0000)
Summary:
-lowertypetests-bitsets-level controls which kinds of bitsets
are generated, as introduced in r277556. This change adds tests
to compiler-rt.

Reviewers: kcc

Differential Revision: https://reviews.llvm.org/D23103

llvm-svn: 277632

compiler-rt/test/cfi/multiple-inheritance.cpp
compiler-rt/test/cfi/simple-pass.cpp

index a3b2ac5..5ef4b47 100644 (file)
 // RUN: %t6 2>&1 | FileCheck --check-prefix=CFI-DIAG2 %s
 // RUN: %t6 x 2>&1 | FileCheck --check-prefix=CFI-DIAG1 %s
 
+// RUN: %clangxx_cfi_diag -Wl,-plugin-opt,--lowertypetests-bitsets-level=0 -o %t7 %s
+// RUN: %t7 2>&1 | FileCheck --check-prefix=NCFI %s
+// RUN: %t7 x 2>&1 | FileCheck --check-prefix=CFI-DIAG1 %s
+
+// RUN: %clangxx_cfi_diag -Wl,-plugin-opt,--lowertypetests-bitsets-level=1 -o %t8 %s
+// RUN: %t8 2>&1 | FileCheck --check-prefix=CFI-DIAG2 %s
+// RUN: %t8 x 2>&1 | FileCheck --check-prefix=CFI-DIAG1 %s
+
+// RUN: %clangxx_cfi_diag -Wl,-plugin-opt,--lowertypetests-bitsets-level=2 -o %t9 %s
+// RUN: %t9 2>&1 | FileCheck --check-prefix=CFI-DIAG2 %s
+// RUN: %t9 x 2>&1 | FileCheck --check-prefix=CFI-DIAG1 %s
+
 // Tests that the CFI mechanism is sensitive to multiple inheritance and only
 // permits calls via virtual tables for the correct base class.
 
index 4d856eb..d1548e3 100644 (file)
@@ -1,5 +1,11 @@
 // RUN: %clangxx_cfi -o %t %s
 // RUN: %t
+// RUN: %clangxx_cfi -Wl,-plugin-opt,--lowertypetests-bitsets-level=0 -o %t2 %s
+// RUN: %t2
+// RUN: %clangxx_cfi -Wl,-plugin-opt,--lowertypetests-bitsets-level=1 -o %t3 %s
+// RUN: %t3
+// RUN: %clangxx_cfi -Wl,-plugin-opt,--lowertypetests-bitsets-level=2 -o %t4 %s
+// RUN: %t4
 
 // Tests that the CFI mechanism does not crash the program when making various
 // kinds of valid calls involving classes with various different linkages and