https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121097

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2025-07-15

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
--- a/libstdc++-v3/include/ext/type_traits.h
+++ b/libstdc++-v3/include/ext/type_traits.h
@@ -269,6 +269,14 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     {
       typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type;
     };
+
+#ifdef __glibcxx_hypot // C++ >= 17 && HOSTED
+  // __promoted_t is needed by the 3-arg std::hypot so define it inefficiently
+  // for C++17 compilers that don't define __cpp_fold_expressions (PR 121097).
+  template<typename _Tp1, typename _Tp2, typename _Tp3>
+    using __promoted_t = typename __promote_3<_Tp1, _Tp2, _Tp3>::__type;
+#endif
+
 #endif

 _GLIBCXX_END_NAMESPACE_VERSION

Reply via email to