diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c | 9 |
1 files changed, 5 insertions, 4 deletions
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; } |