diff mbox series

[committed] testsuite: Add testcases for already fixed PR [PR100541]

Message ID Yh88BET3oQX3Rpmt@tucnak
State New
Headers show
Series [committed] testsuite: Add testcases for already fixed PR [PR100541] | expand

Commit Message

Jakub Jelinek March 2, 2022, 9:42 a.m. UTC
Hi!

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.

Regtested on x86_64-linux and i686-linux, committed to trunk as obvious.

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.


	Jakub
diff mbox series

Patch

--- gcc/testsuite/g++.dg/opt/pr100541-1.C.jj	2022-03-01 16:52:21.115876189 +0100
+++ gcc/testsuite/g++.dg/opt/pr100541-1.C	2022-03-01 16:51:35.760341725 +0100
@@ -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;
+}
--- gcc/testsuite/g++.dg/opt/pr100541-2.C.jj	2022-03-01 16:52:25.162819696 +0100
+++ gcc/testsuite/g++.dg/opt/pr100541-2.C	2022-03-01 16:53:05.497256709 +0100
@@ -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;
+}