diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c b/gcc-4.9/gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c new file mode 100644 index 000000000..5c51248b5 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.target/i386/memcpy-strategy-4.c @@ -0,0 +1,21 @@ +/* PR target/64200 */ +/* { dg-do compile } */ +/* { dg-options "-O2 -march=atom -mmemcpy-strategy=libcall:-1:align -minline-stringops-dynamically" } */ + +#include <stdarg.h> + +extern void bar(char *x); + +void foo (int size, ...) +{ + struct + { + char x[size]; + } d; + + va_list ap; + va_start(ap, size); + d = va_arg(ap, typeof (d)); + va_end(ap); + bar(d.x); +} |