Yes, I have fixed them on my side and am waiting for the test results! Thank you! On Mon, Jun 12, 2023 at 11:09 AM François Dumont wrote: > Same remark for all your alike patches. > > On 11/06/2023 04:43, Ken Matsui via Libstdc++ wrote: > > This patch gets std::is_reference to dispatch to new built-in trait > > __is_reference. > > > > libstdc++-v3/ChangeLog: > > > > * include/std/type_traits (is_reference): Use __is_reference > built-in > > trait. > > (is_reference_v): Likewise. > > > > Signed-off-by: Ken Matsui > > --- > > libstdc++-v3/include/std/type_traits | 13 ++++++++----- > > 1 file changed, 8 insertions(+), 5 deletions(-) > > > > diff --git a/libstdc++-v3/include/std/type_traits > b/libstdc++-v3/include/std/type_traits > > index 0e7a9c9c7f3..b2eb4bd3e7f 100644 > > --- a/libstdc++-v3/include/std/type_traits > > +++ b/libstdc++-v3/include/std/type_traits > > @@ -639,6 +639,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > // Composite type categories. > > > > /// is_reference > > +#if __has_builtin(__is_reference) > Here you are checking __has_builtin(__is_reference)... > > + template > > + struct is_reference > > + : public __bool_constant<__is_reference(_Tp)> > > + { }; > > +#else > > template > > struct is_reference > > : public false_type > > @@ -653,6 +659,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION > > struct is_reference<_Tp&&> > > : public true_type > > { }; > > +#endif > > > > /// is_arithmetic > > template > > @@ -3193,11 +3200,7 @@ template > > template > > inline constexpr bool is_function_v = is_function<_Tp>::value; > > template > > - inline constexpr bool is_reference_v = false; > > -template > > - inline constexpr bool is_reference_v<_Tp&> = true; > > -template > > - inline constexpr bool is_reference_v<_Tp&&> = true; > > + inline constexpr bool is_reference_v = __is_reference(_Tp); > ...but not here, why ? > > -- Sincerely, Ken Matsui