diff options
Diffstat (limited to 'libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp')
-rw-r--r-- | libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp b/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp deleted file mode 100644 index 3ba71dd90e3..00000000000 --- a/libcxx/test/language.support/support.dynamic/new.delete/new.delete.single/new.pass.cpp +++ /dev/null @@ -1,57 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// test operator new - -// asan and msan will not call the new handler. -// UNSUPPORTED: asan, msan - -#include <new> -#include <cstddef> -#include <cassert> -#include <limits> - -int new_handler_called = 0; - -void new_handler() -{ - ++new_handler_called; - std::set_new_handler(0); -} - -bool A_constructed = false; - -struct A -{ - A() {A_constructed = true;} - ~A() {A_constructed = false;} -}; - -int main() -{ - std::set_new_handler(new_handler); - try - { - void* vp = operator new (std::numeric_limits<std::size_t>::max()); - assert(false); - } - catch (std::bad_alloc&) - { - assert(new_handler_called == 1); - } - catch (...) - { - assert(false); - } - A* ap = new A; - assert(ap); - assert(A_constructed); - delete ap; - assert(!A_constructed); -} |