From a6fb11e20d44c00c276779e502a31ccad53b7bf2 Mon Sep 17 00:00:00 2001 From: Richard Sandiford Date: Fri, 9 Feb 2007 13:50:42 +0000 Subject: [PATCH] 200x-xx-xx Nathan Sidwell 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 --- gcc/testsuite/ChangeLog | 7 +++++++ .../gcc.c-torture/execute/builtins/lib/memset.c | 9 +++++---- .../gcc.c-torture/execute/builtins/memops-asm-lib.c | 10 ++++++---- 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,3 +1,10 @@ +2007-02-09 Richard Sandiford + + * 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 * gcc.dg/compat/struct-layout-1.h (v16sf): Define to v4sf on 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; }