On Mon, 24 Sep 2018 at 20:46, Martin Jambor <mjam...@suse.cz> wrote: > > Hi, > > the test added to check whether _Float128 types are handled correctly by > the new warning about suspicious calls to abs-like functions fails on > many platforms. The patch below circumvents the problem by running on > i686/x86_64 only. I understand that the proper solution would be to > come up with a deja-gnu predicate and skip-if it was not provided but I > think that for one simple test that is a bit of an overkill and testing > it on x86_64 will provide all the test coverage we need. > > Tested on x86_64-linux and aarch64-linux, testing on i686-linux > pending. OK for trunk? > > Thanks, > > Martin > > > > 2018-09-24 Martin Jambor <mjam...@suse.cz> > > PR testsuite/87339 > * gcc.dg/warn-abs-1.c: Do not test _Float128. Remove dg-skip-if. > * gcc.target/i386/warn-abs-3.c: New test. > --- > gcc/testsuite/gcc.dg/warn-abs-1.c | 4 +--- > gcc/testsuite/gcc.target/i386/warn-abs-3.c | 12 ++++++++++++ > 2 files changed, 13 insertions(+), 3 deletions(-) > create mode 100644 gcc/testsuite/gcc.target/i386/warn-abs-3.c > > diff --git a/gcc/testsuite/gcc.dg/warn-abs-1.c > b/gcc/testsuite/gcc.dg/warn-abs-1.c > index 129a3af8ac6..b494b14f4a9 100644 > --- a/gcc/testsuite/gcc.dg/warn-abs-1.c > +++ b/gcc/testsuite/gcc.dg/warn-abs-1.c > @@ -1,5 +1,4 @@ > /* { dg-do compile { target float128 } } */
Don't you want to remove the {target float128} part? > -/* { dg-skip-if "incomplete long double support" { { newlib } && > large_long_double } } */ > /* { dg-options "-Wabsolute-value" } */ > > #include <stdlib.h> > @@ -41,12 +40,11 @@ tst_notfloat (int *pi, long *pl, complex double *pc) > } > > void > -tst_float_size (double *pd, long double *pld, _Float128 *pf128) > +tst_float_size (double *pd, long double *pld) > { > *pd = fabsf (*pd); /* { dg-warning "may cause truncation of value" } */ > *pld = fabs (*pld); /* { dg-warning "may cause truncation of value" } */ > *pld = fabs ((double) *pld); > - *pf128 = fabsl (*pf128); /* { dg-warning "may cause truncation of value" } > */ > } > > void tst_notcomplex (int *pi, long *pl, long double *pld) > diff --git a/gcc/testsuite/gcc.target/i386/warn-abs-3.c > b/gcc/testsuite/gcc.target/i386/warn-abs-3.c > new file mode 100644 > index 00000000000..21feaff7d8a > --- /dev/null > +++ b/gcc/testsuite/gcc.target/i386/warn-abs-3.c > @@ -0,0 +1,12 @@ > +/* { dg-do compile { target float128 } } */ > +/* { dg-options "-Wabsolute-value" } */ > + > +#include <stdlib.h> > +#include <inttypes.h> > +#include <math.h> > + > +void > +tst_float128_size (_Float128 *pf128) > +{ > + *pf128 = fabsl (*pf128); /* { dg-warning "may cause truncation of value" } > */ > +} > -- > 2.18.0 >