aboutsummaryrefslogtreecommitdiff
path: root/test/dynalloc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/dynalloc.cpp')
-rw-r--r--test/dynalloc.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/test/dynalloc.cpp b/test/dynalloc.cpp
index f1cc70bee..23c90a7b5 100644
--- a/test/dynalloc.cpp
+++ b/test/dynalloc.cpp
@@ -15,6 +15,7 @@
#define ALIGNMENT 1
#endif
+typedef Matrix<float,16,1> Vector16f;
typedef Matrix<float,8,1> Vector8f;
void check_handmade_aligned_malloc()
@@ -70,7 +71,7 @@ struct MyStruct
{
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
char dummychar;
- Vector8f avec;
+ Vector16f avec;
};
class MyClassA
@@ -78,7 +79,7 @@ class MyClassA
public:
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
char dummychar;
- Vector8f avec;
+ Vector16f avec;
};
template<typename T> void check_dynaligned()
@@ -106,7 +107,7 @@ template<typename T> void check_custom_new_delete()
delete[] t;
}
-#if EIGEN_MAX_ALIGN_BYTES>0
+#if EIGEN_MAX_ALIGN_BYTES>0 && (!EIGEN_HAS_CXX17_OVERALIGN)
{
T* t = static_cast<T *>((T::operator new)(sizeof(T)));
(T::operator delete)(t, sizeof(T));
@@ -119,7 +120,7 @@ template<typename T> void check_custom_new_delete()
#endif
}
-void test_dynalloc()
+EIGEN_DECLARE_TEST(dynalloc)
{
// low level dynamic memory allocation
CALL_SUBTEST(check_handmade_aligned_malloc());
@@ -145,6 +146,7 @@ void test_dynalloc()
CALL_SUBTEST(check_dynaligned<Vector4d>() );
CALL_SUBTEST(check_dynaligned<Vector4i>() );
CALL_SUBTEST(check_dynaligned<Vector8f>() );
+ CALL_SUBTEST(check_dynaligned<Vector16f>() );
}
{