Make a few tests optimization-proof. These tests were failing under -O3 because the optimizer was eliminating the call to new.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@172631 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0b93963db7
commit
5ce391e336
@ -35,7 +35,7 @@ int main()
|
||||
std::set_new_handler(new_handler);
|
||||
try
|
||||
{
|
||||
void* vp = operator new[] (std::numeric_limits<std::size_t>::max());
|
||||
void*volatile vp = operator new[] (std::numeric_limits<std::size_t>::max());
|
||||
assert(false);
|
||||
}
|
||||
catch (std::bad_alloc&)
|
||||
|
@ -35,7 +35,7 @@ int main()
|
||||
std::set_new_handler(new_handler);
|
||||
try
|
||||
{
|
||||
void* vp = operator new [] (std::numeric_limits<std::size_t>::max(), std::nothrow);
|
||||
void*volatile vp = operator new [] (std::numeric_limits<std::size_t>::max(), std::nothrow);
|
||||
assert(new_handler_called == 1);
|
||||
assert(vp == 0);
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ void operator delete(void* p) throw()
|
||||
std::free(p);
|
||||
}
|
||||
|
||||
int A_constructed = 0;
|
||||
volatile int A_constructed = 0;
|
||||
|
||||
struct A
|
||||
{
|
||||
|
@ -15,7 +15,7 @@
|
||||
#include <cassert>
|
||||
#include <limits>
|
||||
|
||||
int new_called = 0;
|
||||
volatile int new_called = 0;
|
||||
|
||||
void* operator new(std::size_t s) throw(std::bad_alloc)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user