mirror of
https://gitlab.com/libeigen/eigen.git
synced 2025-04-22 09:39:34 +08:00
Disable posix_memalign on Solaris and SunOS, and allows to by-pass built-in posix_memalign detection rules.
This commit is contained in:
parent
1681a665d9
commit
de18cd413d
@ -283,6 +283,19 @@
|
|||||||
#define EIGEN_OS_WIN_STRICT 0
|
#define EIGEN_OS_WIN_STRICT 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/// \internal EIGEN_OS_SUN set to 1 if the OS is SUN
|
||||||
|
#if (defined(sun) || defined(__sun)) && !(defined(__SVR4) || defined(__svr4__))
|
||||||
|
#define EIGEN_OS_SUN 1
|
||||||
|
#else
|
||||||
|
#define EIGEN_OS_SUN 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/// \internal EIGEN_OS_SOLARIS set to 1 if the OS is Solaris
|
||||||
|
#if (defined(sun) || defined(__sun)) && (defined(__SVR4) || defined(__svr4__))
|
||||||
|
#define EIGEN_OS_SOLARIS 1
|
||||||
|
#else
|
||||||
|
#define EIGEN_OS_SOLARIS 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -59,10 +59,11 @@
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef EIGEN_HAS_POSIX_MEMALIGN
|
||||||
// See bug 554 (http://eigen.tuxfamily.org/bz/show_bug.cgi?id=554)
|
// See bug 554 (http://eigen.tuxfamily.org/bz/show_bug.cgi?id=554)
|
||||||
// It seems to be unsafe to check _POSIX_ADVISORY_INFO without including unistd.h first.
|
// It seems to be unsafe to check _POSIX_ADVISORY_INFO without including unistd.h first.
|
||||||
// Currently, let's include it only on unix systems:
|
// Currently, let's include it only on unix systems:
|
||||||
#if EIGEN_OS_UNIX
|
#if EIGEN_OS_UNIX && !(EIGEN_OS_SUN || EIGEN_OS_SOLARIS)
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#if (EIGEN_OS_QNX || (defined _GNU_SOURCE) || EIGEN_COMP_PGI || ((defined _XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600))) && (defined _POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0)
|
#if (EIGEN_OS_QNX || (defined _GNU_SOURCE) || EIGEN_COMP_PGI || ((defined _XOPEN_SOURCE) && (_XOPEN_SOURCE >= 600))) && (defined _POSIX_ADVISORY_INFO) && (_POSIX_ADVISORY_INFO > 0)
|
||||||
#define EIGEN_HAS_POSIX_MEMALIGN 1
|
#define EIGEN_HAS_POSIX_MEMALIGN 1
|
||||||
@ -72,6 +73,7 @@
|
|||||||
#ifndef EIGEN_HAS_POSIX_MEMALIGN
|
#ifndef EIGEN_HAS_POSIX_MEMALIGN
|
||||||
#define EIGEN_HAS_POSIX_MEMALIGN 0
|
#define EIGEN_HAS_POSIX_MEMALIGN 0
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined EIGEN_VECTORIZE_SSE || defined EIGEN_VECTORIZE_AVX
|
#if defined EIGEN_VECTORIZE_SSE || defined EIGEN_VECTORIZE_AVX
|
||||||
#define EIGEN_HAS_MM_MALLOC 1
|
#define EIGEN_HAS_MM_MALLOC 1
|
||||||
|
@ -87,6 +87,9 @@ run time. However, these assertions do cost time and can thus be turned off.
|
|||||||
- \b EIGEN_STACK_ALLOCATION_LIMIT - defines the maximum bytes for a buffer to be allocated on the stack. For internal
|
- \b EIGEN_STACK_ALLOCATION_LIMIT - defines the maximum bytes for a buffer to be allocated on the stack. For internal
|
||||||
temporary buffers, dynamic memory allocation is employed as a fall back. For fixed-size matrices or arrays, exceeding
|
temporary buffers, dynamic memory allocation is employed as a fall back. For fixed-size matrices or arrays, exceeding
|
||||||
this threshold raises a compile time assertion. Use 0 to set no limit. Default is 128 KB.
|
this threshold raises a compile time assertion. Use 0 to set no limit. Default is 128 KB.
|
||||||
|
- \b EIGEN_HAS_POSIX_MEMALIGN - defines whether aligned memory allocation can be performed through the \c posix_memalign
|
||||||
|
function. The availability of \c posix_memalign is automatically checked on most platform, but this option allows to
|
||||||
|
by-pass %Eigen's built-in rules.
|
||||||
|
|
||||||
|
|
||||||
\section TopicPreprocessorDirectivesPlugins Plugins
|
\section TopicPreprocessorDirectivesPlugins Plugins
|
||||||
|
Loading…
x
Reference in New Issue
Block a user