aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2019-08-15 12:05:31 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2019-08-15 12:05:31 +0000
commit84cc60bf83e03267f5794a16b3eb83508a3196ce (patch)
tree9cc378e66cda040d94bb4964564d4ea05a9b2b7f
parent834032457972caee7d4ae113c2201080178a229e (diff)
downloadgcc-84cc60bf83e03267f5794a16b3eb83508a3196ce.zip
gcc-84cc60bf83e03267f5794a16b3eb83508a3196ce.tar.gz
gcc-84cc60bf83e03267f5794a16b3eb83508a3196ce.tar.bz2
re PR tree-optimization/91445 (After memset, logical && operator produces false result, optimization level >=O1)
2019-08-15 Richard Biener <rguenther@suse.de> PR tree-optimization/91445 * gcc.dg/torture/pr91445.c: New testcase. From-SVN: r274533
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.dg/torture/pr91445.c22
2 files changed, 27 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index d076a77..a21600b 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2019-08-15 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/91445
+ * gcc.dg/torture/pr91445.c: New testcase.
+
+2019-08-15 Richard Biener <rguenther@suse.de>
+
* gcc.dg/pr80170.c: Adjust to use __SIZETYPE__.
2019-08-15 Richard Sandiford <richard.sandiford@arm.com>
diff --git a/gcc/testsuite/gcc.dg/torture/pr91445.c b/gcc/testsuite/gcc.dg/torture/pr91445.c
new file mode 100644
index 0000000..1d24d45
--- /dev/null
+++ b/gcc/testsuite/gcc.dg/torture/pr91445.c
@@ -0,0 +1,22 @@
+/* { dg-do run } */
+
+struct S { _Bool x; };
+
+void
+foo (struct S *s)
+{
+ __builtin_memset (s, 0x11, sizeof (struct S));
+ s->x = 1;
+}
+
+int
+main ()
+{
+ struct S s;
+ foo (&s);
+ char c;
+ __builtin_memcpy (&c, &s.x, 1);
+ if (c != 1)
+ __builtin_abort ();
+ return 0;
+}