Message ID | CAD57uCcf_5zj=_P_ASkF34ZMVBusVbN7bEz_9aP-ir3qx7Ocdg@mail.gmail.com |
---|---|
State | New |
Headers | show |
On 7 April 2015 at 21:33, Jakub Jelinek <jakub@redhat.com> wrote: > On Tue, Apr 07, 2015 at 09:28:51PM +0200, Yvan Roux wrote: >> validation is ongoing, but here is my attempt to add this testcase, >> does it look correct (it's the first time I use that kind of include >> in testsuite) > > The intent is that we have a testcase for all targets at various > optimization levels, plus one with specific options for the particular > target. > If you get at least one FAIL with this patch with Vlad's patch reverted and > no FAILs with that patch, the patch is ok for trunk with the obvious > ChangeLog entry. Ok I understand. Thanks > Thanks. > > Jakub
diff --git a/gcc/testsuite/gcc.c-torture/execute/pr65648.c b/gcc/testsuite/gcc.c-torture/execute/pr65648.c new file mode 100644 index 0000000..88a2fc9 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/pr65648.c @@ -0,0 +1,34 @@ +/* PR target/65648 */ + +int a = 0, *b = 0, c = 0; +static int d = 0; +short e = 1; +static long long f = 0; +long long *i = &f; +unsigned char j = 0; + +__attribute__((noinline, noclone)) void +foo (int x, int *y) +{ + asm volatile ("" : : "r" (x), "r" (y) : "memory"); +} + +__attribute__((noinline, noclone)) void +bar (const char *x, long long y) +{ + asm volatile ("" : : "r" (x), "r" (&y) : "memory"); + if (y != 0) + __builtin_abort (); +} + +int +main () +{ + int k = 0; + b = &k; + j = (!a) - (c <= e); + *i = j; + foo (a, &k); + bar ("", f); + return 0; +} diff --git a/gcc/testsuite/gcc.target/arm/pr65648.c b/gcc/testsuite/gcc.target/arm/pr65648.c new file mode 100644 index 0000000..215c6a9 --- /dev/null +++ b/gcc/testsuite/gcc.target/arm/pr65648.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-march=*" } { "-march=armv6-m" } } */ +/* { dg-skip-if "avoid conflicting multilib options" { *-*-* } { "-marm" } { "" } } */ +/* { dg-options "-mthumb -Os" } */ +/* { dg-add-options arm_arch_v6m } */ + +#include "../../gcc.c-torture/execute/pr65648.c" +