ITK
4.13.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Core
Common
include
compilers
ITK_COMPILER_INFO_GNU_CXX.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright Insight Software Consortium
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef ITK_COMPILER_INFO_GNU_CXX_h
19
#define ITK_COMPILER_INFO_GNU_CXX_h
20
#ifndef itk_compiler_detection_h
21
# error This file may only be included from itk_compiler_detection.h
22
#endif
23
24
# if !((__GNUC__ * 100 + __GNUC_MINOR__) >= 404)
25
# error Unsupported compiler version
26
# endif
27
28
# define ITK_COMPILER_VERSION_MAJOR ITK_DEC(__GNUC__)
29
# if defined(__GNUC_MINOR__)
30
# define ITK_COMPILER_VERSION_MINOR ITK_DEC(__GNUC_MINOR__)
31
# endif
32
# if defined(__GNUC_PATCHLEVEL__)
33
# define ITK_COMPILER_VERSION_PATCH ITK_DEC(__GNUC_PATCHLEVEL__)
34
# endif
35
36
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
37
# define ITK_COMPILER_CXX_AGGREGATE_DEFAULT_INITIALIZERS 1
38
# else
39
# define ITK_COMPILER_CXX_AGGREGATE_DEFAULT_INITIALIZERS 0
40
# endif
41
42
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
43
# define ITK_COMPILER_CXX_ALIAS_TEMPLATES 1
44
# else
45
# define ITK_COMPILER_CXX_ALIAS_TEMPLATES 0
46
# endif
47
48
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
49
# define ITK_COMPILER_CXX_ALIGNAS 1
50
# else
51
# define ITK_COMPILER_CXX_ALIGNAS 0
52
# endif
53
54
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
55
# define ITK_COMPILER_CXX_ALIGNOF 1
56
# else
57
# define ITK_COMPILER_CXX_ALIGNOF 0
58
# endif
59
60
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
61
# define ITK_COMPILER_CXX_ATTRIBUTES 1
62
# else
63
# define ITK_COMPILER_CXX_ATTRIBUTES 0
64
# endif
65
66
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
67
# define ITK_COMPILER_CXX_ATTRIBUTE_DEPRECATED 1
68
# else
69
# define ITK_COMPILER_CXX_ATTRIBUTE_DEPRECATED 0
70
# endif
71
72
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
73
# define ITK_COMPILER_CXX_AUTO_TYPE 1
74
# else
75
# define ITK_COMPILER_CXX_AUTO_TYPE 0
76
# endif
77
78
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
79
# define ITK_COMPILER_CXX_BINARY_LITERALS 1
80
# else
81
# define ITK_COMPILER_CXX_BINARY_LITERALS 0
82
# endif
83
84
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
85
# define ITK_COMPILER_CXX_CONSTEXPR 1
86
# else
87
# define ITK_COMPILER_CXX_CONSTEXPR 0
88
# endif
89
90
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
91
# define ITK_COMPILER_CXX_CONTEXTUAL_CONVERSIONS 1
92
# else
93
# define ITK_COMPILER_CXX_CONTEXTUAL_CONVERSIONS 0
94
# endif
95
96
# if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
97
# define ITK_COMPILER_CXX_DECLTYPE_INCOMPLETE_RETURN_TYPES 1
98
# else
99
# define ITK_COMPILER_CXX_DECLTYPE_INCOMPLETE_RETURN_TYPES 0
100
# endif
101
102
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
103
# define ITK_COMPILER_CXX_DECLTYPE 1
104
# else
105
# define ITK_COMPILER_CXX_DECLTYPE 0
106
# endif
107
108
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
109
# define ITK_COMPILER_CXX_DECLTYPE_AUTO 1
110
# else
111
# define ITK_COMPILER_CXX_DECLTYPE_AUTO 0
112
# endif
113
114
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
115
# define ITK_COMPILER_CXX_DEFAULT_FUNCTION_TEMPLATE_ARGS 1
116
# else
117
# define ITK_COMPILER_CXX_DEFAULT_FUNCTION_TEMPLATE_ARGS 0
118
# endif
119
120
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
121
# define ITK_COMPILER_CXX_DEFAULTED_FUNCTIONS 1
122
# else
123
# define ITK_COMPILER_CXX_DEFAULTED_FUNCTIONS 0
124
# endif
125
126
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
127
# define ITK_COMPILER_CXX_DEFAULTED_MOVE_INITIALIZERS 1
128
# else
129
# define ITK_COMPILER_CXX_DEFAULTED_MOVE_INITIALIZERS 0
130
# endif
131
132
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
133
# define ITK_COMPILER_CXX_DELEGATING_CONSTRUCTORS 1
134
# else
135
# define ITK_COMPILER_CXX_DELEGATING_CONSTRUCTORS 0
136
# endif
137
138
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
139
# define ITK_COMPILER_CXX_DELETED_FUNCTIONS 1
140
# else
141
# define ITK_COMPILER_CXX_DELETED_FUNCTIONS 0
142
# endif
143
144
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
145
# define ITK_COMPILER_CXX_DIGIT_SEPARATORS 1
146
# else
147
# define ITK_COMPILER_CXX_DIGIT_SEPARATORS 0
148
# endif
149
150
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
151
# define ITK_COMPILER_CXX_ENUM_FORWARD_DECLARATIONS 1
152
# else
153
# define ITK_COMPILER_CXX_ENUM_FORWARD_DECLARATIONS 0
154
# endif
155
156
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
157
# define ITK_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
158
# else
159
# define ITK_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
160
# endif
161
162
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
163
# define ITK_COMPILER_CXX_EXTENDED_FRIEND_DECLARATIONS 1
164
# else
165
# define ITK_COMPILER_CXX_EXTENDED_FRIEND_DECLARATIONS 0
166
# endif
167
168
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
169
# define ITK_COMPILER_CXX_EXTERN_TEMPLATES 1
170
# else
171
# define ITK_COMPILER_CXX_EXTERN_TEMPLATES 0
172
# endif
173
174
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
175
# define ITK_COMPILER_CXX_FINAL 1
176
# else
177
# define ITK_COMPILER_CXX_FINAL 0
178
# endif
179
180
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
181
# define ITK_COMPILER_CXX_FUNC_IDENTIFIER 1
182
# else
183
# define ITK_COMPILER_CXX_FUNC_IDENTIFIER 0
184
# endif
185
186
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
187
# define ITK_COMPILER_CXX_GENERALIZED_INITIALIZERS 1
188
# else
189
# define ITK_COMPILER_CXX_GENERALIZED_INITIALIZERS 0
190
# endif
191
192
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
193
# define ITK_COMPILER_CXX_GENERIC_LAMBDAS 1
194
# else
195
# define ITK_COMPILER_CXX_GENERIC_LAMBDAS 0
196
# endif
197
198
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
199
# define ITK_COMPILER_CXX_INHERITING_CONSTRUCTORS 1
200
# else
201
# define ITK_COMPILER_CXX_INHERITING_CONSTRUCTORS 0
202
# endif
203
204
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
205
# define ITK_COMPILER_CXX_INLINE_NAMESPACES 1
206
# else
207
# define ITK_COMPILER_CXX_INLINE_NAMESPACES 0
208
# endif
209
210
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
211
# define ITK_COMPILER_CXX_LAMBDAS 1
212
# else
213
# define ITK_COMPILER_CXX_LAMBDAS 0
214
# endif
215
216
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
217
# define ITK_COMPILER_CXX_LAMBDA_INIT_CAPTURES 1
218
# else
219
# define ITK_COMPILER_CXX_LAMBDA_INIT_CAPTURES 0
220
# endif
221
222
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
223
# define ITK_COMPILER_CXX_LOCAL_TYPE_TEMPLATE_ARGS 1
224
# else
225
# define ITK_COMPILER_CXX_LOCAL_TYPE_TEMPLATE_ARGS 0
226
# endif
227
228
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
229
# define ITK_COMPILER_CXX_LONG_LONG_TYPE 1
230
# else
231
# define ITK_COMPILER_CXX_LONG_LONG_TYPE 0
232
# endif
233
234
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
235
# define ITK_COMPILER_CXX_NOEXCEPT 1
236
# else
237
# define ITK_COMPILER_CXX_NOEXCEPT 0
238
# endif
239
240
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
241
# define ITK_COMPILER_CXX_NONSTATIC_MEMBER_INIT 1
242
# else
243
# define ITK_COMPILER_CXX_NONSTATIC_MEMBER_INIT 0
244
# endif
245
246
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
247
# define ITK_COMPILER_CXX_NULLPTR 1
248
# else
249
# define ITK_COMPILER_CXX_NULLPTR 0
250
# endif
251
252
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
253
# define ITK_COMPILER_CXX_OVERRIDE 1
254
# else
255
# define ITK_COMPILER_CXX_OVERRIDE 0
256
# endif
257
258
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
259
# define ITK_COMPILER_CXX_RANGE_FOR 1
260
# else
261
# define ITK_COMPILER_CXX_RANGE_FOR 0
262
# endif
263
264
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
265
# define ITK_COMPILER_CXX_RAW_STRING_LITERALS 1
266
# else
267
# define ITK_COMPILER_CXX_RAW_STRING_LITERALS 0
268
# endif
269
270
# if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
271
# define ITK_COMPILER_CXX_REFERENCE_QUALIFIED_FUNCTIONS 1
272
# else
273
# define ITK_COMPILER_CXX_REFERENCE_QUALIFIED_FUNCTIONS 0
274
# endif
275
276
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
277
# define ITK_COMPILER_CXX_RELAXED_CONSTEXPR 1
278
# else
279
# define ITK_COMPILER_CXX_RELAXED_CONSTEXPR 0
280
# endif
281
282
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
283
# define ITK_COMPILER_CXX_RETURN_TYPE_DEDUCTION 1
284
# else
285
# define ITK_COMPILER_CXX_RETURN_TYPE_DEDUCTION 0
286
# endif
287
288
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
289
# define ITK_COMPILER_CXX_RIGHT_ANGLE_BRACKETS 1
290
# else
291
# define ITK_COMPILER_CXX_RIGHT_ANGLE_BRACKETS 0
292
# endif
293
294
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
295
# define ITK_COMPILER_CXX_RVALUE_REFERENCES 1
296
# else
297
# define ITK_COMPILER_CXX_RVALUE_REFERENCES 0
298
# endif
299
300
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
301
# define ITK_COMPILER_CXX_SIZEOF_MEMBER 1
302
# else
303
# define ITK_COMPILER_CXX_SIZEOF_MEMBER 0
304
# endif
305
306
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
307
# define ITK_COMPILER_CXX_STATIC_ASSERT 1
308
# else
309
# define ITK_COMPILER_CXX_STATIC_ASSERT 0
310
# endif
311
312
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
313
# define ITK_COMPILER_CXX_STRONG_ENUMS 1
314
# else
315
# define ITK_COMPILER_CXX_STRONG_ENUMS 0
316
# endif
317
318
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
319
# define ITK_COMPILER_CXX_THREAD_LOCAL 1
320
# else
321
# define ITK_COMPILER_CXX_THREAD_LOCAL 0
322
# endif
323
324
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
325
# define ITK_COMPILER_CXX_TRAILING_RETURN_TYPES 1
326
# else
327
# define ITK_COMPILER_CXX_TRAILING_RETURN_TYPES 0
328
# endif
329
330
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
331
# define ITK_COMPILER_CXX_UNICODE_LITERALS 1
332
# else
333
# define ITK_COMPILER_CXX_UNICODE_LITERALS 0
334
# endif
335
336
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
337
# define ITK_COMPILER_CXX_UNIFORM_INITIALIZATION 1
338
# else
339
# define ITK_COMPILER_CXX_UNIFORM_INITIALIZATION 0
340
# endif
341
342
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
343
# define ITK_COMPILER_CXX_UNRESTRICTED_UNIONS 1
344
# else
345
# define ITK_COMPILER_CXX_UNRESTRICTED_UNIONS 0
346
# endif
347
348
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
349
# define ITK_COMPILER_CXX_USER_LITERALS 1
350
# else
351
# define ITK_COMPILER_CXX_USER_LITERALS 0
352
# endif
353
354
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
355
# define ITK_COMPILER_CXX_VARIABLE_TEMPLATES 1
356
# else
357
# define ITK_COMPILER_CXX_VARIABLE_TEMPLATES 0
358
# endif
359
360
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
361
# define ITK_COMPILER_CXX_VARIADIC_MACROS 1
362
# else
363
# define ITK_COMPILER_CXX_VARIADIC_MACROS 0
364
# endif
365
366
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
367
# define ITK_COMPILER_CXX_VARIADIC_TEMPLATES 1
368
# else
369
# define ITK_COMPILER_CXX_VARIADIC_TEMPLATES 0
370
# endif
371
372
# if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
373
# define ITK_COMPILER_CXX_TEMPLATE_TEMPLATE_PARAMETERS 1
374
# else
375
# define ITK_COMPILER_CXX_TEMPLATE_TEMPLATE_PARAMETERS 0
376
# endif
377
378
# if ((__GNUC__ * 100) + __GNUC_MINOR__) >= 404 && __cplusplus > 201103L
379
# define ITK_COMPILER_CXX_ATOMIC 1
380
# else
381
# define ITK_COMPILER_CXX_ATOMIC 0
382
# endif
383
#endif // ITK_COMPILER_INFO_GNU_CXX_h
Generated on Tue Dec 19 2017 03:57:30 for ITK by
1.8.5