Skip to content

Commit

Permalink
Merge 2019-11 LWG Motion 19
Browse files Browse the repository at this point in the history
P1902R1 Missing feature-test macros 2017-2019
  • Loading branch information
zygoloid committed Nov 24, 2019
2 parents 190577a + e6428e5 commit 9124aa5
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 10 deletions.
22 changes: 22 additions & 0 deletions papers/nxxxx.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,30 @@ the exposition-only concept *`forwarding-range`*,
which was removed by this paper.
These uses have been replaced with `safe_range`.

### LWG motion 19

Did not add the macro `__cpp_lib_atomic_ref`.
This macro already existed with the specified value.

Did not change the value of the `__cpp_lib_chrono` macro.
The requested new value of this macro (`201803L`)
is actually lower than the current value
(`201907L`, not `201611L` as listed in [P1902R1](http://wg21.link/p1902r1)).
The chair of SG10 has confirmed that the request to change this macro's value
is an error. The pre-existing, higher value is retained.

Did not change the value of the `__cpp_lib_ranges` macro.
The requested new value of this macro (`201907L`)
is lower than the value `201911L` introduced by
[P1716R3](http://wg21.link/po1716r3) (LWG motion 6).

## Feature test macros

The following feature test macro changes were made
after consultation with SG10,
in addition to the feature test macro changes
requested by motions:

The feature test macro `__cpp_nontype_template_parameter_class` has been removed
to indicate that the feature added by [P0732R2](http://wg21.link/p0732r2)
is no longer present in the same form.
Expand Down
8 changes: 6 additions & 2 deletions source/preprocessor.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1643,25 +1643,29 @@
\defnxname{cpp_binary_literals} & \tcode{201304L} \\ \rowsep
\defnxname{cpp_capture_star_this} & \tcode{201603L} \\ \rowsep
\defnxname{cpp_char8_t} & \tcode{201811L} \\ \rowsep
\defnxname{cpp_concepts} & \tcode{201907L} \\ \rowsep
\defnxname{cpp_conditional_explicit} & \tcode{201806L} \\ \rowsep
\defnxname{cpp_constexpr} & \tcode{201907L} \\ \rowsep
\defnxname{cpp_constexpr_dynamic_alloc} & \tcode{201907L} \\ \rowsep
\defnxname{cpp_constexpr_in_decltype} & \tcode{201711L} \\ \rowsep
\defnxname{cpp_consteval} & \tcode{201811L} \\ \rowsep
\defnxname{cpp_constinit} & \tcode{201907L} \\ \rowsep
\defnxname{cpp_coroutines} & \tcode{201902L} \\ \rowsep
\defnxname{cpp_decltype} & \tcode{200707L} \\ \rowsep
\defnxname{cpp_decltype_auto} & \tcode{201304L} \\ \rowsep
\defnxname{cpp_deduction_guides} & \tcode{201907L} \\ \rowsep
\defnxname{cpp_delegating_constructors} & \tcode{200604L} \\ \rowsep
\defnxname{cpp_designated_initializers} & \tcode{201707L} \\ \rowsep
\defnxname{cpp_enumerator_attributes} & \tcode{201411L} \\ \rowsep
\defnxname{cpp_fold_expressions} & \tcode{201603L} \\ \rowsep
\defnxname{cpp_generic_lambdas} & \tcode{201304L} \\ \rowsep
\defnxname{cpp_generic_lambdas} & \tcode{201707L} \\ \rowsep
\defnxname{cpp_guaranteed_copy_elision} & \tcode{201606L} \\ \rowsep
\defnxname{cpp_hex_float} & \tcode{201603L} \\ \rowsep
\defnxname{cpp_if_constexpr} & \tcode{201606L} \\ \rowsep
\defnxname{cpp_impl_destroying_delete} & \tcode{201806L} \\ \rowsep
\defnxname{cpp_impl_three_way_comparison} & \tcode{201907L} \\ \rowsep
\defnxname{cpp_inheriting_constructors} & \tcode{201511L} \\ \rowsep
\defnxname{cpp_init_captures} & \tcode{201304L} \\ \rowsep
\defnxname{cpp_init_captures} & \tcode{201803L} \\ \rowsep
\defnxname{cpp_initializer_lists} & \tcode{200806L} \\ \rowsep
\defnxname{cpp_inline_variables} & \tcode{201606L} \\ \rowsep
\defnxname{cpp_lambdas} & \tcode{200907L} \\ \rowsep
Expand Down
33 changes: 25 additions & 8 deletions source/support.tex
Original file line number Diff line number Diff line change
Expand Up @@ -554,12 +554,15 @@
// \libheader{map}, \libheader{set}, \libheader{unordered_map}, \libheader{unordered_set}
#define @\defnlibxname{cpp_lib_any}@ 201606L // also in \libheader{any}
#define @\defnlibxname{cpp_lib_apply}@ 201603L // also in \libheader{tuple}
#define @\defnlibxname{cpp_lib_array_constexpr}@ 201803L // also in \libheader{iterator}, \libheader{array}
#define @\defnlibxname{cpp_lib_array_constexpr}@ 201811L // also in \libheader{iterator}, \libheader{array}
#define @\defnlibxname{cpp_lib_as_const}@ 201510L // also in \libheader{utility}
#define @\defnlibxname{cpp_lib_assume_aligned}@ 201811L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_atomic_flag_test}@ 201907L // also in \libheader{atomic}
#define @\defnlibxname{cpp_lib_atomic_float}@ 201711L // also in \libheader{atomic}
#define @\defnlibxname{cpp_lib_atomic_is_always_lock_free}@ 201603L // also in \libheader{atomic}
#define @\defnlibxname{cpp_lib_atomic_lock_free_type_aliases}@ 201907L // also in \libheader{atomic}
#define @\defnlibxname{cpp_lib_atomic_ref}@ 201806L // also in \libheader{atomic}
#define @\defnlibxname{cpp_lib_atomic_shared_ptr}@ 201711L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_atomic_wait}@ 201907L // also in \libheader{atomic}
#define @\defnlibxname{cpp_lib_barrier}@ 201907L // also in \libheader{barrier}
#define @\defnlibxname{cpp_lib_bit_cast}@ 201806L // also in \libheader{bit}
Expand All @@ -575,13 +578,16 @@
#define @\defnlibxname{cpp_lib_chrono_udls}@ 201304L // also in \libheader{chrono}
#define @\defnlibxname{cpp_lib_clamp}@ 201603L // also in \libheader{algorithm}
#define @\defnlibxname{cpp_lib_complex_udls}@ 201309L // also in \libheader{complex}
#define @\defnlibxname{cpp_lib_concepts}@ 201806L // also in \libheader{concepts}
#define @\defnlibxname{cpp_lib_constexpr}@ 201811L
// also in any C++ library header from \tref{headers.cpp} or any C++ header for C library facilities from \tref{headers.cpp.c}
#define @\defnlibxname{cpp_lib_concepts}@ 201907L // also in \libheader{concepts}
#define @\defnlibxname{cpp_lib_constexpr_algorithms}@ 201806L // also in \libheader{algorithm}
#define @\defnlibxname{cpp_lib_constexpr_dynamic_alloc}@ 201907L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_constexpr_invoke}@ 201907L // also in \libheader{functional}
#define @\defnlibxname{cpp_lib_constexpr_functional}@ 201907L // also in \libheader{functional}
#define @\defnlibxname{cpp_lib_constexpr_iterator}@ 201811L // also in \libheader{iterator}
#define @\defnlibxname{cpp_lib_constexpr_memory}@ 201811L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_constexpr_string}@ 201907L // also in \libheader{string}
#define @\defnlibxname{cpp_lib_constexpr_string_view}@ 201811L // also in \libheader{string_view}
#define @\defnlibxname{cpp_lib_constexpr_tuple}@ 201811L // also in \libheader{tuple}
#define @\defnlibxname{cpp_lib_constexpr_utility}@ 201811L // also in \libheader{utility}
#define @\defnlibxname{cpp_lib_constexpr_vector}@ 201907L // also in \libheader{vector}
#define @\defnlibxname{cpp_lib_destroying_delete}@ 201806L // also in \libheader{new}
#define @\defnlibxname{cpp_lib_enable_shared_from_this}@ 201603L // also in \libheader{memory}
Expand All @@ -602,6 +608,7 @@
#define @\defnlibxname{cpp_lib_hypot}@ 201603L // also in \libheader{cmath}
#define @\defnlibxname{cpp_lib_incomplete_container_elements}@ 201505L
// also in \libheader{forward_list}, \libheader{list}, \libheader{vector}
#define @\defnlibxname{cpp_lib_int_pow2}@ 201806L // also in \libheader{bit}
#define @\defnlibxname{cpp_lib_integer_sequence}@ 201304L // also in \libheader{utility}
#define @\defnlibxname{cpp_lib_integral_constant_callable}@ 201304L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_interpolate}@ 201902L // also in \libheader{cmath}, \libheader{numeric}
Expand Down Expand Up @@ -632,37 +639,47 @@
// also in \libheader{array}, \libheader{deque}, \libheader{forward_list}, \libheader{iterator}, \libheader{list}, \libheader{map}, \libheader{regex}, \libheader{set}, \libheader{string},
// \libheader{unordered_map}, \libheader{unordered_set}, \libheader{vector}
#define @\defnlibxname{cpp_lib_not_fn}@ 201603L // also in \libheader{functional}
#define @\defnlibxname{cpp_lib_nothrow_convertible}@ 201806L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_null_iterators}@ 201304L // also in \libheader{iterator}
#define @\defnlibxname{cpp_lib_optional}@ 201606L // also in \libheader{optional}
#define @\defnlibxname{cpp_lib_parallel_algorithm}@ 201603L // also in \libheader{algorithm}, \libheader{numeric}
#define @\defnlibxname{cpp_lib_polymorphic_allocator}@ 201902L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_quoted_string_io}@ 201304L // also in \libheader{iomanip}
#define @\defnlibxname{cpp_lib_ranges}@ 201911L
// also in \libheader{algorithm}, \libheader{functional}, \libheader{iterator}, \libheader{memory}, \libheader{ranges}
#define @\defnlibxname{cpp_lib_raw_memory_algorithms}@ 201606L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_remove_cvref}@ 201711L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_result_of_sfinae}@ 201210L // also in \libheader{functional}, \libheader{type_traits}
#define @\defnlibxname{cpp_lib_robust_nonmodifying_seq_ops}@ 201304L // also in \libheader{algorithm}
#define @\defnlibxname{cpp_lib_sample}@ 201603L // also in \libheader{algorithm}
#define @\defnlibxname{cpp_lib_scoped_lock}@ 201703L // also in \libheader{mutex}
#define @\defnlibxname{cpp_lib_semaphore}@ 201907L // also in \libheader{semaphore}
#define @\defnlibxname{cpp_lib_shared_mutex}@ 201505L // also in \libheader{shared_mutex}
#define @\defnlibxname{cpp_lib_shared_ptr_arrays}@ 201611L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_shared_ptr_arrays}@ 201707L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_shared_ptr_weak_type}@ 201606L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_shared_timed_mutex}@ 201402L // also in \libheader{shared_mutex}
#define @\defnlibxname{cpp_lib_shift}@ 201806L // also in \libheader{algorithm}
#define @\defnlibxname{cpp_lib_smart_ptr_default_init}@ 201811L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_source_location}@ 201907L // also in \libheader{source_location}
#define @\defnlibxname{cpp_lib_spaceship}@ 201907L // also in \libheader{compare}
#define @\defnlibxname{cpp_lib_span}@ 201902L // also in \libheader{span}
#define @\defnlibxname{cpp_lib_ssize}@ 201902L // also in \libheader{iterator}
#define @\defnlibxname{cpp_lib_starts_ends_with}@ 201711L // also in \libheader{string}, \libheader{string_view}
#define @\defnlibxname{cpp_lib_string_udls}@ 201304L // also in \libheader{string}
#define @\defnlibxname{cpp_lib_string_view}@ 201803L // also in \libheader{string}, \libheader{string_view}
#define @\defnlibxname{cpp_lib_three_way_comparison}@ 201711L // also in \libheader{compare}
#define @\defnlibxname{cpp_lib_syncbuf}@ 201803L // also in \libheader{syncstream}
#define @\defnlibxname{cpp_lib_three_way_comparison}@ 201907L // also in \libheader{compare}
#define @\defnlibxname{cpp_lib_to_address}@ 201711L // also in \libheader{memory}
#define @\defnlibxname{cpp_lib_to_array}@ 201907L // also in \libheader{array}
#define @\defnlibxname{cpp_lib_to_chars}@ 201611L // also in \libheader{charconv}
#define @\defnlibxname{cpp_lib_transformation_trait_aliases}@ 201304L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_transparent_operators}@ 201510L // also in \libheader{memory}, \libheader{functional}
#define @\defnlibxname{cpp_lib_tuple_element_t}@ 201402L // also in \libheader{tuple}
#define @\defnlibxname{cpp_lib_tuples_by_type}@ 201304L // also in \libheader{utility}, \libheader{tuple}
#define @\defnlibxname{cpp_lib_type_identity}@ 201806L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_type_trait_variable_templates}@ 201510L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_uncaught_exceptions}@ 201411L // also in \libheader{exception}
#define @\defnlibxname{cpp_lib_unordered_map_try_emplace}@ 201411L // also in \libheader{unordered_map}
#define @\defnlibxname{cpp_lib_unwrap_ref}@ 201811L // also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_variant}@ 201606L // also in \libheader{variant}
#define @\defnlibxname{cpp_lib_void_t}@ 201411L // also in \libheader{type_traits}
\end{codeblock}
Expand Down

0 comments on commit 9124aa5

Please sign in to comment.