forked from boostorg/config
Add std lib version macros
This commit is contained in:
@ -120,6 +120,8 @@ explicit has_clang_implicit_fallthrough ;
|
||||
|
||||
exe config_info_printer : config_info.cpp ;
|
||||
explicit config_info_printer ;
|
||||
exe math_info_printer : math_info.cpp ;
|
||||
explicit math_info_printer ;
|
||||
|
||||
actions print-run
|
||||
{
|
||||
@ -135,6 +137,8 @@ rule print-run ( target : sources * : properties * )
|
||||
|
||||
notfile print_config_info : @print-run : config_info_printer ;
|
||||
explicit print_config_info ;
|
||||
notfile print_math_info : @print-run : math_info_printer ;
|
||||
explicit print_math_info ;
|
||||
|
||||
# Backwards compatibility:
|
||||
exe config_info_travis : config_info.cpp ;
|
||||
|
@ -1266,10 +1266,147 @@ void print_boost_macros()
|
||||
PRINT_MACRO(BOOST_NORETURN);
|
||||
}
|
||||
|
||||
#ifdef __has_include
|
||||
#if __has_include(<version>)
|
||||
# include <version>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void print_sd6_macros()
|
||||
{
|
||||
// http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/p0096r5.html
|
||||
|
||||
// Library macros are only really available if we have <version> :
|
||||
|
||||
PRINT_MACRO(__cpp_lib_addressof_constexpr);
|
||||
PRINT_MACRO(__cpp_lib_allocator_traits_is_always_equal);
|
||||
PRINT_MACRO(__cpp_lib_any);
|
||||
PRINT_MACRO(__cpp_lib_apply);
|
||||
PRINT_MACRO(__cpp_lib_array_constexpr);
|
||||
PRINT_MACRO(__cpp_lib_as_const);
|
||||
PRINT_MACRO(__cpp_lib_assume_aligned);
|
||||
PRINT_MACRO(__cpp_lib_atomic_flag_test);
|
||||
PRINT_MACRO(__cpp_lib_atomic_float);
|
||||
PRINT_MACRO(__cpp_lib_atomic_is_always_lock_free);
|
||||
PRINT_MACRO(__cpp_lib_atomic_lock_free_type_aliases);
|
||||
PRINT_MACRO(__cpp_lib_atomic_ref);
|
||||
PRINT_MACRO(__cpp_lib_atomic_shared_ptr);
|
||||
PRINT_MACRO(__cpp_lib_atomic_value_initialization);
|
||||
PRINT_MACRO(__cpp_lib_atomic_wait);
|
||||
PRINT_MACRO(__cpp_lib_barrier);
|
||||
PRINT_MACRO(__cpp_lib_bind_front);
|
||||
PRINT_MACRO(__cpp_lib_bit_cast);
|
||||
PRINT_MACRO(__cpp_lib_bitops);
|
||||
PRINT_MACRO(__cpp_lib_bool_constant);
|
||||
PRINT_MACRO(__cpp_lib_bounded_array_traits);
|
||||
PRINT_MACRO(__cpp_lib_boyer_moore_searcher);
|
||||
PRINT_MACRO(__cpp_lib_byte);
|
||||
PRINT_MACRO(__cpp_lib_char8_t);
|
||||
PRINT_MACRO(__cpp_lib_chrono);
|
||||
PRINT_MACRO(__cpp_lib_chrono_udls);
|
||||
PRINT_MACRO(__cpp_lib_clamp);
|
||||
PRINT_MACRO(__cpp_lib_complex_udls);
|
||||
PRINT_MACRO(__cpp_lib_concepts);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_algorithms);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_complex);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_dynamic_alloc);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_functional);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_iterator);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_memory);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_numeric);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_string);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_string_view);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_tuple);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_utility);
|
||||
PRINT_MACRO(__cpp_lib_constexpr_vector);
|
||||
PRINT_MACRO(__cpp_lib_coroutine);
|
||||
PRINT_MACRO(__cpp_lib_destroying_delete);
|
||||
PRINT_MACRO(__cpp_lib_enable_shared_from_this);
|
||||
PRINT_MACRO(__cpp_lib_endian);
|
||||
PRINT_MACRO(__cpp_lib_erase_if);
|
||||
PRINT_MACRO(__cpp_lib_exchange_function);
|
||||
PRINT_MACRO(__cpp_lib_execution);
|
||||
PRINT_MACRO(__cpp_lib_filesystem);
|
||||
PRINT_MACRO(__cpp_lib_format);
|
||||
PRINT_MACRO(__cpp_lib_gcd_lcm);
|
||||
PRINT_MACRO(__cpp_lib_generic_associative_lookup);
|
||||
PRINT_MACRO(__cpp_lib_generic_unordered_lookup);
|
||||
PRINT_MACRO(__cpp_lib_hardware_interference_size);
|
||||
PRINT_MACRO(__cpp_lib_has_unique_object_representations);
|
||||
PRINT_MACRO(__cpp_lib_hypot);
|
||||
PRINT_MACRO(__cpp_lib_incomplete_container_elements);
|
||||
PRINT_MACRO(__cpp_lib_int_pow2);
|
||||
PRINT_MACRO(__cpp_lib_integer_comparison_functions);
|
||||
PRINT_MACRO(__cpp_lib_integer_sequence);
|
||||
PRINT_MACRO(__cpp_lib_integral_constant_callable);
|
||||
PRINT_MACRO(__cpp_lib_interpolate);
|
||||
PRINT_MACRO(__cpp_lib_invoke);
|
||||
PRINT_MACRO(__cpp_lib_is_aggregate);
|
||||
PRINT_MACRO(__cpp_lib_is_constant_evaluated);
|
||||
PRINT_MACRO(__cpp_lib_is_final);
|
||||
PRINT_MACRO(__cpp_lib_is_invocable);
|
||||
PRINT_MACRO(__cpp_lib_is_layout_compatible);
|
||||
PRINT_MACRO(__cpp_lib_is_nothrow_convertible);
|
||||
PRINT_MACRO(__cpp_lib_is_null_pointer);
|
||||
PRINT_MACRO(__cpp_lib_is_pointer_interconvertible);
|
||||
PRINT_MACRO(__cpp_lib_is_swappable);
|
||||
PRINT_MACRO(__cpp_lib_jthread);
|
||||
PRINT_MACRO(__cpp_lib_latch);
|
||||
PRINT_MACRO(__cpp_lib_launder);
|
||||
PRINT_MACRO(__cpp_lib_list_remove_return_type);
|
||||
PRINT_MACRO(__cpp_lib_logical_traits);
|
||||
PRINT_MACRO(__cpp_lib_make_from_tuple);
|
||||
PRINT_MACRO(__cpp_lib_make_reverse_iterator);
|
||||
PRINT_MACRO(__cpp_lib_make_unique);
|
||||
PRINT_MACRO(__cpp_lib_map_try_emplace);
|
||||
PRINT_MACRO(__cpp_lib_math_constants);
|
||||
PRINT_MACRO(__cpp_lib_math_special_functions);
|
||||
PRINT_MACRO(__cpp_lib_memory_resource);
|
||||
PRINT_MACRO(__cpp_lib_node_extract);
|
||||
PRINT_MACRO(__cpp_lib_nonmember_container_access);
|
||||
PRINT_MACRO(__cpp_lib_not_fn);
|
||||
PRINT_MACRO(__cpp_lib_null_iterators);
|
||||
PRINT_MACRO(__cpp_lib_optional);
|
||||
PRINT_MACRO(__cpp_lib_parallel_algorithm);
|
||||
PRINT_MACRO(__cpp_lib_polymorphic_allocator);
|
||||
PRINT_MACRO(__cpp_lib_quoted_string_io);
|
||||
PRINT_MACRO(__cpp_lib_ranges);
|
||||
PRINT_MACRO(__cpp_lib_raw_memory_algorithms);
|
||||
PRINT_MACRO(__cpp_lib_remove_cvref);
|
||||
PRINT_MACRO(__cpp_lib_result_of_sfinae);
|
||||
PRINT_MACRO(__cpp_lib_robust_nonmodifying_seq_ops);
|
||||
PRINT_MACRO(__cpp_lib_sample);
|
||||
PRINT_MACRO(__cpp_lib_scoped_lock);
|
||||
PRINT_MACRO(__cpp_lib_semaphore);
|
||||
PRINT_MACRO(__cpp_lib_shared_mutex);
|
||||
PRINT_MACRO(__cpp_lib_shared_ptr_arrays);
|
||||
PRINT_MACRO(__cpp_lib_shared_ptr_weak_type);
|
||||
PRINT_MACRO(__cpp_lib_shared_timed_mutex);
|
||||
PRINT_MACRO(__cpp_lib_shift);
|
||||
PRINT_MACRO(__cpp_lib_smart_ptr_for_overwrite);
|
||||
PRINT_MACRO(__cpp_lib_source_location);
|
||||
PRINT_MACRO(__cpp_lib_span);
|
||||
PRINT_MACRO(__cpp_lib_ssize);
|
||||
PRINT_MACRO(__cpp_lib_starts_ends_with);
|
||||
PRINT_MACRO(__cpp_lib_string_udls);
|
||||
PRINT_MACRO(__cpp_lib_string_view);
|
||||
PRINT_MACRO(__cpp_lib_syncbuf);
|
||||
PRINT_MACRO(__cpp_lib_three_way_comparison);
|
||||
PRINT_MACRO(__cpp_lib_to_address);
|
||||
PRINT_MACRO(__cpp_lib_to_array);
|
||||
PRINT_MACRO(__cpp_lib_to_chars);
|
||||
PRINT_MACRO(__cpp_lib_transformation_trait_aliases);
|
||||
PRINT_MACRO(__cpp_lib_transparent_operators);
|
||||
PRINT_MACRO(__cpp_lib_tuple_element_t);
|
||||
PRINT_MACRO(__cpp_lib_tuples_by_type);
|
||||
PRINT_MACRO(__cpp_lib_type_identity);
|
||||
PRINT_MACRO(__cpp_lib_type_trait_variable_templates);
|
||||
PRINT_MACRO(__cpp_lib_uncaught_exceptions);
|
||||
PRINT_MACRO(__cpp_lib_unordered_map_try_emplace);
|
||||
PRINT_MACRO(__cpp_lib_unwrap_ref);
|
||||
PRINT_MACRO(__cpp_lib_variant);
|
||||
PRINT_MACRO(__cpp_lib_void_t);
|
||||
|
||||
// C++20:
|
||||
PRINT_MACRO(__cpp_aggregate_paren_init);
|
||||
PRINT_MACRO(__cpp_char8_t);
|
||||
|
Reference in New Issue
Block a user