Some Fortran intrinsics, like NEAREST or EXPONENT, are translated into calls to libgfortran functions, which in turn call C99 functions. We could easily generate C99 calls directly from the front-end, which would enable further optimization by the middle-end.
The list of intrinsics I think of for which we can do that is: EXPONENT, FRACTION, NEAREST, RRSPACING, SET_EXPONENT and SPACING. -- Summary: Fortran front-end should translate intrinsics by calling C99 function instead of libgfortran functions Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: missed-optimization Severity: normal Priority: P3 Component: fortran AssignedTo: fxcoudert at gcc dot gnu dot org ReportedBy: fxcoudert at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33387