https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121779
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |15.1.0
Status|UNCONFIRMED |NEW
Keywords| |ice-checking,
| |ice-on-valid-code
Known to fail| |16.0
Last reconfirmed| |2025-09-04
Ever confirmed|0 |1
Summary|ICE when building ladybird |[16 Regression] use of
|browser: internal compiler |operator < with spaceship
|error: tree check: expected |operator returning int
|call_expr, have lt_expr in |inside a template
|build_min_non_dep_op_overlo |
|ad, at cp/tree.cc:3733 |
Target Milestone|--- |16.0
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Reduced down further to:
```
struct String {
int operator<=>(String);
};
template<int>
void f(String a, String b) {
a < b;
}
```
Confirmed. Only -std=c++20 is needed for the above testcase to get the ICE.