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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |diagnostic,
                   |                            |ice-on-valid-code
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2024-08-01
             Status|UNCONFIRMED                 |NEW

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
clang reports:
```
<source>:25:18: error: cannot use builtin operator '<=>' because type
'std::partial_ordering' was not found; include <compare>
   25 |     auto a = 1.0 <=> 2.0;
      |                  ^
```

MSVC reports:
```
<source>(25): error C7547: standard type 'std::partial_ordering' ill-formed:
member 'less' was not found

```

EDG reports:
```
"<source>", line 25: error: no valid std::strong_ordering type found (<compare>
must be included)
      auto a = 1.0 <=> 2.0;
               ^

"<source>", line 25: error: no valid std::weak_ordering type found (<compare>
must be included)
      auto a = 1.0 <=> 2.0;
               ^

"<source>", line 25: warning: variable "a" was declared but never referenced
      auto a = 1.0 <=> 2.0;
           ^
```

I think only EDG error message is decent and correct here.
 Ever other compiler rejects it for the wrong reason.

Reply via email to