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); }