This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [fortran, patch] IEEE intrinsic modules (ping)
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- Cc: FX <fxcoudert at gmail dot com>, Tobias Burnus <burnus at net-b dot de>, "gcc-patches\ at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Fortran List <fortran at gcc dot gnu dot org>
- Date: Sat, 05 Jul 2014 22:42:37 +0200
- Subject: Re: [fortran, patch] IEEE intrinsic modules (ping)
- Authentication-results: sourceware.org; auth=none
- References: <20140623192339 dot GA25679 at troutmask dot apl dot washington dot edu> <20140623202005 dot GA31501 at troutmask dot apl dot washington dot edu> <6CA4B0CC-09B5-439C-A766-B27664B2DB12 at gmail dot com> <20140624164936 dot GA38820 at troutmask dot apl dot washington dot edu> <20140624174601 dot GA39016 at troutmask dot apl dot washington dot edu> <53A9C4AF dot 6020700 at net-b dot de> <20140624191947 dot GA70297 at troutmask dot apl dot washington dot edu> <DB1AFC53-68AF-495C-9083-135F73FBD0AC at gmail dot com> <20140624202327 dot GA81301 at troutmask dot apl dot washington dot edu> <4006CA91-3464-4A9A-A228-66FA6C02673B at gmail dot com> <20140624203658 dot GA81560 at troutmask dot apl dot washington dot edu>
Steve Kargl <sgk@troutmask.apl.washington.edu> writes:
> On Tue, Jun 24, 2014 at 10:26:27PM +0200, FX wrote:
>> >> 3. Does the attached updated patch (libgfortran only, without
>> >> regenerated files) fix the problem?
>> >
>> > I'll test it when my regtesting is completed. But, a scan of
>> > the configure.host re-arrangement suggests that it should work.
>>
>> OK.
>>
>> If you have some spare cycles, could you then also check it by modifying configure.host so that it uses the updated config/fpu-sysv.h in my patch? I would like to make sure I don?t break anything, but I don?t have access to a Solaris system (and my earlier calls for someone to test it for me were unanswered, so I don?t have much hope there).
>>
>
> Yes, I'll check the configure.host and fpu-sysv.h changes.
I'm currently moving to a new flat, so not much time for GCC work.
Unfortunately, while the patch works fine on Solaris/x86, it broke
Solaris/SPARC bootstrap for trivial reasons: contrary to the ChangeLog,
configure and config.h.in weren't regenerated, thus FPSETSTICKY
wasn't defined.
The following patch corrects this, at the same time fixing this warning:
/fpu-target.h:451:3: warning: implicit declaration of function 'assert' [-Wimplicit-function-declaration]
assert (sizeof(fpu_state_t) <= GFC_FPE_STATE_BUFFER_SIZE);
^
It returns sparc-sun-solaris2.1[01] to bootstrap, thus installed as
obvious.
There's one testsuite failure in this configuration:
FAIL: gfortran.dg/ieee/ieee_6.f90 -O0 execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -O1 execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -O2 execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer -funroll-loops execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -O3 -g execution test
FAIL: gfortran.dg/ieee/ieee_6.f90 -Os execution tes
The test aborts at l.47, but unfortunately I cannot print mode in gdb 7.7.
Rainer
2014-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* configure, config.h.in: Regenerate.
* config/fpu-sysv.h: Include <assert.h>.
diff --git a/libgfortran/config/fpu-sysv.h b/libgfortran/config/fpu-sysv.h
--- a/libgfortran/config/fpu-sysv.h
+++ b/libgfortran/config/fpu-sysv.h
@@ -25,6 +25,8 @@ see the files COPYING3 and COPYING.RUNTI
/* FPU-related code for SysV platforms with fpsetmask(). */
+#include <assert.h>
+
/* BSD and Solaris systems have slightly different types and functions
naming. We deal with these here, to simplify the code below. */
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University