ECF 1.5
feature_tests.cxx
1
2 const char features[] = {"\n"
3"CXX_FEATURE:"
4#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
5"1"
6#else
7"0"
8#endif
9"cxx_aggregate_default_initializers\n"
10"CXX_FEATURE:"
11#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
12"1"
13#else
14"0"
15#endif
16"cxx_alias_templates\n"
17"CXX_FEATURE:"
18#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
19"1"
20#else
21"0"
22#endif
23"cxx_alignas\n"
24"CXX_FEATURE:"
25#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
26"1"
27#else
28"0"
29#endif
30"cxx_alignof\n"
31"CXX_FEATURE:"
32#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
33"1"
34#else
35"0"
36#endif
37"cxx_attributes\n"
38"CXX_FEATURE:"
39#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
40"1"
41#else
42"0"
43#endif
44"cxx_attribute_deprecated\n"
45"CXX_FEATURE:"
46#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
47"1"
48#else
49"0"
50#endif
51"cxx_auto_type\n"
52"CXX_FEATURE:"
53#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
54"1"
55#else
56"0"
57#endif
58"cxx_binary_literals\n"
59"CXX_FEATURE:"
60#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
61"1"
62#else
63"0"
64#endif
65"cxx_constexpr\n"
66"CXX_FEATURE:"
67#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
68"1"
69#else
70"0"
71#endif
72"cxx_contextual_conversions\n"
73"CXX_FEATURE:"
74#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
75"1"
76#else
77"0"
78#endif
79"cxx_decltype\n"
80"CXX_FEATURE:"
81#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
82"1"
83#else
84"0"
85#endif
86"cxx_decltype_auto\n"
87"CXX_FEATURE:"
88#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
89"1"
90#else
91"0"
92#endif
93"cxx_decltype_incomplete_return_types\n"
94"CXX_FEATURE:"
95#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
96"1"
97#else
98"0"
99#endif
100"cxx_default_function_template_args\n"
101"CXX_FEATURE:"
102#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
103"1"
104#else
105"0"
106#endif
107"cxx_defaulted_functions\n"
108"CXX_FEATURE:"
109#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
110"1"
111#else
112"0"
113#endif
114"cxx_defaulted_move_initializers\n"
115"CXX_FEATURE:"
116#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
117"1"
118#else
119"0"
120#endif
121"cxx_delegating_constructors\n"
122"CXX_FEATURE:"
123#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
124"1"
125#else
126"0"
127#endif
128"cxx_deleted_functions\n"
129"CXX_FEATURE:"
130#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
131"1"
132#else
133"0"
134#endif
135"cxx_digit_separators\n"
136"CXX_FEATURE:"
137#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
138"1"
139#else
140"0"
141#endif
142"cxx_enum_forward_declarations\n"
143"CXX_FEATURE:"
144#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
145"1"
146#else
147"0"
148#endif
149"cxx_explicit_conversions\n"
150"CXX_FEATURE:"
151#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
152"1"
153#else
154"0"
155#endif
156"cxx_extended_friend_declarations\n"
157"CXX_FEATURE:"
158#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
159"1"
160#else
161"0"
162#endif
163"cxx_extern_templates\n"
164"CXX_FEATURE:"
165#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
166"1"
167#else
168"0"
169#endif
170"cxx_final\n"
171"CXX_FEATURE:"
172#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
173"1"
174#else
175"0"
176#endif
177"cxx_func_identifier\n"
178"CXX_FEATURE:"
179#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
180"1"
181#else
182"0"
183#endif
184"cxx_generalized_initializers\n"
185"CXX_FEATURE:"
186#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
187"1"
188#else
189"0"
190#endif
191"cxx_generic_lambdas\n"
192"CXX_FEATURE:"
193#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
194"1"
195#else
196"0"
197#endif
198"cxx_inheriting_constructors\n"
199"CXX_FEATURE:"
200#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
201"1"
202#else
203"0"
204#endif
205"cxx_inline_namespaces\n"
206"CXX_FEATURE:"
207#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
208"1"
209#else
210"0"
211#endif
212"cxx_lambdas\n"
213"CXX_FEATURE:"
214#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
215"1"
216#else
217"0"
218#endif
219"cxx_lambda_init_captures\n"
220"CXX_FEATURE:"
221#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
222"1"
223#else
224"0"
225#endif
226"cxx_local_type_template_args\n"
227"CXX_FEATURE:"
228#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
229"1"
230#else
231"0"
232#endif
233"cxx_long_long_type\n"
234"CXX_FEATURE:"
235#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
236"1"
237#else
238"0"
239#endif
240"cxx_noexcept\n"
241"CXX_FEATURE:"
242#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
243"1"
244#else
245"0"
246#endif
247"cxx_nonstatic_member_init\n"
248"CXX_FEATURE:"
249#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
250"1"
251#else
252"0"
253#endif
254"cxx_nullptr\n"
255"CXX_FEATURE:"
256#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
257"1"
258#else
259"0"
260#endif
261"cxx_override\n"
262"CXX_FEATURE:"
263#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
264"1"
265#else
266"0"
267#endif
268"cxx_range_for\n"
269"CXX_FEATURE:"
270#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 405 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
271"1"
272#else
273"0"
274#endif
275"cxx_raw_string_literals\n"
276"CXX_FEATURE:"
277#if ((__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__) >= 40801) && __cplusplus >= 201103L
278"1"
279#else
280"0"
281#endif
282"cxx_reference_qualified_functions\n"
283"CXX_FEATURE:"
284#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
285"1"
286#else
287"0"
288#endif
289"cxx_relaxed_constexpr\n"
290"CXX_FEATURE:"
291#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 409 && __cplusplus > 201103L
292"1"
293#else
294"0"
295#endif
296"cxx_return_type_deduction\n"
297"CXX_FEATURE:"
298#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
299"1"
300#else
301"0"
302#endif
303"cxx_right_angle_brackets\n"
304"CXX_FEATURE:"
305#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
306"1"
307#else
308"0"
309#endif
310"cxx_rvalue_references\n"
311"CXX_FEATURE:"
312#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
313"1"
314#else
315"0"
316#endif
317"cxx_sizeof_member\n"
318"CXX_FEATURE:"
319#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
320"1"
321#else
322"0"
323#endif
324"cxx_static_assert\n"
325"CXX_FEATURE:"
326#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
327"1"
328#else
329"0"
330#endif
331"cxx_strong_enums\n"
332"CXX_FEATURE:"
333#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && __cplusplus
334"1"
335#else
336"0"
337#endif
338"cxx_template_template_parameters\n"
339"CXX_FEATURE:"
340#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 408 && __cplusplus >= 201103L
341"1"
342#else
343"0"
344#endif
345"cxx_thread_local\n"
346"CXX_FEATURE:"
347#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
348"1"
349#else
350"0"
351#endif
352"cxx_trailing_return_types\n"
353"CXX_FEATURE:"
354#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
355"1"
356#else
357"0"
358#endif
359"cxx_unicode_literals\n"
360"CXX_FEATURE:"
361#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
362"1"
363#else
364"0"
365#endif
366"cxx_uniform_initialization\n"
367"CXX_FEATURE:"
368#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 406 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
369"1"
370#else
371"0"
372#endif
373"cxx_unrestricted_unions\n"
374"CXX_FEATURE:"
375#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L
376"1"
377#else
378"0"
379#endif
380"cxx_user_literals\n"
381"CXX_FEATURE:"
382#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 500 && __cplusplus >= 201402L
383"1"
384#else
385"0"
386#endif
387"cxx_variable_templates\n"
388"CXX_FEATURE:"
389#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
390"1"
391#else
392"0"
393#endif
394"cxx_variadic_macros\n"
395"CXX_FEATURE:"
396#if (__GNUC__ * 100 + __GNUC_MINOR__) >= 404 && (__cplusplus >= 201103L || (defined(__GXX_EXPERIMENTAL_CXX0X__) && __GXX_EXPERIMENTAL_CXX0X__))
397"1"
398#else
399"0"
400#endif
401"cxx_variadic_templates\n"
402
403};
404
405int main(int argc, char** argv) { (void)argv; return features[argc]; }