the big memory changes. the most important changes are:
ei_aligned_malloc now really behaves like a malloc
 (untyped, doesn't call ctor)
ei_aligned_new is the typed variant calling ctor
EIGEN_MAKE_ALIGNED_OPERATOR_NEW now takes the class name as parameter
diff --git a/test/nomalloc.cpp b/test/nomalloc.cpp
index be4c35c..82119e9 100644
--- a/test/nomalloc.cpp
+++ b/test/nomalloc.cpp
@@ -25,28 +25,13 @@
 
 // this hack is needed to make this file compiles with -pedantic (gcc)
 #define throw(X)
-// discard vectorization since the global operator new is not called in that case
-#define EIGEN_DONT_VECTORIZE 1
-// discard stack allocation as that too bypasses the global operator new
+// discard stack allocation as that too bypasses malloc
 #define EIGEN_STACK_ALLOCATION_LIMIT 0
+// any heap allocation will raise an assert
+#define EIGEN_NO_MALLOC
 
 #include "main.h"
 
-void* operator new[] (size_t n)
-{
-  ei_assert(false && "operator new should never be called with fixed size path");
-  // the following is in case assertion are disabled
-  std::cerr << "operator new should never be called with fixed size path" << std::endl;
-  exit(2);
-  void* p = malloc(n);
-  return p;
-}
-
-void operator delete[](void* p) throw()
-{
-  free(p);
-}
-
 template<typename MatrixType> void nomalloc(const MatrixType& m)
 {
   /* this test check no dynamic memory allocation are issued with fixed-size matrices