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

            Bug ID: 117532
           Summary: Miscompile with -Os and -O0/1/2/3
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: yunboni at smail dot nju.edu.cn
  Target Milestone: ---

When I compiled this code with -Os, its output is -256. But with -O0/1/2/3, its
output is 0:

```c
int printf(const char *, ...);
int a, c = -1;
int main() {
  a = ~c;
  printf("%d\n", (unsigned char)a);
}
```

Details can be found here: https://godbolt.org/z/o77dorWzr

Reply via email to