summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Sandiford <richard@codesourcery.com>2007-02-09 13:50:42 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2007-02-09 13:50:42 +0000
commita6fb11e20d44c00c276779e502a31ccad53b7bf2 (patch)
tree8fb42e4e78bc33e08e1ad7c23f8143c2bad147b6
parent4a799f3d0d1e0df351710114be061459c76bdc0e (diff)
downloadgcc-a6fb11e20d44c00c276779e502a31ccad53b7bf2.tar.gz
200x-xx-xx Nathan Sidwell <nathan@codesourcery.com>
gcc/testsuite/ * gcc.c-torture/execute/builtins/memops-asm-lib.c: Do the copy or set before checking whether it was allowed. * gcc.c-torture/execute/builtins/lib/memset.c: Do the memset before checking inside_main. From-SVN: r121746
-rw-r--r--gcc/testsuite/ChangeLog7
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c9
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c10
3 files changed, 18 insertions, 8 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 791ecc9596e..f30c006c9bd 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,12 @@
2007-02-09 Richard Sandiford <richard@codesourcery.com>
+ * gcc.c-torture/execute/builtins/memops-asm-lib.c: Do the copy or
+ set before checking whether it was allowed.
+ * gcc.c-torture/execute/builtins/lib/memset.c: Do the memset
+ before checking inside_main.
+
+2007-02-09 Richard Sandiford <richard@codesourcery.com>
+
* gcc.dg/compat/struct-layout-1.h (v16sf): Define to v4sf on
uClinux targets.
(u16sf): Likewise u4sf.
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c b/gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c
index 615dff6e7c0..4bfa33ea66f 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c
@@ -4,15 +4,16 @@ extern int inside_main;
void *
memset (void *dst, int c, __SIZE_TYPE__ n)
{
+ while (n-- != 0)
+ n[(char *) dst] = c;
+
/* Single-byte memsets should be done inline when optimisation
- is enabled. */
+ is enabled. Do this after the copy in case we're being called to
+ initialize bss. */
#ifdef __OPTIMIZE__
if (inside_main && n < 2)
abort ();
#endif
- while (n-- != 0)
- n[(char *) dst] = c;
-
return dst;
}
diff --git a/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c b/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
index 4f66ffc48c2..2edd0ffa748 100644
--- a/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
+++ b/gcc/testsuite/gcc.c-torture/execute/builtins/memops-asm-lib.c
@@ -51,27 +51,29 @@ my_bzero (void *d, size_t n)
void *
memcpy (void *d, const void *s, size_t n)
{
+ void *result = my_memcpy (d, s, n);
TEST_ABORT;
- return my_memcpy (d, s, n);
+ return result;
}
void
bcopy (const void *s, void *d, size_t n)
{
- TEST_ABORT;
my_bcopy (s, d, n);
+ TEST_ABORT;
}
void *
memset (void *d, int c, size_t n)
{
+ void *result = my_memset (d, c, n);
TEST_ABORT;
- return my_memset (d, c, n);
+ return result;
}
void
bzero (void *d, size_t n)
{
- TEST_ABORT;
my_bzero (d, n);
+ TEST_ABORT;
}