https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100367
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Internal compiler error |[11/12 Regression] Internal
|when |compiler error when
|std::lexicographical_compar |std::lexicographical_compar
|e_three_way third and |e_three_way third and
|fourth argument are reverse |fourth argument are reverse
|iterators |iterators
Ever confirmed|0 |1
Target Milestone|--- |11.2
Component|libstdc++ |c++
CC| |jason at gcc dot gnu.org,
| |ppalka at gcc dot gnu.org
Status|UNCONFIRMED |NEW
Last reconfirmed| |2021-05-03
--- Comment #1 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Seems to be a frontend issue, started with r11-5866. Reduced:
#include <compare>
struct iter {
bool current;
iter(iter &);
};
constexpr bool operator==(const iter &, const iter &__y) {
return __y.current;
}
void lexicographical_compare_three_way(iter a) {
(a == a) <=> true;
}