aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorAndrew Pinski <andrew_pinski@playstation.sony.com>2007-05-23 01:17:14 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2007-05-22 18:17:14 -0700
commit1809a5208fc4b69da7db417f7a0b3d13eefe425a (patch)
treee79a8d1f6407c9a676099a06ac11ea25052d70bf /gcc/testsuite
parent6a57dd4f384524a11369fbb0a6dc54ea07c45e3b (diff)
downloadgcc-1809a5208fc4b69da7db417f7a0b3d13eefe425a.zip
gcc-1809a5208fc4b69da7db417f7a0b3d13eefe425a.tar.gz
gcc-1809a5208fc4b69da7db417f7a0b3d13eefe425a.tar.bz2
re PR middle-end/31095 (ICE in expand_expr_real_1, at expr.c:8786)
2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31095 * builtins.c (expand_builtin_memmove_args): Strip nops that don't change the type before looking for a COMPOUND_EXPR. 2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com> PR middle-end/31095 * gcc.c-torture/compile/bcopy-1.c: New testcase. From-SVN: r124975
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gcc.c-torture/compile/bcopy-1.c14
2 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0c4e1a2..bf55581 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,10 @@
2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
+ PR middle-end/31095
+ * gcc.c-torture/compile/bcopy-1.c: New testcase.
+
+2007-05-22 Andrew Pinski <andrew_pinski@playstation.sony.com>
+
PR middle-end/31606
* gcc.c-torture/20070522-1.c: New testcase.
diff --git a/gcc/testsuite/gcc.c-torture/compile/bcopy-1.c b/gcc/testsuite/gcc.c-torture/compile/bcopy-1.c
new file mode 100644
index 0000000..5d3a882
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/compile/bcopy-1.c
@@ -0,0 +1,14 @@
+/* PR middle-end/31095, expand_builtin_memmove_args forgot to take into
+ account that tree folding of builtins can add an extra NOP_EXPR. */
+
+struct timeval
+{
+ int tv_sec;
+ int tv_usec;
+};
+void
+capture_next_packet (void)
+{
+ struct timeval past, now, then;
+ __builtin_bcopy (&then, &past, sizeof (then));
+}