11f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt//===----------------------------------------------------------------------===// 21f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt// 31f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt// The LLVM Compiler Infrastructure 461d9df3e62aaa0e87ad05452fcb95142159a17b6Dmitry Shmidt// 51f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt// This file is dual licensed under the MIT and the University of Illinois Open 6c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt// Source Licenses. See LICENSE.TXT for details. 7c5ec7f57ead87efa365800228aa0b09a12d9e6c4Dmitry Shmidt// 81f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt//===----------------------------------------------------------------------===// 91f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 101f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt// test bad_alloc 111f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 121f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#include <new> 131f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#include <type_traits> 141f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt#include <cassert> 151f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt 161f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidtint main() 171f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt{ 181f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt static_assert((std::is_base_of<std::exception, std::bad_alloc>::value), 191f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt "std::is_base_of<std::exception, std::bad_alloc>::value"); 201f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt static_assert(std::is_polymorphic<std::bad_alloc>::value, 211f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt "std::is_polymorphic<std::bad_alloc>::value"); 221f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt std::bad_alloc b; 231f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt std::bad_alloc b2 = b; 241f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt b2 = b; 251f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt const char* w = b2.what(); 261f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt assert(w); 271f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt} 281f69aa52ea2e0a73ac502565df8c666ee49cab6aDmitry Shmidt