PATCH: 27_io/istream_extractor_arith.cc (take 2 or 3)

Loren James Rittle rittle@latour.rsch.comm.mot.com
Wed Feb 6 15:15:00 GMT 2002


Since auto-regression is an important machine to not break.  I have
unrolled this part of the patch ASAP:

	* config/locale/c_locale_generic.cc: Do not trust
	_GLIBCPP_HAVE_STRTOF or _GLIBCPP_HAVE_STRTOLD as
	set by configure.

(Someone smarter than I in the area will have to figure out how we can
 improve configure's setting of _GLIBCPP_HAVE_STRTOF and
 _GLIBCPP_HAVE_STRTOLD before this thunk can be re-enabled.)

Index: config/locale/c_locale_generic.cc
===================================================================
RCS file: /cvs/gcc/gcc/libstdc++-v3/config/locale/c_locale_generic.cc,v
retrieving revision 1.8
diff -c -r1.8 c_locale_generic.cc
*** c_locale_generic.cc	2002/02/06 17:31:43	1.8
--- c_locale_generic.cc	2002/02/06 23:10:22
***************
*** 123,129 ****
  	  const char* __old = setlocale(LC_ALL, "C");
  	  char* __sanity;
  	  errno = 0;
! #if defined(_GLIBCPP_USE_C99) || defined(_GLIBCPP_HAVE_STRTOF)
  	  float __f = strtof(__s, &__sanity);
  #else
  	  double __d = strtod(__s, &__sanity);
--- 123,129 ----
  	  const char* __old = setlocale(LC_ALL, "C");
  	  char* __sanity;
  	  errno = 0;
! #if defined(_GLIBCPP_USE_C99)
  	  float __f = strtof(__s, &__sanity);
  #else
  	  double __d = strtod(__s, &__sanity);
***************
*** 179,185 ****
  	{
  	  // Assumes __s formatted for "C" locale.
  	  const char* __old = setlocale(LC_ALL, "C");
! #if defined(_GLIBCPP_USE_C99) || defined(_GLIBCPP_HAVE_STRTOLD)
  	  char* __sanity;
  	  errno = 0;
  	  long double __ld = strtold(__s, &__sanity);
--- 179,185 ----
  	{
  	  // Assumes __s formatted for "C" locale.
  	  const char* __old = setlocale(LC_ALL, "C");
! #if defined(_GLIBCPP_USE_C99)
  	  char* __sanity;
  	  errno = 0;
  	  long double __ld = strtold(__s, &__sanity);



More information about the Libstdc++ mailing list