[PATCH] fortran/15441,29312 -- Fix subnormal numbers, spacing, rrspacing.

Steve Kargl sgk@troutmask.apl.washington.edu
Sat Oct 7 16:06:00 GMT 2006


On Sat, Oct 07, 2006 at 03:18:01PM +0200, FX Coudert wrote:
> :REVIEWMAIL:
> 
> >	* iresolve.c (gfc_resolve_rrspacing): Give rrspacing library
> >	routine hidden precision argument.
> 
> For both this one and the following function, you should use  
> gfc_get_actual_arglist.

OK.  I'll check this out, and make the change.

> 
> >	(gfc_resolve_spacing): Give rrspacing library routine hidden
> >	precision, emin - 1, and tiny(x) arguments.
> 
> Hard to read when emin - 1 is called "emin", and tiny(x) is called  
> "wee". These variables should match the names they have in the  
> library (and, of course: is emin really emin, or is it emin - 1?)
> 

Yes, it is emin - 1.  Fortran 95 says spacing=b**(e-p), which
can have problems with subnormal number.  gfortran's inline 
version happens to get right.  Fortran 2003 changes this
to spacing b**(max(e-p,emin-1)).  I'll change it to emin1.

> The patch looks otherwise OK. Please go ahead and commit, with the  
> above comments.

It'll have to wait for the allocatable component patch, which I
testing and reading at the moment.

-- 
Steve



More information about the Gcc-patches mailing list