[PR 87339, testsuite] Fix failure of gcc.dg/warn-abs-1.c on some targets

Christophe Lyon christophe.lyon@linaro.org
Thu Sep 27 18:57:00 GMT 2018


On Wed, 26 Sep 2018 at 17:26, Martin Jambor <mjambor@suse.cz> wrote:
>
> Hi,
>
> On Wed, Sep 26 2018, Christophe Lyon wrote:
> > On Tue, 25 Sep 2018 at 17:50, Martin Jambor <mjambor@suse.cz> wrote:
> >>
> >> Hi,
> >>
> >> On Mon, Sep 24 2018, Christophe Lyon wrote:
> >> > On Mon, 24 Sep 2018 at 20:46, Martin Jambor <mjambor@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  <mjambor@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?
> >>
> >> I did notice it but yes, I do want to remove it.  I am therefore going
> >> to commit the following after re-testing on x86_64-linux and
> >> aarch64-linux.
> >>
> >> Thank you,
> >>
> >
> > Hi, thanks for this fix.
> > Now the test runs on ARM, but fails because of two missing warnings:
> >     gcc.dg/warn-abs-1.c  (test for warnings, line 46)
> >     gcc.dg/warn-abs-1.c  (test for warnings, line 60)
> > which correspond to:
> > *pld = fabs (*pld);  /* { dg-warning "may cause truncation of value" } */
> > *pcld = cabs (*pcld);  /* { dg-warning "may cause truncation of value" } */
> >
>
> I see, I guess the easiest is to skip the test on targets that do not
> really have long double, although if someone thinks that is too
> restrictive, I can also split the test again and move long double bits
> to a separate test.
>
> Can you please test whether the following helps?
>
Sorry for the delay, yes it is better in the sense that the tests are
now skipped.

I haven't tried Joseph's suggestion yet.

> Thanks and sorry for the disruptions,
>
> Martin
>
>
>
> diff --git a/gcc/testsuite/gcc.dg/warn-abs-1.c b/gcc/testsuite/gcc.dg/warn-abs-1.c
> index 1c487270042..88389ec6be8 100644
> --- a/gcc/testsuite/gcc.dg/warn-abs-1.c
> +++ b/gcc/testsuite/gcc.dg/warn-abs-1.c
> @@ -1,4 +1,5 @@
>  /* { dg-do compile } */
> +/* { dg-require-effective-target large_long_double } */
>  /* { dg-options "-Wabsolute-value" } */
>
>  #include <stdlib.h>
>
>
>



More information about the Gcc-patches mailing list