diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/pr40971.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/pr40971.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/pr40971.c b/gcc/testsuite/gcc.dg/pr40971.c new file mode 100644 index 000000000..31dfd5e13 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr40971.c @@ -0,0 +1,23 @@ +/* PR target/40971 */ +/* { dg-do compile } */ +/* { dg-options "-O -fstack-protector -fno-strict-aliasing" } */ +/* { dg-require-effective-target fstack_protector } */ + +extern void bar (char *); + +void +foo (int f, long a) +{ + { + char d[32768]; + bar (d); + } + double b = f; + while (a) + { + char c[sizeof (double)]; + __builtin_memcpy (c, &b, sizeof (c)); + if (*(double *) c != 2.0) + break; + } +} |