From: Jakub Jelinek Date: Wed, 2 Mar 2022 09:38:39 +0000 (+0100) Subject: testsuite: Add testcases for already fixed PR [PR100541] X-Git-Tag: upstream/12.2.0~1251 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5f2e72db8c03c960d8330305c1e92986373198ca;p=platform%2Fupstream%2Fgcc.git testsuite: Add testcases for already fixed PR [PR100541] These testcases started failing with r12-630 and one of them got fixed with r12-4531 (aka PR102764 fix and r12-4616 further improved the fix) and the other went latent in r12-2591 (i.e. threader changes) and I believe was fixed for real by the PR102764 fix too. 2022-03-02 Jakub Jelinek PR debug/100541 * g++.dg/opt/pr100541-1.C: New test. * g++.dg/opt/pr100541-2.C: New test. --- diff --git a/gcc/testsuite/g++.dg/opt/pr100541-1.C b/gcc/testsuite/g++.dg/opt/pr100541-1.C new file mode 100644 index 0000000..9a73e15 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr100541-1.C @@ -0,0 +1,24 @@ +// PR debug/100541 +// { dg-do compile } +// { dg-options "-O3 -fno-expensive-optimizations -fno-tree-dce -fno-tree-dominator-opts -fcompare-debug" } + +int a, b, i, x, y; + +int +foo () +{ + int rcmd = 0; + switch (x) { + case 0: + if (i) + rcmd = 6; + if (y % 3) + int &m1 = rcmd = rcmd | 5; + break; + case 1: + rcmd = b; + } + if (rcmd != 7) + return rcmd; + return a; +} diff --git a/gcc/testsuite/g++.dg/opt/pr100541-2.C b/gcc/testsuite/g++.dg/opt/pr100541-2.C new file mode 100644 index 0000000..3562481 --- /dev/null +++ b/gcc/testsuite/g++.dg/opt/pr100541-2.C @@ -0,0 +1,25 @@ +// PR debug/100541 +// { dg-do compile { target c++11 } } +// { dg-options "-O2 -fno-tree-dce -fno-tree-dominator-opts -fcompare-debug" } + +int INVALID_TILE; +void GetSlopePixelZ(); +long RUNWAY_IN_block; +struct Airport { + long flags; +}; +struct Station { + Airport airport; +} * HandleCrashedAircraft_st; +short HandleCrashedAircraft_v_0; +void HandleCrashedAircraft() { + Station *__trans_tmp_1 = INVALID_TILE ? nullptr : HandleCrashedAircraft_st, + *st; + if (HandleCrashedAircraft_v_0 && __trans_tmp_1 == nullptr && + HandleCrashedAircraft_v_0 % 3) + GetSlopePixelZ(); + if (HandleCrashedAircraft_v_0) + GetSlopePixelZ(); + if (__trans_tmp_1) + st->airport.flags &= RUNWAY_IN_block; +}