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]

[libgfortran,patch] Use __mingw_snprintf instead of snprintf when possible


:ADDPATCH libgfortran:

Attached patch adds a new configure check to libgfortran, to detect
the availability of __mingw_snprintf(). When detected, this function
is used instead of snprintf() by redefining snprintf() as a macro in
libgfortran.h.

The __mingw_snprintf() was created by mingw developers to circumvent
the shortcomings of Windows' vsnprintf(), which (among other issues)
doesn't handle long doubles. With this patch, we can allow gfortran
and libgfortran to use real(kind=10) on i386-pc-mingw32, and can
finally build a working compiler and library without any patch to the
front-end (previously, it required disabling the use of long doubles
in trans-types.c).

Built and tested (but not regtested, as it requires a very weird setup
on mingw) on i386-pc-mingw32, OK to commit?

FX

Attachment: mingw_snprintf.ChangeLog
Description: Binary data

Attachment: mingw_snprintf.diff
Description: Binary data


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