Add feature test macro for bounded array traits

* include/std/type_traits (__cpp_lib_bounded_array_traits): Define.
	* include/std/version (__cpp_lib_bounded_array_traits): Likewise.
	* testsuite/20_util/is_bounded_array/value.cc: Check for macro.
	* testsuite/20_util/is_unbounded_array/value.cc: Likewise.

From-SVN: r269426
This commit is contained in:
Jonathan Wakely 2019-03-06 15:31:06 +00:00 committed by Jonathan Wakely
parent 0e1a6d2700
commit 4661094069
5 changed files with 22 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2019-03-06 Jonathan Wakely <jwakely@redhat.com>
* include/std/type_traits (__cpp_lib_bounded_array_traits): Define.
* include/std/version (__cpp_lib_bounded_array_traits): Likewise.
* testsuite/20_util/is_bounded_array/value.cc: Check for macro.
* testsuite/20_util/is_unbounded_array/value.cc: Likewise.
2019-03-06 Edward Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/86655 - std::assoc_legendre should not constrain

View File

@ -3074,6 +3074,8 @@ template <typename _From, typename _To>
template<typename _Tp>
using unwrap_ref_decay_t = typename unwrap_ref_decay<_Tp>::type;
#define __cpp_lib_bounded_array_traits 201902L
/// True for a type that is an array of known bound.
template<typename _Tp>
struct is_bounded_array

View File

@ -148,6 +148,7 @@
#if __cplusplus > 201703L
// c++2a
#define __cpp_lib_bounded_array_traits 201902L
#if __cpp_impl_destroying_delete
# define __cpp_lib_destroying_delete 201806L
#endif

View File

@ -21,6 +21,12 @@
#include <type_traits>
#include <testsuite_tr1.h>
#ifndef __cpp_lib_bounded_array_traits
# error "Feature test macro for is_bounded_array is missing"
#elif __cpp_lib_bounded_array_traits < 201902L
# error "Feature test macro for is_bounded_array has wrong value"
#endif
void test01()
{
using std::is_bounded_array;

View File

@ -21,6 +21,12 @@
#include <type_traits>
#include <testsuite_tr1.h>
#ifndef __cpp_lib_bounded_array_traits
# error "Feature test macro for is_unbounded_array is missing"
#elif __cpp_lib_bounded_array_traits < 201902L
# error "Feature test macro for is_unbounded_array has wrong value"
#endif
void test01()
{
using std::is_unbounded_array;