aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2023-12-09 15:29:51 +0100
committerJakub Jelinek <jakub@redhat.com>2023-12-09 15:29:51 +0100
commitaf8bbd631f5425e9be084dfd1f2b9487a31a350e (patch)
treef713bf4afdf12a5d0ea4318492818682341e4753
parentcdf45e00a936a76a785c592c9730f24ef1ac25cd (diff)
downloadgcc-af8bbd631f5425e9be084dfd1f2b9487a31a350e.zip
gcc-af8bbd631f5425e9be084dfd1f2b9487a31a350e.tar.gz
gcc-af8bbd631f5425e9be084dfd1f2b9487a31a350e.tar.bz2
testsuite: Add testcase for already fixed PR [PR112924]
This testcase got fixed with r14-6132-g50f2a3370d177f8fe9bea0461feb710523e048a2 . I'm just adding a testcase so that it doesn't reappear. 2023-12-09 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/112924 * gcc.dg/pr112924.c: New test.
-rw-r--r--gcc/testsuite/gcc.dg/pr112924.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr112924.c b/gcc/testsuite/gcc.dg/pr112924.c
new file mode 100644
index 0000000..c8a51d4
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/pr112924.c
@@ -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);
+}