kerneltest/e32test/device/t_newldd.cpp
changeset 285 ff5437e4337c
parent 0 a41df078684a
child 293 0659d0e1a03c
--- 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);