compiler_setup.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #define arma_hot
00019 #define arma_cold
00020 #define arma_pure
00021 #define arma_const
00022 #define arma_inline inline
00023 #define arma_aligned
00024 #define arma_warn_unused
00025
00026 #if defined(__GNUG__)
00027
00028 #if (__GNUC__ < 4)
00029 #error "*** Need a newer compiler ***"
00030 #endif
00031
00032 #if (__GNUC_MINOR__ >= 3)
00033 #undef arma_hot
00034 #undef arma_cold
00035
00036 #define arma_hot __attribute__((hot))
00037 #define arma_cold __attribute__((cold))
00038 #endif
00039
00040 #undef arma_pure
00041 #undef arma_const
00042 #undef arma_inline
00043 #undef arma_aligned
00044 #undef arma_warn_unused
00045
00046 #define arma_pure __attribute__((pure))
00047 #define arma_const __attribute__((const))
00048 #define arma_inline inline __attribute__((always_inline))
00049 #define arma_aligned __attribute__((aligned))
00050 #define arma_warn_unused __attribute__((warn_unused_result))
00051
00052 #define ARMA_GOOD_COMPILER
00053
00054 #elif defined(__INTEL_COMPILER)
00055
00056 #if (__INTEL_COMPILER < 1000)
00057 #error "*** Need a newer compiler ***"
00058 #endif
00059
00060 #define ARMA_GOOD_COMPILER
00061
00062 #elif defined(_MSC_VER)
00063
00064 #pragma message ("*** WARNING: This compiler may have an incomplete implementation of the C++ standard ***")
00065 #undef ARMA_GOOD_COMPILER
00066
00067 #endif
00068
00069
00070 #if defined(__CUDACC__)
00071 #undef ARMA_HAVE_STD_ISFINITE
00072 #undef ARMA_HAVE_STD_ISINF
00073 #undef ARMA_HAVE_STD_ISNAN
00074 #endif
00075
00076
00077 #if defined(__INTEL_COMPILER)
00078 #if (__INTEL_COMPILER <= 1110)
00079 #undef ARMA_HAVE_STD_ISFINITE
00080 #endif
00081 #endif