1 // { dg-options "-std=gnu++14" }
13 #include <shared_mutex>
15 #ifndef __cpp_lib_integer_sequence
16 # error "__cpp_lib_integer_sequence"
17 #elif __cpp_lib_integer_sequence != 201304
18 # error "__cpp_lib_integer_sequence != 201304"
21 #ifndef __cpp_lib_exchange_function
22 # error "__cpp_lib_exchange_function"
23 #elif __cpp_lib_exchange_function != 201304
24 # error "__cpp_lib_exchange_function != 201304"
27 #ifndef __cpp_lib_tuples_by_type
28 # error "__cpp_lib_tuples_by_type"
29 #elif __cpp_lib_tuples_by_type != 201304
30 # error "__cpp_lib_tuples_by_type != 201304"
33 #ifndef __cpp_lib_make_unique
34 # error "__cpp_lib_make_unique"
35 #elif __cpp_lib_make_unique != 201304
36 # error "__cpp_lib_make_unique != 201304"
39 #ifndef __cpp_lib_transparent_operators
40 # error "__cpp_lib_transparent_operators"
41 #elif __cpp_lib_transparent_operators != 201210
42 # error "__cpp_lib_transparent_operators != 201210"
45 #ifndef __cpp_lib_result_of_sfinae
46 # error "__cpp_lib_result_of_sfinae"
47 #elif __cpp_lib_result_of_sfinae != 201210
48 # error "__cpp_lib_result_of_sfinae != 201210"
51 #ifndef __cpp_lib_integral_constant_callable
52 # error "__cpp_lib_integral_constant_callable"
53 #elif __cpp_lib_integral_constant_callable != 201304
54 # error "__cpp_lib_integral_constant_callable != 201304"
57 #ifndef __cpp_lib_transformation_trait_aliases
58 # error "__cpp_lib_transformation_trait_aliases"
59 #elif __cpp_lib_transformation_trait_aliases != 201304
60 # error "__cpp_lib_transformation_trait_aliases != 201304"
63 #ifndef __cpp_lib_chrono_udls
64 # error "__cpp_lib_chrono_udls"
65 #elif __cpp_lib_chrono_udls != 201304
66 # error "__cpp_lib_chrono_udls != 201304"
69 #ifndef __cpp_lib_string_udls
70 # error "__cpp_lib_string_udls"
71 #elif __cpp_lib_string_udls != 201304
72 # error "__cpp_lib_string_udls != 201304"
75 #ifndef __cpp_lib_complex_udls
76 # error "__cpp_lib_complex_udls"
77 #elif __cpp_lib_complex_udls != 201309
78 # error "__cpp_lib_complex_udls != 201309"
81 #ifndef __cpp_lib_generic_associative_lookup
82 # error "__cpp_lib_generic_associative_lookup"
83 #elif __cpp_lib_generic_associative_lookup != 201304
84 # error "__cpp_lib_generic_associative_lookup != 201304"
87 //#ifndef __cpp_lib_null_iterators
88 //# error "__cpp_lib_null_iterators"
89 //#elif __cpp_lib_null_iterators != 201304
90 //# error "__cpp_lib_null_iterators != 201304"
93 #ifndef __cpp_lib_robust_nonmodifying_seq_ops
94 # error "__cpp_lib_robust_nonmodifying_seq_ops"
95 #elif __cpp_lib_robust_nonmodifying_seq_ops != 201304
96 # error "__cpp_lib_robust_nonmodifying_seq_ops != 201304"
99 #ifndef __cpp_lib_quoted_string_io
100 # error "__cpp_lib_quoted_string_io"
101 #elif __cpp_lib_quoted_string_io != 201304
102 # error "__cpp_lib_quoted_string_io != 201304"
105 #if !__has_include(<shared_mutex>)
106 # error "<shared_mutex>"
109 #ifndef __cpp_lib_shared_timed_mutex
110 # error "__cpp_lib_shared_timed_mutex"
111 #elif __cpp_lib_shared_timed_mutex != 201402
112 # error "__cpp_lib_shared_timed_mutex != 201402"