Commit 18efbe51 by John David Anglin Committed by John David Anglin

re PR libstdc++/31836 (FAIL: 27_io/basic_istream/extractors_arithmetic/char/12.cc execution test)

	PR libstdc++/31836
	* config/locale/generic/c_locale.cc (__convert_to_v): Don't use
	strtold if _GLIBCXX_HAVE_BROKEN_STRTOLD is defined.
	* config/os/hpux/os_defines.h (_GLIBCXX_HAVE_BROKEN_STRTOLD): Define
	if __hppa__ is defined.

From-SVN: r126914
parent edb3b622
2007-07-25 John Davind Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR libstdc++/31836
* config/locale/generic/c_locale.cc (__convert_to_v): Don't use
strtold if _GLIBCXX_HAVE_BROKEN_STRTOLD is defined.
* config/os/hpux/os_defines.h (_GLIBCXX_HAVE_BROKEN_STRTOLD): Define
if __hppa__ is defined.
2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> 2007-07-16 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
PR bootstrap/3456 PR bootstrap/3456
......
...@@ -149,7 +149,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ...@@ -149,7 +149,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
errno = 0; errno = 0;
#endif #endif
#if defined(_GLIBCXX_HAVE_STRTOLD) #if defined(_GLIBCXX_HAVE_STRTOLD) && !defined(_GLIBCXX_HAVE_BROKEN_STRTOLD)
char* __sanity; char* __sanity;
long double __ld = strtold(__s, &__sanity); long double __ld = strtold(__s, &__sanity);
......
...@@ -97,4 +97,12 @@ typedef long int __padding_type; ...@@ -97,4 +97,12 @@ typedef long int __padding_type;
are weak; gthread relies on such unsatisfied references being resolved are weak; gthread relies on such unsatisfied references being resolved
to null pointers when weak symbol support is on. */ to null pointers when weak symbol support is on. */
#define _GLIBCXX_GTHREAD_USE_WEAK 0 #define _GLIBCXX_GTHREAD_USE_WEAK 0
// The strtold function is obsolete and not C99 conformant on PA HP-UX.
// It returns plus or minus _LDBL_MAX instead of plus or minus HUGE_VALL
// if the correct value would cause overflow. It doesn't handle "inf",
// "infinity" and "nan". It is not thread safe.
#if defined (__hppa__)
#define _GLIBCXX_HAVE_BROKEN_STRTOLD 1
#endif
#endif #endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment