From be8459676d814bfd26a1facb7ce74c22d2a52c54 Mon Sep 17 00:00:00 2001 From: rsandifo 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121746 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c | 9 +++++---- gcc/testsuite/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,5 +1,12 @@ 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 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; } -- 2.11.0