]> git.ipfire.org Git - thirdparty/gcc.git/commit - libgfortran/config.h.in
PR 47007 and 61847 Locale failures in libgfortran.
authorjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Nov 2014 00:17:16 +0000 (00:17 +0000)
committerjb <jb@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 10 Nov 2014 00:17:16 +0000 (00:17 +0000)
commitb8a8c7bc682b7ababe4a98dbd64b618c1e955f65
tree632705719333408c765e7eddf68dc9b1418b8854
parent69f332e9133bca0a302c1e1898c3c612258bd0ca
PR 47007 and 61847 Locale failures in libgfortran.

2014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/47007
PR libfortran/61847
* config.h.in: Regenerated.
* configure: Regenerated.
* configure.ac (AC_CHECK_HEADERS_ONCE): Check for xlocale.h.
(AC_CHECK_FUNCS_ONCE): Check for newlocale, freelocale, uselocale,
strerror_l.
* io/io.h (locale.h): Include.
(xlocale.h): Include if present.
(c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(st_parameter_dt): Add old_locale member.
* io/transfer.c (data_transfer_init): Set locale to "C" if doing
formatted transfer.
(finalize_transfer): Reset locale to previous.
* io/unit.c (c_locale): New variable.
(old_locale): New variable.
(old_locale_ctr): New variable.
(old_locale_lock): New variable.
(init_units): Init c_locale, init old_locale_lock.
(close_units): Free c_locale.
* runtime/error.c (locale.h): Include.
(xlocale.h): Include if present.
(gf_strerror): Use strerror_l if available. Reset locale to
LC_GLOBAL_LOCALE for strerror_r branch.

2014-11-10  Janne Blomqvist  <jb@gcc.gnu.org>

PR libfortran/47007
PR libfortran/61847
* gfortran.texi: Add note about locale issues to thread-safety
section.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@217273 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/fortran/ChangeLog
gcc/fortran/gfortran.texi
libgfortran/ChangeLog
libgfortran/config.h.in
libgfortran/configure
libgfortran/configure.ac
libgfortran/io/io.h
libgfortran/io/transfer.c
libgfortran/io/unit.c
libgfortran/runtime/error.c