From 5d13614ab0bb9db850d281023385054e01797e6a Mon Sep 17 00:00:00 2001 From: Paolo Carlini Date: Thu, 3 Jul 2008 19:07:35 +0000 Subject: [PATCH] stof.cc: Improve check on long double limits. 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. From-SVN: r137428 --- libstdc++-v3/ChangeLog | 11 +++++++++++ .../basic_string/numeric_conversions/char/stod.cc | 3 ++- .../basic_string/numeric_conversions/char/stof.cc | 3 ++- .../basic_string/numeric_conversions/wchar_t/stod.cc | 3 ++- .../basic_string/numeric_conversions/wchar_t/stof.cc | 3 ++- 5 files changed, 19 insertions(+), 4 deletions(-) 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;