diff --git a/Eigen/src/Core/MatrixStorage.h b/Eigen/src/Core/MatrixStorage.h index 307a1047c..9806dc6b2 100644 --- a/Eigen/src/Core/MatrixStorage.h +++ b/Eigen/src/Core/MatrixStorage.h @@ -37,8 +37,10 @@ template (array) & 0xf) == 0 && "this assertion is explained here: http://eigen.tuxfamily.org/api/UnalignedArrayAssert.html **** READ THIS WEB PAGE !!! ****"); + #endif } }; diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index b55efd741..6ad364a9a 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -86,13 +86,13 @@ template<> inline void* ei_conditional_aligned_malloc(size_t size) * On allocation error, the returned pointer is undefined, but if exceptions are enabled then a std::bad_alloc is thrown. * The default constructor of T is called. */ -template T* ei_aligned_new(size_t size) +template inline T* ei_aligned_new(size_t size) { void *void_result = ei_aligned_malloc(sizeof(T)*size); return ::new(void_result) T[size]; } -template T* ei_conditional_aligned_new(size_t size) +template inline T* ei_conditional_aligned_new(size_t size) { void *void_result = ei_conditional_aligned_malloc(sizeof(T)*size); return ::new(void_result) T[size]; @@ -120,7 +120,7 @@ template inline void ei_conditional_aligned_free(void *ptr) ei_aligned_free(ptr); } -template<> void ei_conditional_aligned_free(void *ptr) +template<> inline void ei_conditional_aligned_free(void *ptr) { free(ptr); } @@ -137,7 +137,7 @@ template inline void ei_delete_elements_of_array(T *ptr, size_t size /** \internal delete objects constructed with ei_aligned_new * The \a size parameters tells on how many objects to call the destructor of T. */ -template void ei_aligned_delete(T *ptr, size_t size) +template inline void ei_aligned_delete(T *ptr, size_t size) { ei_delete_elements_of_array(ptr, size); ei_aligned_free(ptr);