summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc
diff options
context:
space:
mode:
authorAlexey Samsonov <samsonov@google.com>2013-06-06 09:23:34 +0000
committerAlexey Samsonov <samsonov@google.com>2013-06-06 09:23:34 +0000
commit2874f70250286e581c3b15be0f1f8ad3b9e86aa5 (patch)
tree30f7d3da64697083dc294311eac536d1421bb989 /compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc
parent15439bcf79decf81f94bfaf2e4b39167bf954b18 (diff)
downloadbcm5719-llvm-2874f70250286e581c3b15be0f1f8ad3b9e86aa5.tar.gz
bcm5719-llvm-2874f70250286e581c3b15be0f1f8ad3b9e86aa5.zip
[ASan] move all lit_tests under TestCases
llvm-svn: 183395
Diffstat (limited to 'compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc')
-rw-r--r--compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc47
1 files changed, 47 insertions, 0 deletions
diff --git a/compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc b/compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc
new file mode 100644
index 00000000000..12fbc49ed91
--- /dev/null
+++ b/compiler-rt/lib/asan/lit_tests/TestCases/initialization-blacklist.cc
@@ -0,0 +1,47 @@
+// Test for blacklist functionality of initialization-order checker.
+
+// RUN: %clangxx_asan -m64 -O0 %s %p/Helpers/initialization-blacklist-extra.cc\
+// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
+// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt \
+// RUN: -fsanitize=init-order -o %t
+// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1
+// RUN: %clangxx_asan -m64 -O1 %s %p/Helpers/initialization-blacklist-extra.cc\
+// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
+// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt \
+// RUN: -fsanitize=init-order -o %t
+// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1
+// RUN: %clangxx_asan -m64 -O2 %s %p/Helpers/initialization-blacklist-extra.cc\
+// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
+// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt \
+// RUN: -fsanitize=init-order -o %t
+// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1
+// RUN: %clangxx_asan -m32 -O0 %s %p/Helpers/initialization-blacklist-extra.cc\
+// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
+// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt \
+// RUN: -fsanitize=init-order -o %t
+// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1
+// RUN: %clangxx_asan -m32 -O1 %s %p/Helpers/initialization-blacklist-extra.cc\
+// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
+// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt \
+// RUN: -fsanitize=init-order -o %t
+// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1
+// RUN: %clangxx_asan -m32 -O2 %s %p/Helpers/initialization-blacklist-extra.cc\
+// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
+// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt \
+// RUN: -fsanitize=init-order -o %t
+// RUN: ASAN_OPTIONS=check_initialization_order=true %t 2>&1
+
+// Function is defined in another TU.
+int readBadGlobal();
+int x = readBadGlobal(); // init-order bug.
+
+// Function is defined in another TU.
+int accessBadObject();
+int y = accessBadObject(); // init-order bug.
+
+int readBadSrcGlobal();
+int z = readBadSrcGlobal(); // init-order bug.
+
+int main(int argc, char **argv) {
+ return argc + x + y + z - 1;
+}
OpenPOWER on IntegriCloud