summaryrefslogtreecommitdiffstats
path: root/gcc/testsuite/gcc.c-torture/execute/builtins/lib/memset.c
diff options
context:
space:
mode:
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.c9
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;
}
OpenPOWER on IntegriCloud