xref: /llvm-project/compiler-rt/test/asan/TestCases/Helpers/initialization-ignorelist-extra.cpp (revision d7ec48d71bd67118e7996c45e9c7fb1b09d4f59a)

zero_init()1*d7ec48d7SNico Weber int zero_init() { return 0; }
2*d7ec48d7SNico Weber int badGlobal = zero_init();
readBadGlobal()3*d7ec48d7SNico Weber int readBadGlobal() { return badGlobal; }
4*d7ec48d7SNico Weber 
5*d7ec48d7SNico Weber namespace badNamespace {
6*d7ec48d7SNico Weber class BadClass {
7*d7ec48d7SNico Weber  public:
BadClass()8*d7ec48d7SNico Weber   BadClass() { value = 0; }
9*d7ec48d7SNico Weber   int value;
10*d7ec48d7SNico Weber };
11*d7ec48d7SNico Weber // Global object with non-trivial constructor.
12*d7ec48d7SNico Weber BadClass bad_object;
13*d7ec48d7SNico Weber }  // namespace badNamespace
14*d7ec48d7SNico Weber 
accessBadObject()15*d7ec48d7SNico Weber int accessBadObject() { return badNamespace::bad_object.value; }
16