diff --git a/libstdc++-v3/include/experimental/bits/simd_math.h b/libstdc++-v3/include/experimental/bits/simd_math.h index a5df2039970..61af9fc67af 100644 --- a/libstdc++-v3/include/experimental/bits/simd_math.h +++ b/libstdc++-v3/include/experimental/bits/simd_math.h @@ -119,10 +119,10 @@ template //}}} // _GLIBCXX_SIMD_MATH_CALL2_ {{{ -#define _GLIBCXX_SIMD_MATH_CALL2_(__name, arg2_) \ +#define _GLIBCXX_SIMD_MATH_CALL2_(__name, __arg2) \ template < \ typename _Tp, typename _Abi, typename..., \ - typename _Arg2 = _Extra_argument_type, \ + typename _Arg2 = _Extra_argument_type<__arg2, _Tp, _Abi>, \ typename _R = _Math_return_type_t< \ decltype(std::__name(declval(), _Arg2::declval())), _Tp, _Abi>> \ enable_if_t, _R> \ @@ -137,7 +137,7 @@ template \ declval(), \ declval, \ + is_same<__arg2, _Tp>, \ negation, simd<_Tp, _Abi>>>, \ is_convertible<_Up, simd<_Tp, _Abi>>, is_floating_point<_Tp>>, \ double>>())), \ @@ -147,10 +147,10 @@ template \ // }}} // _GLIBCXX_SIMD_MATH_CALL3_ {{{ -#define _GLIBCXX_SIMD_MATH_CALL3_(__name, arg2_, arg3_) \ +#define _GLIBCXX_SIMD_MATH_CALL3_(__name, __arg2, __arg3) \ template , \ - typename _Arg3 = _Extra_argument_type, \ + typename _Arg2 = _Extra_argument_type<__arg2, _Tp, _Abi>, \ + typename _Arg3 = _Extra_argument_type<__arg3, _Tp, _Abi>, \ typename _R = _Math_return_type_t< \ decltype(std::__name(declval(), _Arg2::declval(), \ _Arg3::declval())), \