This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH v2][PR libgfortran/78314] Fix ieee_support_halting
- From: Szabolcs Nagy <szabolcs dot nagy at arm dot com>
- To: FX <fxcoudert at gmail dot com>
- Cc: <nd at arm dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, FranC'ois-Xavier Coudert <fxcoudert at gcc dot gnu dot org>, Jerry DeLisle <jvdelisle at gcc dot gnu dot org>, GCC-Fortran-ML <fortran at gcc dot gnu dot org>
- Date: Fri, 18 Nov 2016 17:20:39 +0000
- Subject: Re: [PATCH v2][PR libgfortran/78314] Fix ieee_support_halting
- Authentication-results: sourceware.org; auth=none
- Authentication-results: spf=none (sender IP is ) smtp.mailfrom=Szabolcs dot Nagy at arm dot com;
- Nodisclaimer: True
- References: <582B3331.30402@arm.com> <92DFB085-F0FF-4B30-B6BB-B10E598B6030@gmail.com> <582B39DB.80302@arm.com> <24AAE5F7-890A-4154-8BED-478E3C994A11@gmail.com> <582C8EF6.2000809@arm.com>
- Spamdiagnosticmetadata: NSPM
- Spamdiagnosticoutput: 1:99
On 16/11/16 16:53, Szabolcs Nagy wrote:
> ieee_support_halting only checked the availability of status
> flags, not trapping support. On some targets the later can
> only be checked at runtime: feenableexcept reports if
> enabling traps failed.
>
> So check trapping support by enabling/disabling it.
>
> Updated the test that enabled trapping to check if it is
> supported.
>
> Tested on aarch64-linux-gnu and x86_64-linux-gnu.
>
> gcc/testsuite/
> 2016-11-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
>
> PR libgfortran/78314
> * gfortran.dg/ieee/ieee_6.f90: Use ieee_support_halting.
>
> libgfortran/
> 2016-11-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
>
> PR libgfortran/78314
> * config/fpu-glibc.h (support_fpu_trap): Use feenableexcept.
>
it seems this broke ieee_8.f90 which tests compile time
vs runtime value of ieee_support_halting
if fortran needs this, then support_halting should be
always false on arm and aarch64.
but i'm not familiar enough with fortran to tell if
there is some better workaround.