#include <new>
// At one point, Valgrind wasn't overriding these 'nothrow' versions; since
// they call malloc(), the calls to 'delete' caused bogus mismatch errors.
int main()
{
int * a = new (std::nothrow) int;
int * b = new (std::nothrow) int[5];
delete a;
delete [] b;
}