[committed] testsuite: Add testcase for already fixed PR [PR112924]

Message ID ZXR6bqrAb2qXdjuU@tucnak
State Accepted
Headers
Series [committed] testsuite: Add testcase for already fixed PR [PR112924] |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Jakub Jelinek Dec. 9, 2023, 2:32 p.m. UTC
  Hi!

This testcase got fixed with
r14-6132-g50f2a3370d177f8fe9bea0461feb710523e048a2 .
I'm just adding a testcase so that it doesn't reappear.

Tested on x86_64-linux, with -m32/-m64, current trunk as well as r14-6131
where it ICEd with -m32, committed to trunk as obvious.

2023-12-09  Jakub Jelinek  <jakub@redhat.com>

	PR tree-optimization/112924
	* gcc.dg/pr112924.c: New test.


	Jakub
  

Patch

--- gcc/testsuite/gcc.dg/pr112924.c.jj	2023-12-09 15:28:00.848388123 +0100
+++ gcc/testsuite/gcc.dg/pr112924.c	2023-12-09 15:27:34.401752018 +0100
@@ -0,0 +1,26 @@ 
+/* PR tree-optimization/112924 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -w" } */
+/* { dg-additional-options "-msse2" { target i?86-*-* x86_64-*-* } } */
+
+struct S { long a; char b[64]; };
+void foo (struct S a);
+char c;
+int d[3541];
+
+static void
+bar (struct S *s, char *p)
+{
+  unsigned int a = sizeof (d) - sizeof (int) - s->a;
+  long c = __builtin_object_size (s, 0);
+  for (; a >= 64; a -= 64, p += 4);
+    __builtin___memcpy_chk (s, p, a, c);
+}
+
+void
+baz (void)
+{
+  struct S s = {};
+  bar (&s, &c);
+  foo (s);
+}