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

            Bug ID: 118364
           Summary: promote -Wnarrowing warning to error for <=> with
                    non-constants
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: mpolacek at gcc dot gnu.org
  Target Milestone: ---

```
#include <compare>

void
g ()
{
  int i = -1;
  unsigned u = 1;
  auto r = (i <=> u) < 0;
}
```

gives:

q.C: In function ‘void g()’:
q.C:8:13: warning: narrowing conversion of ‘i’ from ‘int’ to ‘unsigned int’
[-Wnarrowing]
    8 |   auto r = (i <=> u) < 0;
      |             ^

but clang++ emits an error.  In GCC 16 we should probably emit an error as
well.

Reply via email to