diff options
Diffstat (limited to 'lib/asan/lit_tests/TestCases/Linux/preinit_test.cc')
-rw-r--r-- | lib/asan/lit_tests/TestCases/Linux/preinit_test.cc | 27 |
1 files changed, 0 insertions, 27 deletions
diff --git a/lib/asan/lit_tests/TestCases/Linux/preinit_test.cc b/lib/asan/lit_tests/TestCases/Linux/preinit_test.cc deleted file mode 100644 index 28e509472c0c7..0000000000000 --- a/lib/asan/lit_tests/TestCases/Linux/preinit_test.cc +++ /dev/null @@ -1,27 +0,0 @@ -// RUN: %clangxx -DFUNC=zzzz %s -shared -o %t.so -fPIC -// RUN: %clangxx_asan -DFUNC=main %s -o %t -Wl,-R. %t.so -// RUN: %t - -// This test ensures that we call __asan_init early enough. -// We build a shared library w/o asan instrumentation -// and the binary with asan instrumentation. -// Both files include the same header (emulated by -DFUNC here) -// with C++ template magic which runs global initializer at library load time. -// The function get() is instrumented with asan, but called -// before the usual constructors are run. -// So, we must make sure that __asan_init is executed even earlier. -// -// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56393 - -struct A { - int foo() const { return 0; } -}; -A get () { return A(); } -template <class> struct O { - static A const e; -}; -template <class T> A const O <T>::e = get(); -int FUNC() { - return O<int>::e.foo(); -} - |