ITK  4.13.0
Insight Segmentation and Registration Toolkit
ITK_COMPILER_INFO_Intel_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_Intel_CXX_h
19 #define ITK_COMPILER_INFO_Intel_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 !(__INTEL_COMPILER >= 1210)
25 # error Unsupported compiler version
26 # endif
27 
28  /* __INTEL_COMPILER = VRP */
29 # define ITK_COMPILER_VERSION_MAJOR ITK_DEC(__INTEL_COMPILER/100)
30 # define ITK_COMPILER_VERSION_MINOR ITK_DEC(__INTEL_COMPILER/10 % 10)
31 # if defined(__INTEL_COMPILER_UPDATE)
32 # define ITK_COMPILER_VERSION_PATCH ITK_DEC(__INTEL_COMPILER_UPDATE)
33 # else
34 # define ITK_COMPILER_VERSION_PATCH ITK_DEC(__INTEL_COMPILER % 10)
35 # endif
36 # if defined(__INTEL_COMPILER_BUILD_DATE)
37  /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */
38 # define ITK_COMPILER_VERSION_TWEAK ITK_DEC(__INTEL_COMPILER_BUILD_DATE)
39 # endif
40 # if defined(_MSC_VER)
41  /* _MSC_VER = VVRR */
42 # define ITK_SIMULATE_VERSION_MAJOR ITK_DEC(_MSC_VER / 100)
43 # define ITK_SIMULATE_VERSION_MINOR ITK_DEC(_MSC_VER % 100)
44 # endif
45 
46 # if __INTEL_COMPILER >= 1600 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
47  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__)\
48  && !defined(__INTEL_CXX11_MODE__) ) )
49 # define ITK_COMPILER_CXX_AGGREGATE_DEFAULT_INITIALIZERS 1
50 # else
51 # define ITK_COMPILER_CXX_AGGREGATE_DEFAULT_INITIALIZERS 0
52 # endif
53 
54 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
55 # define ITK_COMPILER_CXX_ALIAS_TEMPLATES 1
56 # else
57 # define ITK_COMPILER_CXX_ALIAS_TEMPLATES 0
58 # endif
59 
60 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
61 # define ITK_COMPILER_CXX_ALIGNAS 1
62 # else
63 # define ITK_COMPILER_CXX_ALIGNAS 0
64 # endif
65 
66 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
67 # define ITK_COMPILER_CXX_ALIGNOF 1
68 # else
69 # define ITK_COMPILER_CXX_ALIGNOF 0
70 # endif
71 
72 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
73 # define ITK_COMPILER_CXX_ATTRIBUTES 1
74 # else
75 # define ITK_COMPILER_CXX_ATTRIBUTES 0
76 # endif
77 
78 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
79  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
80  && !defined(__INTEL_CXX11_MODE__) ) )
81 # define ITK_COMPILER_CXX_ATTRIBUTE_DEPRECATED 1
82 # else
83 # define ITK_COMPILER_CXX_ATTRIBUTE_DEPRECATED 0
84 # endif
85 
86 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
87 # define ITK_COMPILER_CXX_AUTO_TYPE 1
88 # else
89 # define ITK_COMPILER_CXX_AUTO_TYPE 0
90 # endif
91 
92 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
93 # define ITK_COMPILER_CXX_BINARY_LITERALS 1
94 # else
95 # define ITK_COMPILER_CXX_BINARY_LITERALS 0
96 # endif
97 
98 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
99 # define ITK_COMPILER_CXX_CONSTEXPR 1
100 # else
101 # define ITK_COMPILER_CXX_CONSTEXPR 0
102 # endif
103 
104 # if __INTEL_COMPILER >= 1600 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
105  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
106  && !defined(__INTEL_CXX11_MODE__) ) )
107 # define ITK_COMPILER_CXX_CONTEXTUAL_CONVERSIONS 1
108 # else
109 # define ITK_COMPILER_CXX_CONTEXTUAL_CONVERSIONS 0
110 # endif
111 
112 # if ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__)) \
113  && (__INTEL_COMPILER > 1400 || (__INTEL_COMPILER == 1400 && __INTEL_COMPILER_UPDATE >= 2))
114 # define ITK_COMPILER_CXX_DECLTYPE_INCOMPLETE_RETURN_TYPES 1
115 # else
116 # define ITK_COMPILER_CXX_DECLTYPE_INCOMPLETE_RETURN_TYPES 0
117 # endif
118 
119 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
120 # define ITK_COMPILER_CXX_DECLTYPE 1
121 # else
122 # define ITK_COMPILER_CXX_DECLTYPE 0
123 # endif
124 
125 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
126  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
127  && !defined(__INTEL_CXX11_MODE__) ) )
128 # define ITK_COMPILER_CXX_DECLTYPE_AUTO 1
129 # else
130 # define ITK_COMPILER_CXX_DECLTYPE_AUTO 0
131 # endif
132 
133 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
134 # define ITK_COMPILER_CXX_DEFAULT_FUNCTION_TEMPLATE_ARGS 1
135 # else
136 # define ITK_COMPILER_CXX_DEFAULT_FUNCTION_TEMPLATE_ARGS 0
137 # endif
138 
139 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
140 # define ITK_COMPILER_CXX_DEFAULTED_FUNCTIONS 1
141 # else
142 # define ITK_COMPILER_CXX_DEFAULTED_FUNCTIONS 0
143 # endif
144 
145 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
146 # define ITK_COMPILER_CXX_DEFAULTED_MOVE_INITIALIZERS 1
147 # else
148 # define ITK_COMPILER_CXX_DEFAULTED_MOVE_INITIALIZERS 0
149 # endif
150 
151 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
152 # define ITK_COMPILER_CXX_DELEGATING_CONSTRUCTORS 1
153 # else
154 # define ITK_COMPILER_CXX_DELEGATING_CONSTRUCTORS 0
155 # endif
156 
157 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
158 # define ITK_COMPILER_CXX_DELETED_FUNCTIONS 1
159 # else
160 # define ITK_COMPILER_CXX_DELETED_FUNCTIONS 0
161 # endif
162 
163 # if __INTEL_COMPILER >= 1600 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
164  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
165  && !defined(__INTEL_CXX11_MODE__) ) )
166 # define ITK_COMPILER_CXX_DIGIT_SEPARATORS 1
167 # else
168 # define ITK_COMPILER_CXX_DIGIT_SEPARATORS 0
169 # endif
170 
171 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
172 # define ITK_COMPILER_CXX_ENUM_FORWARD_DECLARATIONS 1
173 # else
174 # define ITK_COMPILER_CXX_ENUM_FORWARD_DECLARATIONS 0
175 # endif
176 
177 # if __INTEL_COMPILER >= 1300 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
178 # define ITK_COMPILER_CXX_EXPLICIT_CONVERSIONS 1
179 # else
180 # define ITK_COMPILER_CXX_EXPLICIT_CONVERSIONS 0
181 # endif
182 
183 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
184 # define ITK_COMPILER_CXX_EXTENDED_FRIEND_DECLARATIONS 1
185 # else
186 # define ITK_COMPILER_CXX_EXTENDED_FRIEND_DECLARATIONS 0
187 # endif
188 
189 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
190 # define ITK_COMPILER_CXX_EXTERN_TEMPLATES 1
191 # else
192 # define ITK_COMPILER_CXX_EXTERN_TEMPLATES 0
193 # endif
194 
195 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
196 # define ITK_COMPILER_CXX_FINAL 1
197 # else
198 # define ITK_COMPILER_CXX_FINAL 0
199 # endif
200 
201 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
202 # define ITK_COMPILER_CXX_FUNC_IDENTIFIER 1
203 # else
204 # define ITK_COMPILER_CXX_FUNC_IDENTIFIER 0
205 # endif
206 
207 # define ITK_COMPILER_CXX_GENERALIZED_INITIALIZERS 0
208 
209 # if __INTEL_COMPILER >= 1600 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
210  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
211  && !defined(__INTEL_CXX11_MODE__) ) )
212 # define ITK_COMPILER_CXX_GENERIC_LAMBDAS 1
213 # else
214 # define ITK_COMPILER_CXX_GENERIC_LAMBDAS 0
215 # endif
216 
217 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
218 # define ITK_COMPILER_CXX_INHERITING_CONSTRUCTORS 1
219 # else
220 # define ITK_COMPILER_CXX_INHERITING_CONSTRUCTORS 0
221 # endif
222 
223 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
224 # define ITK_COMPILER_CXX_INLINE_NAMESPACES 1
225 # else
226 # define ITK_COMPILER_CXX_INLINE_NAMESPACES 0
227 # endif
228 
229 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
230 # define ITK_COMPILER_CXX_LAMBDAS 1
231 # else
232 # define ITK_COMPILER_CXX_LAMBDAS 0
233 # endif
234 
235 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
236  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
237  && !defined(__INTEL_CXX11_MODE__) ) )
238 # define ITK_COMPILER_CXX_LAMBDA_INIT_CAPTURES 1
239 # else
240 # define ITK_COMPILER_CXX_LAMBDA_INIT_CAPTURES 0
241 # endif
242 
243 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
244 # define ITK_COMPILER_CXX_LOCAL_TYPE_TEMPLATE_ARGS 1
245 # else
246 # define ITK_COMPILER_CXX_LOCAL_TYPE_TEMPLATE_ARGS 0
247 # endif
248 
249 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
250 # define ITK_COMPILER_CXX_LONG_LONG_TYPE 1
251 # else
252 # define ITK_COMPILER_CXX_LONG_LONG_TYPE 0
253 # endif
254 
255 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
256 # define ITK_COMPILER_CXX_NOEXCEPT 1
257 # else
258 # define ITK_COMPILER_CXX_NOEXCEPT 0
259 # endif
260 
261 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
262 # define ITK_COMPILER_CXX_NONSTATIC_MEMBER_INIT 1
263 # else
264 # define ITK_COMPILER_CXX_NONSTATIC_MEMBER_INIT 0
265 # endif
266 
267 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
268 # define ITK_COMPILER_CXX_NULLPTR 1
269 # else
270 # define ITK_COMPILER_CXX_NULLPTR 0
271 # endif
272 
273 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
274 # define ITK_COMPILER_CXX_OVERRIDE 1
275 # else
276 # define ITK_COMPILER_CXX_OVERRIDE 0
277 # endif
278 
279 # if __INTEL_COMPILER >= 1300 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
280 # define ITK_COMPILER_CXX_RANGE_FOR 1
281 # else
282 # define ITK_COMPILER_CXX_RANGE_FOR 0
283 # endif
284 
285 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
286 # define ITK_COMPILER_CXX_RAW_STRING_LITERALS 1
287 # else
288 # define ITK_COMPILER_CXX_RAW_STRING_LITERALS 0
289 # endif
290 
291 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
292 # define ITK_COMPILER_CXX_REFERENCE_QUALIFIED_FUNCTIONS 1
293 # else
294 # define ITK_COMPILER_CXX_REFERENCE_QUALIFIED_FUNCTIONS 0
295 # endif
296 
297 # define ITK_COMPILER_CXX_RELAXED_CONSTEXPR 0
298 
299 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201300L) || ((__cplusplus == 201103L) && !defined(__INTEL_CXX11_MODE__)) \
300  || ((((__INTEL_COMPILER == 1500) && (__INTEL_COMPILER_UPDATE == 1))) && defined(__GXX_EXPERIMENTAL_CXX0X__) \
301  && !defined(__INTEL_CXX11_MODE__) ) )
302 # define ITK_COMPILER_CXX_RETURN_TYPE_DEDUCTION 1
303 # else
304 # define ITK_COMPILER_CXX_RETURN_TYPE_DEDUCTION 0
305 # endif
306 
307 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
308 # define ITK_COMPILER_CXX_RIGHT_ANGLE_BRACKETS 1
309 # else
310 # define ITK_COMPILER_CXX_RIGHT_ANGLE_BRACKETS 0
311 # endif
312 
313 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
314 # define ITK_COMPILER_CXX_RVALUE_REFERENCES 1
315 # else
316 # define ITK_COMPILER_CXX_RVALUE_REFERENCES 0
317 # endif
318 
319 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
320 # define ITK_COMPILER_CXX_SIZEOF_MEMBER 1
321 # else
322 # define ITK_COMPILER_CXX_SIZEOF_MEMBER 0
323 # endif
324 
325 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
326 # define ITK_COMPILER_CXX_STATIC_ASSERT 1
327 # else
328 # define ITK_COMPILER_CXX_STATIC_ASSERT 0
329 # endif
330 
331 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
332 # define ITK_COMPILER_CXX_STRONG_ENUMS 1
333 # else
334 # define ITK_COMPILER_CXX_STRONG_ENUMS 0
335 # endif
336 
337 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
338 # define ITK_COMPILER_CXX_THREAD_LOCAL 1
339 # else
340 # define ITK_COMPILER_CXX_THREAD_LOCAL 0
341 # endif
342 
343 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
344 # define ITK_COMPILER_CXX_TRAILING_RETURN_TYPES 1
345 # else
346 # define ITK_COMPILER_CXX_TRAILING_RETURN_TYPES 0
347 # endif
348 
349 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
350 # define ITK_COMPILER_CXX_UNICODE_LITERALS 1
351 # else
352 # define ITK_COMPILER_CXX_UNICODE_LITERALS 0
353 # endif
354 
355 # if __INTEL_COMPILER >= 1300 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
356 # define ITK_COMPILER_CXX_UNIFORM_INITIALIZATION 1
357 # else
358 # define ITK_COMPILER_CXX_UNIFORM_INITIALIZATION 0
359 # endif
360 
361 # if __INTEL_COMPILER >= 1400 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
362 # define ITK_COMPILER_CXX_UNRESTRICTED_UNIONS 1
363 # else
364 # define ITK_COMPILER_CXX_UNRESTRICTED_UNIONS 0
365 # endif
366 
367 # if __INTEL_COMPILER >= 1500 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
368 # define ITK_COMPILER_CXX_USER_LITERALS 1
369 # else
370 # define ITK_COMPILER_CXX_USER_LITERALS 0
371 # endif
372 
373 # define ITK_COMPILER_CXX_VARIABLE_TEMPLATES 0
374 
375 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
376 # define ITK_COMPILER_CXX_VARIADIC_MACROS 1
377 # else
378 # define ITK_COMPILER_CXX_VARIADIC_MACROS 0
379 # endif
380 
381 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
382 # define ITK_COMPILER_CXX_VARIADIC_TEMPLATES 1
383 # else
384 # define ITK_COMPILER_CXX_VARIADIC_TEMPLATES 0
385 # endif
386 
387 # if __INTEL_COMPILER >= 1210 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
388 # define ITK_COMPILER_CXX_TEMPLATE_TEMPLATE_PARAMETERS 1
389 # else
390 # define ITK_COMPILER_CXX_TEMPLATE_TEMPLATE_PARAMETERS 0
391 # endif
392 
393 # if __INTEL_COMPILER >= 1300 && ((__cplusplus >= 201103L) || defined(__INTEL_CXX11_MODE__) || defined(__GXX_EXPERIMENTAL_CXX0X__))
394 # define ITK_COMPILER_CXX_ATOMIC 1
395 # else
396 # define ITK_COMPILER_CXX_ATOMIC 0
397 # endif
398 #endif // ITK_COMPILER_INFO_Intel_CXX_h