diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 6459c7581569..a937a52aa92c 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,14 @@ +2008-07-03 Paolo Carlini + + * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: + Improve check on long double limits. + * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stof.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ + stod.cc: Likewise. + 2008-07-03 Paolo Carlini * libsupc++/Makefile.am: Add initializer_list to the headers. diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc index f26a865684d2..765c5a210ec5 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc @@ -107,7 +107,8 @@ test01() } VERIFY( test ); - if (sizeof(double) < sizeof(long double)) + if ((numeric_limits::max() / 10000.0L) + > numeric_limits::max()) { test = false; d1 = -1.0; diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc index 515769e18f76..5645c0af9b8f 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc @@ -107,7 +107,8 @@ test01() } VERIFY( test ); - if (sizeof(float) < sizeof(long double)) + if ((numeric_limits::max() / 10000.0L) + > numeric_limits::max()) { test = false; f1 = -1.0f; diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc index c1ebbb228d9b..e494f4282baf 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc @@ -107,7 +107,8 @@ test01() } VERIFY( test ); - if (sizeof(double) < sizeof(long double)) + if ((numeric_limits::max() / 10000.0L) + > numeric_limits::max()) { test = false; d1 = -1.0; diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc index 6f443c8bf973..a6319f8e31e5 100644 --- a/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc +++ b/libstdc++-v3/testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stof.cc @@ -107,7 +107,8 @@ test01() } VERIFY( test ); - if (sizeof(float) < sizeof(long double)) + if ((numeric_limits::max() / 10000.0L) + > numeric_limits::max()) { test = false; f1 = -1.0f;