blob: bcdb111b8bfb307fbac7b4c2dd694bafeea0b775 [file] [log] [blame]
Stephen Hines2d1fdb22014-05-28 23:58:16 -07001// Test for blacklist functionality of initialization-order checker.
2
3// RUN: %clangxx_asan -O0 %s %p/Helpers/initialization-blacklist-extra.cc\
4// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
Stephen Hines6a211c52014-07-21 00:49:56 -07005// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt -o %t
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -07006// RUN: env ASAN_OPTIONS=$ASAN_OPTIONS:check_initialization_order=true %run %t 2>&1
Stephen Hines2d1fdb22014-05-28 23:58:16 -07007// RUN: %clangxx_asan -O1 %s %p/Helpers/initialization-blacklist-extra.cc\
8// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
Stephen Hines6a211c52014-07-21 00:49:56 -07009// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt -o %t
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -070010// RUN: env ASAN_OPTIONS=$ASAN_OPTIONS:check_initialization_order=true %run %t 2>&1
Stephen Hines2d1fdb22014-05-28 23:58:16 -070011// RUN: %clangxx_asan -O2 %s %p/Helpers/initialization-blacklist-extra.cc\
12// RUN: %p/Helpers/initialization-blacklist-extra2.cc \
Stephen Hines6a211c52014-07-21 00:49:56 -070013// RUN: -fsanitize-blacklist=%p/Helpers/initialization-blacklist.txt -o %t
Pirama Arumuga Nainarcdce50b2015-07-01 12:26:56 -070014// RUN: env ASAN_OPTIONS=$ASAN_OPTIONS:check_initialization_order=true %run %t 2>&1
Stephen Hines2d1fdb22014-05-28 23:58:16 -070015
16// Function is defined in another TU.
17int readBadGlobal();
18int x = readBadGlobal(); // init-order bug.
19
20// Function is defined in another TU.
21int accessBadObject();
22int y = accessBadObject(); // init-order bug.
23
24int readBadSrcGlobal();
25int z = readBadSrcGlobal(); // init-order bug.
26
27int main(int argc, char **argv) {
28 return argc + x + y + z - 1;
29}