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

            Bug ID: 94724
           Summary: wrong code at -O0 on x86_64-linux-gnu
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: qrzhang at gatech dot edu
  Target Milestone: ---

It happens at -O0. gcc-9 works fine.
Bisection points to g:ca6c722561ce9b9dc7b59cfd9d2


The correct output is 1.


$ gcc-trunk -v
gcc version 10.0.1 20200422 (experimental) [master revision
38644f81bab:facc719c537:56b15072aa41633235be57851ab342114e0bacba] (GCC)


$ gcc-9 abc.c ; ./a.out
1

$ gcc-trunk abc.c ; ./a.out
0

$ cat abc.c
short a, b;
int main() {
  (0, (0, (a = 0 >= 0, b))) != 53601;
  printf("%d\n", a);
}

Reply via email to