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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |redi at gcc dot gnu.org

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
If we structure it like this we can avoid instantiating the redundant
expressions:

      static constexpr bool
      __less(const _Tp& __t, const _Up& __u)
      {
        if (std::get<__i>(__t) < std::get<__i>(__u))
          return true;

        if _GLIBCXX17_CONSTEXPR ((__i + 1) < __size)
          {
            return !bool(std::get<__i>(__u) < std::get<__i>(__t))
              && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u);
          }
        return false;
      }

Reply via email to