Added MSVC stack allocation support.

This commit is contained in:
Hauke Heibel 2010-04-17 16:08:17 +02:00
parent 0326a51f89
commit cc33a56140

View File

@ -429,6 +429,11 @@ inline static Integer ei_first_aligned(const Scalar* array, Integer size)
? alloca(SIZE) \ ? alloca(SIZE) \
: ei_aligned_malloc(SIZE) : ei_aligned_malloc(SIZE)
#define ei_aligned_stack_free(PTR,SIZE) if(SIZE>EIGEN_STACK_ALLOCATION_LIMIT) ei_aligned_free(PTR) #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 #else
#define ei_aligned_stack_alloc(SIZE) ei_aligned_malloc(SIZE) #define ei_aligned_stack_alloc(SIZE) ei_aligned_malloc(SIZE)
#define ei_aligned_stack_free(PTR,SIZE) ei_aligned_free(PTR) #define ei_aligned_stack_free(PTR,SIZE) ei_aligned_free(PTR)