Date: Fri, 31 Mar 2017 11:33:54 +0100
On 31 March 2017 at 09:20, Eric Fiselier wrote:
> +1 for the feature test macro. What would the value of the macro be?
>
> It's particularly important in this case because the availability of
> std::is_aggregate is dependent
> on both the compiler version, because a builtin is required, and the STL
> version.
The IS is using 201703 for C++17 so I suggest the same value for
feature test macros for features added in Kona.
I've already added the following to libstdc++ on the assumption we use
that value, and these names:
#define __cpp_lib_scoped_lock 201703
This replaces __cpp_lib_lock_guard_variadic, because the changes to
lock_guard were reverted so it's no longer variadic. scoped_lock was
added instead.
#define __cpp_lib_is_invocable 201703
This replaces __cpp_lib_is_callable because we renamed the trait.
We *could* keep the old macros in SD-6 (so people can use them to test
for the non-standard names in compilers that already implemented them)
but I don't think that's necessary.
> +1 for the feature test macro. What would the value of the macro be?
>
> It's particularly important in this case because the availability of
> std::is_aggregate is dependent
> on both the compiler version, because a builtin is required, and the STL
> version.
The IS is using 201703 for C++17 so I suggest the same value for
feature test macros for features added in Kona.
I've already added the following to libstdc++ on the assumption we use
that value, and these names:
#define __cpp_lib_scoped_lock 201703
This replaces __cpp_lib_lock_guard_variadic, because the changes to
lock_guard were reverted so it's no longer variadic. scoped_lock was
added instead.
#define __cpp_lib_is_invocable 201703
This replaces __cpp_lib_is_callable because we renamed the trait.
We *could* keep the old macros in SD-6 (so people can use them to test
for the non-standard names in compilers that already implemented them)
but I don't think that's necessary.
Received on 2017-03-31 12:34:16