This is the mail archive of the fortran@gcc.gnu.org mailing list for the GNU Fortran project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, gfortran testsuite]: Do not load denormals in gfortran.fortran_torture/intrinsic_nearest.f90


On Sat, Aug 29, 2009 at 11:51:21AM +0300, Janne Blomqvist wrote:
> Steve Kargl wrote:
>
> >>if I want to add a subroutine to libgfortran which is
> >>
> >>FOO(BAR)
> >>LOGICAL, INTENT(OUT) :: BAR
> >>
> >>do I need to provide a series of c functions (in libgfortran/ 
> >>intrinsics/  ) viz:
> >>
> >
> >See the scripts in the m4/ subdirectory.  You basically need
> >to write a foo.m4 script that when processed will generated 
> >all of the possible functions for the target.  The generated
> >files are placed into the generated/ directory.
> 
> Again, this is a case where one shouldn't repeat the mistakes of the 
> past. In most cases we should have as few library functions as possible 
> and the frontend doing any type casting before calling the library. E.g. 
> for LOGICAL arguments, the library should just contain a single function 
> that takes a logical of default kind (GFC_LOGICAL_4), and the frontend 
> being responsible for creating a logical(kind=4) temporary in case the 
> user calls the intrinsic with a logical of some other kind. Of course, 
> for floating point arguments, we still need multiple library functions.
> 
> Again, see http://gcc.gnu.org/wiki/LibgfortranAbiCleanup
> 

Thanks for the correction.  I had forgotten about the wiki page.

-- 
Steve


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]