mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 02:56:06 +00:00

The function template<class Duration> requires three_way_comparable_with<sys_seconds, sys_time<Duration>> constexpr auto operator<=>(const leap_second& x, const sys_time<Duration>& y) noexcept; Has a recursive constrained. This caused an infinite loop in GCC and is now hit by https://github.com/llvm/llvm-project/pull/102857. A fix would be to make this function a hidden friend, this solution is propsed in LWG4139. For consistency all comparisons are made hidden friends. Since the issue causes compilation failures no additional test are needed. Fixes: https://github.com/llvm/llvm-project/issues/104700