diff -r 2bfb1feef9de -r ff5437e4337c kerneltest/e32test/device/t_newldd.cpp --- a/kerneltest/e32test/device/t_newldd.cpp Mon Oct 04 12:15:59 2010 +0100 +++ b/kerneltest/e32test/device/t_newldd.cpp Wed Oct 06 17:13:14 2010 +0100 @@ -161,12 +161,21 @@ RDebug::Printf("User-Side:vector operator new"); RDebug::Printf("OOM tests"); +#if defined(__ARMCC__) && __ARMCC_VERSION >= 400000 // Work-around a problem where compsupp doesn't overload the rvct 4.0 runtime + #define TEST_VEC_NEW_OOM(CLASS) \ + RDebug::Printf("new " #CLASS "[%d]", KOOMArraySize );\ + {\ + CLASS* p##CLASS = new(std::nothrow) CLASS[KOOMArraySize];\ + test_Equal(NULL, p##CLASS);\ + } +#else #define TEST_VEC_NEW_OOM(CLASS) \ RDebug::Printf("new " #CLASS "[%d]", KOOMArraySize );\ {\ CLASS* p##CLASS = new CLASS[KOOMArraySize];\ test_Equal(NULL, p##CLASS);\ } +#endif TEST_VEC_NEW_OOM(XCtorAndDtor); TEST_VEC_NEW_OOM(XCtorOnly);