diff options
author | Hauke Heibel <hauke.heibel@gmail.com> | 2010-04-17 16:08:17 +0200 |
---|---|---|
committer | Hauke Heibel <hauke.heibel@gmail.com> | 2010-04-17 16:08:17 +0200 |
commit | cc33a5614018db36f7888a7c36b767563b50bb92 (patch) | |
tree | 501513f20eac662a4e76b428b6dc28ffd2051160 /Eigen | |
parent | 0326a51f897184eae20194c7c38750a504cbd994 (diff) |
Added MSVC stack allocation support.
Diffstat (limited to 'Eigen')
-rw-r--r-- | Eigen/src/Core/util/Memory.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Eigen/src/Core/util/Memory.h b/Eigen/src/Core/util/Memory.h index 1cd231329..e8af03144 100644 --- a/Eigen/src/Core/util/Memory.h +++ b/Eigen/src/Core/util/Memory.h @@ -425,10 +425,15 @@ inline static Integer ei_first_aligned(const Scalar* array, Integer size) * \endcode */ #if (defined __linux__) - #define ei_aligned_stack_alloc(SIZE) (SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) \ + #define ei_aligned_stack_alloc(SIZE) (SIZE<=EI GEN_STACK_ALLOCATION_LIMIT) \ ? alloca(SIZE) \ : ei_aligned_malloc(SIZE) #define ei_aligned_stack_free(PTR,SIZE) if(SIZE>EIGEN_STACK_ALLOCATION_LIMIT) ei_aligned_free(PTR) +#elif defined(_MSC_VER) + #define ei_aligned_stack_alloc(SIZE) (SIZE<=EIGEN_STACK_ALLOCATION_LIMIT) \ + ? _alloca(SIZE) \ + : ei_aligned_malloc(SIZE) + #define ei_aligned_stack_free(PTR,SIZE) if(SIZE>EIGEN_STACK_ALLOCATION_LIMIT) ei_aligned_free(PTR) #else #define ei_aligned_stack_alloc(SIZE) ei_aligned_malloc(SIZE) #define ei_aligned_stack_free(PTR,SIZE) ei_aligned_free(PTR) |