This is the mail archive of the
fortran@gcc.gnu.org
mailing list for the GNU Fortran project.
Re: [Patch, Fortran] Print floating-point exception status after STOP/ERROR STOP
- From: Gerald Pfeifer <gerald at pfeifer dot com>
- To: Tobias Burnus <burnus at net-b dot de>, Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org, fortran at gcc dot gnu dot org, David Edelsohn <dje dot gcc at gmail dot com>, Uros Bizjak <ubizjak at gmail dot com>
- Date: Sat, 22 Jun 2013 21:09:32 +0200 (CEST)
- Subject: Re: [Patch, Fortran] Print floating-point exception status after STOP/ERROR STOP
- References: <51B8721A dot 6000000 at net-b dot de> <2737126 dot 5b1v7aemIl at polaris>
On Fri, 21 Jun 2013, Eric Botcazou wrote:
> The patch silently changes libgfortran/config/fpu-sysv.h as well,
> breaking Solaris in the process:
>
> In file included from /nile.build/botcazou/gcc-
> head/src/libgfortran/runtime/fpu.c:29:0:
> ./fpu-target.h: In function 'get_fpu_except_flags':
> ./fpu-target.h:88:3: error: unknown type name 'fp_except_t'
> fp_except_t set_excepts;
> ^
> make[2]: *** [fpu.lo] Error 1
> make[2]: Leaving directory `/nfs/nile/nile.build/botcazou/gcc-head/sparc-sun-
> solaris2.10/sparc-sun-solaris2.10/libgfortran'
:
> Fixed thusly, applied as obvious.
>
>
> 2013-06-21 Eric Botcazou <ebotcazou@adacore.com>
>
> * config/fpu-sysv.h (get_fpu_except_flags): Fix typo.
Except that now FreeBSD 10.x is broken. :-(
In file included from /scratch2/tmp/gerald/gcc-HEAD/libgfortran/runtime/fpu.c:29:0:
./fpu-target.h: In function 'get_fpu_except_flags':
./fpu-target.h:88:3: error: unknown type name 'fp_except'
fp_except set_excepts;
^
gmake[3]: *** [fpu.lo] Error 1
Excerpt from the man page on such a system:
fp_except_t
fpgetmask(void);
fp_except_t
fpsetmask(fp_except_t mask);
fp_except_t
fpgetsticky(void);
fp_except_t
fpresetsticky(fp_except_t sticky);
My autoconf foo does not seem to be strong enough for libgfortran,
but I assume checking for both types and then using #ifdef HAVE_FP_EXCEPT_T
...#elif HAVE_FP_EXCEPT...#endif ought to work?
Gerald