This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [gfortran,patch] FPE options, once again
- From: Paul Brook <paul at codesourcery dot com>
- To: fortran at gcc dot gnu dot org
- Cc: FX Coudert <fxcoudert at gmail dot com>,patch <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 8 Sep 2005 17:50:11 +0100
- Subject: Re: [gfortran,patch] FPE options, once again
- Organization: CodeSourcery
- References: <431768A9.9050409@gmail.com>
On Thursday 01 September 2005 21:46, FX Coudert wrote:
> This is the new version of the FPE patch for gfortran, using
> glibc-specific code on systems where it is available, and runtime
> detection of SSE units.
>
> I think the code itself is now in pretty good shape, although i'm a bit
> worried of having heard no word from other gfortran developpers about
> things such as the option name and the need/convenience of having
> environment variables.
I thought the last time this was discussed (for a different option), the
conclusion was that environment variables were more trouble that they were
worth. Applications are liable to mysteriously break because a user didn't
have the exact same combination of magic environment variables set.
My preference is for a commandline switch (like you implemented), and maybe a
new intrinsic procedure so an application can control the setting at runtime.
> Regtested on i686-linux. Testing in progress on i686-freebsd,
> x86_64-linux and i386-openbsd (no glibc, no SSE).
>
> OK for mainline? Do we want this on 4.0?
> + ?int invalid = exceptions & 0x01;
> + ?int denormal = exceptions & 0x02;
> + ?int zero = exceptions & 0x04;
> + ?int overflow = exceptions & 0x08;
> + ?int underflow = exceptions & 0x10;
> + ?int precision = exceptions & 0x20;
>...
> + ?gfc_option.fpe_invalid = 0;
> + ?gfc_option.fpe_denormal = 0;
> + ?gfc_option.fpe_zero = 0;
> + ?gfc_option.fpe_overflow = 0;
> + ?gfc_option.fpe_underflow = 0;
> + ?gfc_option.fpe_precision = 0;
>[etc]
I agree with RTHs comment that there's no point having all there as separate
variables. We convert to/from a bitmap anyway, so we may as well just use
that bitmap all the time. Also make the bitmasks into #defines so we don't
have hardcoded values in multiple places.
Paul