Index: gcc/gcc/testsuite/g++.dg/init/copy7.C |
diff --git a/gcc/gcc/testsuite/g++.dg/init/copy7.C b/gcc/gcc/testsuite/g++.dg/init/copy7.C |
index f4364f329e53ffef24096994978046d09de322b8..20e1e47dbb9476e561438d71cbf6a1094bfb5fb7 100644 |
--- a/gcc/gcc/testsuite/g++.dg/init/copy7.C |
+++ b/gcc/gcc/testsuite/g++.dg/init/copy7.C |
@@ -6,7 +6,14 @@ extern "C" void abort(); |
extern "C" void * |
memcpy(void *dest, void *src, __SIZE_TYPE__ n) |
{ |
- abort(); |
+ if (dest == src) |
+ abort(); |
+ else |
+ { |
+ __SIZE_TYPE__ i; |
+ for (i = 0; i < n; i++) |
+ ((char *)dest)[i] = ((const char*)src)[i]; |
+ } |
} |
struct A |