annotate armadillo-2.4.4/include/armadillo_bits/compiler_setup.hpp @ 18:8d046a9d36aa slimline

Back out rev 13:ac07c60aa798. Like an idiot, I committed a whole pile of unrelated changes in the guise of a single typo fix. Will re-commit in stages
author Chris Cannam
date Thu, 10 May 2012 10:45:44 +0100
parents 8b6102e2a9b0
children
rev   line source
max@0 1 // Copyright (C) 2008-2011 NICTA (www.nicta.com.au)
max@0 2 // Copyright (C) 2008-2011 Conrad Sanderson
max@0 3 //
max@0 4 // This file is part of the Armadillo C++ library.
max@0 5 // It is provided without any warranty of fitness
max@0 6 // for any purpose. You can redistribute this file
max@0 7 // and/or modify it under the terms of the GNU
max@0 8 // Lesser General Public License (LGPL) as published
max@0 9 // by the Free Software Foundation, either version 3
max@0 10 // of the License or (at your option) any later version.
max@0 11 // (see http://www.opensource.org/licenses for more info)
max@0 12
max@0 13
max@0 14
max@0 15 #define arma_hot
max@0 16 #define arma_cold
max@0 17 #define arma_pure
max@0 18 #define arma_const
max@0 19 #define arma_inline inline
max@0 20 #define arma_aligned
max@0 21 #define arma_warn_unused
max@0 22 #define arma_deprecated
max@0 23 #define arma_ignore(variable) ((void)(variable))
max@0 24
max@0 25
max@0 26 #if defined(ARMA_BLAS_UNDERSCORE)
max@0 27 #define arma_fortran2_noprefix(function) function##_
max@0 28 #define arma_fortran2_prefix(function) wrapper_##function##_
max@0 29 #else
max@0 30 #define arma_fortran2_prefix(function) wrapper_##function
max@0 31 #define arma_fortran2_noprefix(function) function
max@0 32 #endif
max@0 33
max@0 34 #if defined(ARMA_USE_WRAPPER)
max@0 35 #define arma_fortran(function) arma_fortran2_prefix(function)
max@0 36 #define arma_atlas(function) wrapper_##function
max@0 37 #else
max@0 38 #define arma_fortran(function) arma_fortran2_noprefix(function)
max@0 39 #define arma_atlas(function) function
max@0 40 #endif
max@0 41
max@0 42 #define arma_fortran_prefix(function) arma_fortran2_prefix(function)
max@0 43 #define arma_fortran_noprefix(function) arma_fortran2_noprefix(function)
max@0 44
max@0 45
max@0 46 #define ARMA_INCFILE_WRAP(x) <x>
max@0 47
max@0 48
max@0 49 #if defined(__INTEL_COMPILER)
max@0 50
max@0 51 #if (__INTEL_COMPILER < 1000)
max@0 52 #error "*** Need a newer compiler ***"
max@0 53 #endif
max@0 54
max@0 55 #define ARMA_GOOD_COMPILER
max@0 56 #undef ARMA_HAVE_STD_TR1
max@0 57
max@0 58 #if (__INTEL_COMPILER <= 1110)
max@0 59 #undef ARMA_HAVE_STD_ISFINITE
max@0 60 #endif
max@0 61
max@0 62 #elif defined(__GNUG__)
max@0 63
max@0 64 #if (__GNUC__ < 4)
max@0 65 #error "*** Need a newer compiler ***"
max@0 66 #endif
max@0 67
max@0 68 #define ARMA_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
max@0 69
max@0 70 #define ARMA_GOOD_COMPILER
max@0 71 #undef ARMA_HAVE_STD_TR1
max@0 72
max@0 73 #undef arma_pure
max@0 74 #undef arma_const
max@0 75 #undef arma_inline
max@0 76 #undef arma_aligned
max@0 77 #undef arma_warn_unused
max@0 78 #undef arma_deprecated
max@0 79
max@0 80 #define arma_pure __attribute__((pure))
max@0 81 #define arma_const __attribute__((const))
max@0 82 #define arma_inline inline __attribute__((always_inline))
max@0 83 #define arma_aligned __attribute__((aligned))
max@0 84 #define arma_warn_unused __attribute__((warn_unused_result))
max@0 85 #define arma_deprecated __attribute__((deprecated))
max@0 86
max@0 87 #if (ARMA_GCC_VERSION >= 40200)
max@0 88 #if defined(_GLIBCXX_USE_C99_MATH_TR1) && defined(_GLIBCXX_USE_C99_COMPLEX_TR1)
max@0 89 #define ARMA_HAVE_STD_TR1
max@0 90 #endif
max@0 91 #endif
max@0 92
max@0 93 #if defined(__GXX_EXPERIMENTAL_CXX0X__)
max@0 94 #undef ARMA_HAVE_STD_TR1
max@0 95
max@0 96 #if !defined(ARMA_USE_CXX11)
max@0 97 #define ARMA_USE_CXX11
max@0 98 #endif
max@0 99 #endif
max@0 100
max@0 101 #if defined(__clang__)
max@0 102 #undef ARMA_HAVE_STD_TR1
max@0 103 #endif
max@0 104
max@0 105 #if (ARMA_GCC_VERSION >= 40300)
max@0 106 #undef arma_hot
max@0 107 #undef arma_cold
max@0 108
max@0 109 #define arma_hot __attribute__((hot))
max@0 110 #define arma_cold __attribute__((cold))
max@0 111 #endif
max@0 112
max@0 113 #undef ARMA_GCC_VERSION
max@0 114
max@0 115 #endif
max@0 116
max@0 117
max@0 118 #if defined(_MSC_VER)
max@0 119
max@0 120 #if (_MSC_VER < 1500)
max@0 121 #error "*** Need a newer compiler ***"
max@0 122 #endif
max@0 123
max@0 124 #undef ARMA_GOOD_COMPILER
max@0 125 #undef ARMA_HAVE_STD_ISFINITE
max@0 126 #undef ARMA_HAVE_STD_SNPRINTF
max@0 127 #undef ARMA_HAVE_LOG1P
max@0 128 #undef ARMA_HAVE_STD_ISINF
max@0 129 #undef ARMA_HAVE_STD_ISNAN
max@0 130 #undef ARMA_HAVE_STD_TR1
max@0 131
max@0 132 #undef arma_inline
max@0 133 #define arma_inline inline __forceinline
max@0 134
max@0 135 // #if (_MSC_VER >= 1400)
max@0 136 // #undef arma_aligned
max@0 137 // #define arma_aligned __declspec(align(16))
max@0 138 // #endif
max@0 139
max@0 140 #endif
max@0 141
max@0 142
max@0 143 #if defined(__CUDACC__)
max@0 144 #undef ARMA_HAVE_STD_ISFINITE
max@0 145 #undef ARMA_HAVE_STD_SNPRINTF
max@0 146 #undef ARMA_HAVE_LOG1P
max@0 147 #undef ARMA_HAVE_STD_ISINF
max@0 148 #undef ARMA_HAVE_STD_ISNAN
max@0 149 #undef ARMA_HAVE_STD_TR1
max@0 150 #endif
max@0 151
max@0 152
max@0 153 #if defined(__SUNPRO_CC)
max@0 154 #undef ARMA_HAVE_STD_ISFINITE
max@0 155 #undef ARMA_HAVE_STD_SNPRINTF
max@0 156 #undef ARMA_HAVE_LOG1P
max@0 157 #undef ARMA_HAVE_STD_ISINF
max@0 158 #undef ARMA_HAVE_STD_ISNAN
max@0 159 #undef ARMA_HAVE_STD_TR1
max@0 160 #endif