Message ID | 20240110220813.2501087-1-ppalka@redhat.com |
---|---|
State | New |
Headers | show |
Series | libstdc++: Use _GLIBCXX_USE_BUILTIN_TRAIT for _Nth_type | expand |
On Wed, 10 Jan 2024 at 22:08, Patrick Palka <ppalka@redhat.com> wrote: > > Tested on x86_64-pc-linux-gnu, does this look OK for trunk? OK (thanks, this was on my TODO list). > -- >8 -- > > Since _Nth_type has a fallback native implementation, use > _GLIBCXX_USE_BUILTIN_TRAIT when deciding whether __type_pack_element > is available so that we can easily toggle which implementation > to use.
diff --git a/libstdc++-v3/include/bits/utility.h b/libstdc++-v3/include/bits/utility.h index 45d7241da9f..d8a5fb960fe 100644 --- a/libstdc++-v3/include/bits/utility.h +++ b/libstdc++-v3/include/bits/utility.h @@ -225,7 +225,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION #endif // C++17 -#if __has_builtin(__type_pack_element) +#if _GLIBCXX_USE_BUILTIN_TRAIT(__type_pack_element) template<size_t _Np, typename... _Types> struct _Nth_type { using type = __type_pack_element<_Np, _Types...>; };