Sierra Toolkit
Version of the Day
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
FeatureTest.hpp
1
#ifndef STK_UTIL_UTIL_FeatureTest_h
2
# define STK_UTIL_UTIL_FeatureTest_h
3
4
// #include <boost/config.hpp>
5
93
94
// Platform/operating system based features and bugs
95
#if defined(REDS) // Redstorm
96
# define SIERRA_SETVBUF_OUTPUT 1
97
# define SIERRA_DIAG_ENDL_NOFLUSH
98
# define SIERRA_SRAND_PARALLEL_IO_BUG
99
# define SIERRA_HEAP_INFO
100
# define SIERRA_MEMORY_INFO
101
# define SIERRA_USER_SHUTDOWN_SIGNAL SIGUSR1
102
# define SIERRA_SHUTDOWN_SIGNAL SIGTERM
103
104
#elif defined(_CRAYXE) // Cray
105
# define SIERRA_SETVBUF_OUTPUT 1
106
# define SIERRA_DIAG_ENDL_NOFLUSH
107
# define SIERRA_SRAND_PARALLEL_IO_BUG
108
# define SIERRA_HEAP_INFO
109
# define SIERRA_MEMORY_INFO
110
# define SIERRA_SHUTDOWN_SIGNAL SIGTERM
111
# define SIERRA_USER_SHUTDOWN_SIGNAL SIGURG
112
113
#elif defined(__sun) // sass8000/sass9000
114
# define SIERRA_HEAP_INFO
115
# define SIERRA_MEMORY_INFO
116
# define SIERRA_MPI_ABORT_SIGNAL SIGTERM
117
# define SIERRA_USER_SHUTDOWN_SIGNAL SIGHUP
118
119
#elif defined(__linux__) // Generic linux
120
# define SIERRA_USE_PLATFORM_DEMANGLER
121
# define SIERRA_HEAP_INFO
122
# define SIERRA_MEMORY_INFO
123
# define SIERRA_MPI_ABORT_SIGNAL SIGTERM
124
# define SIERRA_USER_SHUTDOWN_SIGNAL SIGUSR1
125
126
#elif defined(__APPLE__) // MacOS
127
# define SIERRA_USE_PLATFORM_DEMANGLER
128
# define SIERRA_HEAP_INFO
129
# define SIERRA_MEMORY_INFO
130
# define SIERRA_MPI_ABORT_SIGNAL SIGTERM
131
# define SIERRA_USER_SHUTDOWN_SIGNAL SIGUSR1
132
133
#else // Unknown platform
134
# warning Could not determine platform/operating system
135
#endif
136
137
138
// Compiler/runtime specific features and bugs
139
140
#if defined(__xlC__) // IBM compiler
141
# if __xlC__ < 0x0800
142
# define SIERRA_TEMPLATE_FUNCTION_SELECT_BUG
143
# endif
144
# define SIERRA_TYPE_INFO_BEFORE_EQUALITY_BUG
145
# define SIERRA_AUTO_PTR_ASSIGNMENT_BUG
146
147
#elif defined(__sun) || defined(__SUNPRO_CC) // Sun spro compiler
148
# define SIERRA_MPI_ALLREDUCE_USER_FUNCTION_BUG
149
150
#elif defined(__INTEL_COMPILER) // Intel compiler
151
# if __INTEL_COMPILER/100 == 10 && defined(__ia64) // Version 10 Intel compiler on ia64
152
# define SIERRA_IA64_OPTIMIZER_FIX
153
# elif __INTEL_COMPILER/100 == 11 && defined(__ia64) // Version 11 Intel compiler on ia64
154
# define SIERRA_IA64_OPTIMIZER_FIX
155
# elif __INTEL_COMPILER/100 >= 12 && defined(__ia64) // Version 12+ Intel compiler on ia64
156
# define SIERRA_IA64_OPTIMIZER_WARN
157
# endif
158
159
#elif defined(__PGI) // PGI compiler
160
161
#elif defined(_CRAYC) // CRAY compiler
162
163
#elif defined(__APPLE_CC__) // Apple compiler
164
165
#elif defined(__PATHSCALE__) // Pathscale compiler
166
# if (__GNUC__ > 3) || defined(PATHSCALE_GNU4) // Only with gcc3 front-end
167
# define NO_SIERRA_TEMPLATE_CALL_BUG
168
# else
169
# define SIERRA_TEMPLATE_CALL_BUG
170
# endif
171
172
#elif defined(__GNUC__) // GNU compiler, do this last since *every* compiler thinks its gcc
173
# if __GNUC__ == 3 && __GNUC_MINOR__ < 4
174
# define SIERRA_TEMPLATE_CALL_BUG
175
# endif
176
177
#else // Unknown compiler
178
# warning Could not determine compiler/runtime
179
#endif
180
184
185
#endif // STK_UTIL_UTIL_FeatureTest_h
stk_util
stk_util
util
FeatureTest.hpp
Generated on Wed Sep 26 2018 14:44:34 for Sierra Toolkit by
1.8.6