diff options
Diffstat (limited to 'gcc-4.8/gcc/testsuite/gcc.dg/pr58668.c')
-rw-r--r-- | gcc-4.8/gcc/testsuite/gcc.dg/pr58668.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/gcc-4.8/gcc/testsuite/gcc.dg/pr58668.c b/gcc-4.8/gcc/testsuite/gcc.dg/pr58668.c new file mode 100644 index 000000000..3e09508dc --- /dev/null +++ b/gcc-4.8/gcc/testsuite/gcc.dg/pr58668.c @@ -0,0 +1,25 @@ +/* PR rtl-optimization/58668 */ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ +/* { dg-additional-options "-mthumb" { target { { arm*-*-* } && arm_thumb2_ok } } } */ + +void *fn1 (void *); +void *fn2 (void *, const char *); +void fn3 (void *); +void fn4 (void *, int); + +void * +test (void *x) +{ + void *a, *b; + if (!(a = fn1 (x))) + return (void *) 0; + if (!(b = fn2 (a, "w"))) + { + fn3 (a); + return (void *) 0; + } + fn3 (a); + fn4 (b, 1); + return b; +} |