blob: dbb650e1b2257724103971127c74d3d9c790cfde [file] [log] [blame]
Richard Smith7f0ffb32013-05-07 19:32:56 +00001// RUN: %clang_cc1 -E -triple x86_64-linux-gnu -std=c++11 %s -o - | FileCheck --check-prefix=CHECK-11 %s
Douglas Gregore87c5bd2013-05-02 05:28:32 +00002// RUN: %clang_cc1 -E -triple armv7-apple-darwin -std=c++11 %s -o - | FileCheck --check-prefix=CHECK-NO-TLS %s
Richard Smith7f0ffb32013-05-07 19:32:56 +00003// RUN: %clang_cc1 -E -triple x86_64-linux-gnu %s -o - | FileCheck --check-prefix=CHECK-NO-11 %s
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -07004// RUN: %clang_cc1 -E -triple x86_64-linux-gnu -std=c++14 %s -o - | FileCheck --check-prefix=CHECK-14 %s
5// RUN: %clang_cc1 -E -triple x86_64-linux-gnu -std=c++1z %s -o - | FileCheck --check-prefix=CHECK-1Z %s
Sean Hunt4ef4c6b2010-01-13 08:31:49 +00006
David Chisnall7a7ee302012-01-16 17:27:18 +00007#if __has_feature(cxx_atomic)
8int has_atomic();
9#else
10int no_atomic();
11#endif
12
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070013// CHECK-1Z: has_atomic
14// CHECK-14: has_atomic
Richard Smith7f0ffb32013-05-07 19:32:56 +000015// CHECK-11: has_atomic
16// CHECK-NO-11: no_atomic
David Chisnall7a7ee302012-01-16 17:27:18 +000017
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000018#if __has_feature(cxx_lambdas)
Douglas Gregorc78e2592011-01-26 15:36:03 +000019int has_lambdas();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000020#else
21int no_lambdas();
22#endif
23
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070024// CHECK-1Z: has_lambdas
25// CHECK-14: has_lambdas
Richard Smith7f0ffb32013-05-07 19:32:56 +000026// CHECK-11: has_lambdas
27// CHECK-NO-11: no_lambdas
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000028
29
30#if __has_feature(cxx_nullptr)
Sean Hunt12484512010-01-13 08:58:42 +000031int has_nullptr();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000032#else
33int no_nullptr();
34#endif
35
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070036// CHECK-1Z: has_nullptr
37// CHECK-14: has_nullptr
Richard Smith7f0ffb32013-05-07 19:32:56 +000038// CHECK-11: has_nullptr
39// CHECK-NO-11: no_nullptr
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000040
41
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000042#if __has_feature(cxx_decltype)
Sean Hunt12484512010-01-13 08:58:42 +000043int has_decltype();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000044#else
45int no_decltype();
46#endif
47
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070048// CHECK-1Z: has_decltype
49// CHECK-14: has_decltype
Richard Smith7f0ffb32013-05-07 19:32:56 +000050// CHECK-11: has_decltype
51// CHECK-NO-11: no_decltype
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000052
53
Douglas Gregor316551f2012-04-10 20:00:33 +000054#if __has_feature(cxx_decltype_incomplete_return_types)
55int has_decltype_incomplete_return_types();
56#else
57int no_decltype_incomplete_return_types();
58#endif
59
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070060// CHECK-1Z: has_decltype_incomplete_return_types
61// CHECK-14: has_decltype_incomplete_return_types
Richard Smith7f0ffb32013-05-07 19:32:56 +000062// CHECK-11: has_decltype_incomplete_return_types
63// CHECK-NO-11: no_decltype_incomplete_return_types
Douglas Gregor316551f2012-04-10 20:00:33 +000064
65
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000066#if __has_feature(cxx_auto_type)
Douglas Gregorc78e2592011-01-26 15:36:03 +000067int has_auto_type();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000068#else
69int no_auto_type();
70#endif
71
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070072// CHECK-1Z: has_auto_type
73// CHECK-14: has_auto_type
Richard Smith7f0ffb32013-05-07 19:32:56 +000074// CHECK-11: has_auto_type
75// CHECK-NO-11: no_auto_type
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000076
77
Richard Smith6a4e73c2011-04-03 14:12:46 +000078#if __has_feature(cxx_trailing_return)
79int has_trailing_return();
80#else
81int no_trailing_return();
82#endif
83
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070084// CHECK-1Z: has_trailing_return
85// CHECK-14: has_trailing_return
Richard Smith7f0ffb32013-05-07 19:32:56 +000086// CHECK-11: has_trailing_return
87// CHECK-NO-11: no_trailing_return
Richard Smith6a4e73c2011-04-03 14:12:46 +000088
89
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000090#if __has_feature(cxx_attributes)
Douglas Gregorc78e2592011-01-26 15:36:03 +000091int has_attributes();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +000092#else
93int no_attributes();
94#endif
95
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -070096// CHECK-1Z: has_attributes
97// CHECK-14: has_attributes
Richard Smith7f0ffb32013-05-07 19:32:56 +000098// CHECK-11: has_attributes
99// CHECK-NO-11: no_attributes
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000100
101
102#if __has_feature(cxx_static_assert)
Sean Hunt12484512010-01-13 08:58:42 +0000103int has_static_assert();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000104#else
105int no_static_assert();
106#endif
107
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700108// CHECK-1Z: has_static_assert
109// CHECK-14: has_static_assert
Richard Smith7f0ffb32013-05-07 19:32:56 +0000110// CHECK-11: has_static_assert
111// CHECK-NO-11: no_static_assert
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000112
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000113#if __has_feature(cxx_deleted_functions)
Douglas Gregorc78e2592011-01-26 15:36:03 +0000114int has_deleted_functions();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000115#else
116int no_deleted_functions();
117#endif
118
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700119// CHECK-1Z: has_deleted_functions
120// CHECK-14: has_deleted_functions
Richard Smith7f0ffb32013-05-07 19:32:56 +0000121// CHECK-11: has_deleted_functions
122// CHECK-NO-11: no_deleted_functions
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000123
Douglas Gregorf695a692011-11-01 01:19:34 +0000124#if __has_feature(cxx_defaulted_functions)
125int has_defaulted_functions();
126#else
127int no_defaulted_functions();
128#endif
129
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700130// CHECK-1Z: has_defaulted_functions
131// CHECK-14: has_defaulted_functions
Richard Smith7f0ffb32013-05-07 19:32:56 +0000132// CHECK-11: has_defaulted_functions
133// CHECK-NO-11: no_defaulted_functions
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000134
135#if __has_feature(cxx_rvalue_references)
Douglas Gregorc78e2592011-01-26 15:36:03 +0000136int has_rvalue_references();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000137#else
138int no_rvalue_references();
139#endif
140
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700141// CHECK-1Z: has_rvalue_references
142// CHECK-14: has_rvalue_references
Richard Smith7f0ffb32013-05-07 19:32:56 +0000143// CHECK-11: has_rvalue_references
144// CHECK-NO-11: no_rvalue_references
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000145
146
147#if __has_feature(cxx_variadic_templates)
Douglas Gregorc78e2592011-01-26 15:36:03 +0000148int has_variadic_templates();
Sean Hunt4ef4c6b2010-01-13 08:31:49 +0000149#else
150int no_variadic_templates();
151#endif
152
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700153// CHECK-1Z: has_variadic_templates
154// CHECK-14: has_variadic_templates
Richard Smith7f0ffb32013-05-07 19:32:56 +0000155// CHECK-11: has_variadic_templates
156// CHECK-NO-11: no_variadic_templates
Sebastian Redlf6c09772010-08-31 23:28:47 +0000157
158
159#if __has_feature(cxx_inline_namespaces)
Douglas Gregorc78e2592011-01-26 15:36:03 +0000160int has_inline_namespaces();
Sebastian Redlf6c09772010-08-31 23:28:47 +0000161#else
162int no_inline_namespaces();
163#endif
164
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700165// CHECK-1Z: has_inline_namespaces
166// CHECK-14: has_inline_namespaces
Richard Smith7f0ffb32013-05-07 19:32:56 +0000167// CHECK-11: has_inline_namespaces
168// CHECK-NO-11: no_inline_namespaces
Douglas Gregor56209ff2011-01-26 21:25:54 +0000169
Richard Smitha391a462011-04-15 15:14:40 +0000170
171#if __has_feature(cxx_range_for)
172int has_range_for();
173#else
174int no_range_for();
175#endif
176
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700177// CHECK-1Z: has_range_for
178// CHECK-14: has_range_for
Richard Smith7f0ffb32013-05-07 19:32:56 +0000179// CHECK-11: has_range_for
180// CHECK-NO-11: no_range_for
Richard Smitha391a462011-04-15 15:14:40 +0000181
182
Douglas Gregor56209ff2011-01-26 21:25:54 +0000183#if __has_feature(cxx_reference_qualified_functions)
184int has_reference_qualified_functions();
185#else
186int no_reference_qualified_functions();
187#endif
188
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700189// CHECK-1Z: has_reference_qualified_functions
190// CHECK-14: has_reference_qualified_functions
Richard Smith7f0ffb32013-05-07 19:32:56 +0000191// CHECK-11: has_reference_qualified_functions
192// CHECK-NO-11: no_reference_qualified_functions
Douglas Gregor56209ff2011-01-26 21:25:54 +0000193
Douglas Gregor07508002011-02-05 20:35:30 +0000194#if __has_feature(cxx_default_function_template_args)
195int has_default_function_template_args();
196#else
197int no_default_function_template_args();
198#endif
199
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700200// CHECK-1Z: has_default_function_template_args
201// CHECK-14: has_default_function_template_args
Richard Smith7f0ffb32013-05-07 19:32:56 +0000202// CHECK-11: has_default_function_template_args
203// CHECK-NO-11: no_default_function_template_args
Douglas Gregor07508002011-02-05 20:35:30 +0000204
Sebastian Redl4561ecd2011-03-15 21:17:12 +0000205#if __has_feature(cxx_noexcept)
206int has_noexcept();
207#else
208int no_noexcept();
209#endif
210
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700211// CHECK-1Z: has_noexcept
212// CHECK-14: has_noexcept
Richard Smith7f0ffb32013-05-07 19:32:56 +0000213// CHECK-11: has_noexcept
214// CHECK-NO-11: no_noexcept
Sebastian Redl4561ecd2011-03-15 21:17:12 +0000215
Anders Carlssonc8b9f792011-03-25 15:04:23 +0000216#if __has_feature(cxx_override_control)
217int has_override_control();
218#else
219int no_override_control();
220#endif
221
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700222// CHECK-1Z: has_override_control
223// CHECK-14: has_override_control
Richard Smith7f0ffb32013-05-07 19:32:56 +0000224// CHECK-11: has_override_control
225// CHECK-NO-11: no_override_control
Richard Smith3e4c6c42011-05-05 21:57:07 +0000226
227#if __has_feature(cxx_alias_templates)
228int has_alias_templates();
229#else
230int no_alias_templates();
231#endif
232
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700233// CHECK-1Z: has_alias_templates
234// CHECK-14: has_alias_templates
Richard Smith7f0ffb32013-05-07 19:32:56 +0000235// CHECK-11: has_alias_templates
236// CHECK-NO-11: no_alias_templates
Sebastian Redl74e611a2011-09-04 18:14:28 +0000237
238#if __has_feature(cxx_implicit_moves)
239int has_implicit_moves();
240#else
241int no_implicit_moves();
242#endif
243
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700244// CHECK-1Z: has_implicit_moves
245// CHECK-14: has_implicit_moves
Richard Smith7f0ffb32013-05-07 19:32:56 +0000246// CHECK-11: has_implicit_moves
247// CHECK-NO-11: no_implicit_moves
Peter Collingbournefd5f6862011-10-14 23:44:46 +0000248
249#if __has_feature(cxx_alignas)
250int has_alignas();
251#else
252int no_alignas();
253#endif
254
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700255// CHECK-1Z: has_alignas
256// CHECK-14: has_alignas
Richard Smith7f0ffb32013-05-07 19:32:56 +0000257// CHECK-11: has_alignas
258// CHECK-NO-11: no_alignas
Douglas Gregor172b2212011-11-01 01:23:44 +0000259
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700260#if __has_feature(cxx_alignof)
261int has_alignof();
262#else
263int no_alignof();
264#endif
265
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700266// CHECK-1Z: has_alignof
267// CHECK-14: has_alignof
Stephen Hines0e2c34f2015-03-23 12:09:02 -0700268// CHECK-11: has_alignof
269// CHECK-NO-11: no_alignof
270
Douglas Gregor172b2212011-11-01 01:23:44 +0000271#if __has_feature(cxx_raw_string_literals)
272int has_raw_string_literals();
273#else
274int no_raw_string_literals();
275#endif
276
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700277// CHECK-1Z: has_raw_string_literals
278// CHECK-14: has_raw_string_literals
Richard Smith7f0ffb32013-05-07 19:32:56 +0000279// CHECK-11: has_raw_string_literals
280// CHECK-NO-11: no_raw_string_literals
Douglas Gregor172b2212011-11-01 01:23:44 +0000281
282#if __has_feature(cxx_unicode_literals)
283int has_unicode_literals();
284#else
285int no_unicode_literals();
286#endif
287
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700288// CHECK-1Z: has_unicode_literals
289// CHECK-14: has_unicode_literals
Richard Smith7f0ffb32013-05-07 19:32:56 +0000290// CHECK-11: has_unicode_literals
291// CHECK-NO-11: no_unicode_literals
Richard Smithb5216aa2012-02-14 22:56:17 +0000292
293#if __has_feature(cxx_constexpr)
294int has_constexpr();
295#else
296int no_constexpr();
297#endif
298
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700299// CHECK-1Z: has_constexpr
300// CHECK-14: has_constexpr
Richard Smith7f0ffb32013-05-07 19:32:56 +0000301// CHECK-11: has_constexpr
302// CHECK-NO-11: no_constexpr
Sebastian Redld1dc3aa2012-02-25 20:51:27 +0000303
304#if __has_feature(cxx_generalized_initializers)
305int has_generalized_initializers();
306#else
307int no_generalized_initializers();
308#endif
309
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700310// CHECK-1Z: has_generalized_initializers
311// CHECK-14: has_generalized_initializers
Richard Smith7f0ffb32013-05-07 19:32:56 +0000312// CHECK-11: has_generalized_initializers
313// CHECK-NO-11: no_generalized_initializers
Richard Smithec92bc72012-03-03 23:51:05 +0000314
315#if __has_feature(cxx_unrestricted_unions)
316int has_unrestricted_unions();
317#else
318int no_unrestricted_unions();
319#endif
320
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700321// CHECK-1Z: has_unrestricted_unions
322// CHECK-14: has_unrestricted_unions
Richard Smith7f0ffb32013-05-07 19:32:56 +0000323// CHECK-11: has_unrestricted_unions
324// CHECK-NO-11: no_unrestricted_unions
Richard Smith9c1dda72012-03-09 08:41:27 +0000325
326#if __has_feature(cxx_user_literals)
327int has_user_literals();
328#else
329int no_user_literals();
330#endif
331
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700332// CHECK-1Z: has_user_literals
333// CHECK-14: has_user_literals
Richard Smith7f0ffb32013-05-07 19:32:56 +0000334// CHECK-11: has_user_literals
335// CHECK-NO-11: no_user_literals
Douglas Gregor7b156dd2012-04-04 00:48:39 +0000336
337#if __has_feature(cxx_local_type_template_args)
338int has_local_type_template_args();
339#else
340int no_local_type_template_args();
341#endif
342
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700343// CHECK-1Z: has_local_type_template_args
344// CHECK-14: has_local_type_template_args
Richard Smith7f0ffb32013-05-07 19:32:56 +0000345// CHECK-11: has_local_type_template_args
346// CHECK-NO-11: no_local_type_template_args
Richard Smithe6e68b52013-04-19 17:00:31 +0000347
348#if __has_feature(cxx_inheriting_constructors)
349int has_inheriting_constructors();
350#else
351int no_inheriting_constructors();
352#endif
353
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700354// CHECK-1Z: has_inheriting_constructors
355// CHECK-14: has_inheriting_constructors
Richard Smith7f0ffb32013-05-07 19:32:56 +0000356// CHECK-11: has_inheriting_constructors
357// CHECK-NO-11: no_inheriting_constructors
Richard Smithe6e68b52013-04-19 17:00:31 +0000358
359#if __has_feature(cxx_thread_local)
360int has_thread_local();
361#else
362int no_thread_local();
363#endif
364
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700365// CHECK-1Z: has_thread_local
366// CHECK-14: has_thread_local
Richard Smith7f0ffb32013-05-07 19:32:56 +0000367// CHECK-11: has_thread_local
368// CHECK-NO-11: no_thread_local
Douglas Gregore87c5bd2013-05-02 05:28:32 +0000369// CHECK-NO-TLS: no_thread_local
Richard Smith7f0ffb32013-05-07 19:32:56 +0000370
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700371// === C++14 features ===
Richard Smith7f0ffb32013-05-07 19:32:56 +0000372
373#if __has_feature(cxx_binary_literals)
374int has_binary_literals();
375#else
376int no_binary_literals();
377#endif
378
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700379// CHECK-1Z: has_binary_literals
380// CHECK-14: has_binary_literals
Richard Smith7f0ffb32013-05-07 19:32:56 +0000381// CHECK-11: no_binary_literals
382// CHECK-NO-11: no_binary_literals
383
384#if __has_feature(cxx_aggregate_nsdmi)
385int has_aggregate_nsdmi();
386#else
387int no_aggregate_nsdmi();
388#endif
389
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700390// CHECK-1Z: has_aggregate_nsdmi
391// CHECK-14: has_aggregate_nsdmi
Richard Smith7f0ffb32013-05-07 19:32:56 +0000392// CHECK-11: no_aggregate_nsdmi
393// CHECK-NO-11: no_aggregate_nsdmi
Richard Smithf45c2992013-05-12 03:09:35 +0000394
395#if __has_feature(cxx_return_type_deduction)
396int has_return_type_deduction();
397#else
398int no_return_type_deduction();
399#endif
400
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700401// CHECK-1Z: has_return_type_deduction
402// CHECK-14: has_return_type_deduction
Richard Smithf45c2992013-05-12 03:09:35 +0000403// CHECK-11: no_return_type_deduction
404// CHECK-NO-11: no_return_type_deduction
Richard Smitha4fb3392013-07-24 17:41:31 +0000405
406#if __has_feature(cxx_contextual_conversions)
407int has_contextual_conversions();
408#else
409int no_contextual_conversions();
410#endif
411
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700412// CHECK-1Z: has_contextual_conversions
413// CHECK-14: has_contextual_conversions
Richard Smitha4fb3392013-07-24 17:41:31 +0000414// CHECK-11: no_contextual_conversions
415// CHECK-NO-11: no_contextual_conversions
416
417#if __has_feature(cxx_relaxed_constexpr)
418int has_relaxed_constexpr();
419#else
420int no_relaxed_constexpr();
421#endif
422
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700423// CHECK-1Z: has_relaxed_constexpr
424// CHECK-14: has_relaxed_constexpr
Richard Smitha4fb3392013-07-24 17:41:31 +0000425// CHECK-11: no_relaxed_constexpr
426// CHECK-NO-11: no_relaxed_constexpr
Richard Smith629bc522013-09-27 20:19:41 +0000427
428#if __has_feature(cxx_variable_templates)
429int has_variable_templates();
430#else
431int no_variable_templates();
432#endif
433
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700434// CHECK-1Z: has_variable_templates
435// CHECK-14: has_variable_templates
Richard Smith629bc522013-09-27 20:19:41 +0000436// CHECK-11: no_variable_templates
437// CHECK-NO-11: no_variable_templates
Richard Smith44868f52013-09-28 04:37:56 +0000438
439#if __has_feature(cxx_init_captures)
440int has_init_captures();
441#else
442int no_init_captures();
443#endif
444
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700445// CHECK-1Z: has_init_captures
446// CHECK-14: has_init_captures
Richard Smith44868f52013-09-28 04:37:56 +0000447// CHECK-11: no_init_captures
448// CHECK-NO-11: no_init_captures
Stephen Hines6bcf27b2014-05-29 04:14:42 -0700449
450#if __has_feature(cxx_decltype_auto)
451int has_decltype_auto();
452#else
453int no_decltype_auto();
454#endif
455
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700456// CHECK-1Z: has_decltype_auto
457// CHECK-14: has_decltype_auto
Stephen Hines6bcf27b2014-05-29 04:14:42 -0700458// CHECK-11: no_decltype_auto
459// CHECK-NO-11: no_decltype_auto
460
461#if __has_feature(cxx_generic_lambdas)
462int has_generic_lambdas();
463#else
464int no_generic_lambdas();
465#endif
466
Pirama Arumuga Nainarb6d69932015-07-01 12:25:36 -0700467// CHECK-1Z: has_generic_lambdas
468// CHECK-14: has_generic_lambdas
Stephen Hines6bcf27b2014-05-29 04:14:42 -0700469// CHECK-11: no_generic_lambdas
470// CHECK-NO-11: no_generic_lambdas