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; }