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 <jakub@redhat.com> PR debug/100541 * g++.dg/opt/pr100541-1.C: New test. * g++.dg/opt/pr100541-2.C: New test.
This commit is contained in:
parent
31702fe969
commit
5f2e72db8c
24
gcc/testsuite/g++.dg/opt/pr100541-1.C
Normal file
24
gcc/testsuite/g++.dg/opt/pr100541-1.C
Normal file
@ -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;
|
||||
}
|
25
gcc/testsuite/g++.dg/opt/pr100541-2.C
Normal file
25
gcc/testsuite/g++.dg/opt/pr100541-2.C
Normal file
@ -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;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user