From: Jonathan Wakely Date: Fri, 20 Oct 2017 18:02:19 +0000 (+0100) Subject: Define __cpp_lib_byte feature-test macro X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=253e8d21509d7685ce9d515061305cdf604cc005;p=gcc.git Define __cpp_lib_byte feature-test macro * include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. * testsuite/18_support/byte/requirements.cc: Check macro. From-SVN: r253952 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index ba43a4b3708..179361d9223 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2017-10-20 Jonathan Wakely + + * include/c_global/cstddef: Define __cpp_lib_byte feature-test macro. + * testsuite/18_support/byte/requirements.cc: Check macro. + 2017-10-19 Jonathan Wakely * testsuite/experimental/filesystem/iterators/ diff --git a/libstdc++-v3/include/c_global/cstddef b/libstdc++-v3/include/c_global/cstddef index 09754ee45da..11d268b7f81 100644 --- a/libstdc++-v3/include/c_global/cstddef +++ b/libstdc++-v3/include/c_global/cstddef @@ -57,9 +57,11 @@ namespace std } #endif -#if __cplusplus > 201402L +#if __cplusplus >= 201703L namespace std { +#define __cpp_lib_byte 201603 + /// std::byte enum class byte : unsigned char {}; diff --git a/libstdc++-v3/testsuite/18_support/byte/requirements.cc b/libstdc++-v3/testsuite/18_support/byte/requirements.cc index 4cb05df0405..74c8b64d6ce 100644 --- a/libstdc++-v3/testsuite/18_support/byte/requirements.cc +++ b/libstdc++-v3/testsuite/18_support/byte/requirements.cc @@ -20,6 +20,12 @@ #include +#ifndef __cpp_lib_byte +# error "Feature-test macro for byte missing" +#elif __cpp_lib_byte != 201603 +# error "Feature-test macro for byte has wrong value" +#endif + static_assert( sizeof(std::byte) == sizeof(unsigned char) ); static_assert( alignof(std::byte) == alignof(unsigned char) );