diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 1c153c324db..4d65bf42b59 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-02-09 Richard Sandiford + + * lib/target-supports.exp (check_effective_target_lax_strtofp) + (check_effective_target_dummy_wcsftime): New functions. + 2007-02-09 Richard Sandiford * gcc.c-torture/execute/20030125-1.x: Return 1 for uClibc targets. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 7027cb5a95f..d1daf0fecf0 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -2045,6 +2045,24 @@ proc check_effective_target_uclibc {} { }] } +# Return 1 if +# (a) an error of a few ULP is expected in string to floating-point +# conversion functions; and +# (b) overflow is not always detected correctly by those functions. + +proc check_effective_target_lax_strtofp {} { + # By default, assume that all uClibc targets suffer from this. + return [check_effective_target_uclibc] +} + +# Return 1 if this is a target for which wcsftime is a dummy +# function that always returns 0. + +proc check_effective_target_dummy_wcsftime {} { + # By default, assume that all uClibc targets suffer from this. + return [check_effective_target_uclibc] +} + # Return 1 if the target matches the effective target 'arg', 0 otherwise. # This can be used with any check_* proc that takes no argument and # returns only 1 or 0. It could be used with check_* procs that take diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc index 98e13612222..e83f531436d 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/char/2.cc @@ -20,6 +20,8 @@ // 22.2.2.1.1 num_get members +// { dg-do run { xfail lax_strtofp } } + #include #include #include diff --git a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc index 782275d1c82..300556f7587 100644 --- a/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc +++ b/libstdc++-v3/testsuite/22_locale/num_get/get/wchar_t/2.cc @@ -20,6 +20,8 @@ // 22.2.2.1.1 num_get members +// { dg-do run { xfail lax_strtofp } } + #include #include #include diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc index 9dd77260a61..e211eeccb05 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/1.cc @@ -20,6 +20,8 @@ // 22.2.5.3.1 time_put members +// { dg-do run { xfail dummy_wcsftime } } + #include #include #include diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc index f1c91b171e7..7e3da7a10a1 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/10.cc @@ -20,6 +20,8 @@ // 22.2.5.3.1 time_put members +// { dg-do run { xfail dummy_wcsftime } } + #include #include #include diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc index 4d30717cc86..aaf3e391e8d 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/5.cc @@ -20,6 +20,8 @@ // 22.2.5.3.1 time_put members +// { dg-do run { xfail dummy_wcsftime } } + #include #include #include diff --git a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc index 3a3e01c633b..dd0803f31a6 100644 --- a/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc +++ b/libstdc++-v3/testsuite/22_locale/time_put/put/wchar_t/9.cc @@ -20,6 +20,8 @@ // 22.2.5.3.1 time_put members +// { dg-do run { xfail dummy_wcsftime } } + #include #include #include diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc index fbbfbfd4ef0..5455008c428 100644 --- a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc +++ b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c++.cc @@ -27,7 +27,8 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. -// { dg-do compile } +// { dg-do compile { xfail uclibc } } +// { dg-excess-errors "" { target uclibc } } #include diff --git a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc index 5af904b1190..a9cd0584a33 100644 --- a/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc +++ b/libstdc++-v3/testsuite/26_numerics/cmath/c99_classification_macros_c.cc @@ -27,8 +27,8 @@ // invalidate any other reasons why the executable file might be covered by // the GNU General Public License. -// { dg-do compile { xfail *-*-linux* *-*-darwin* } } -// { dg-excess-errors "" { target *-*-linux* *-*-darwin* } } +// { dg-do compile { xfail { { *-*-linux* *-*-darwin* } || uclibc } } } +// { dg-excess-errors "" { target { { *-*-linux* *-*-darwin* } || uclibc } } } #include diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc index 5da83724b6c..3a1391c71f0 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc @@ -20,6 +20,8 @@ // 27.6.1.2.2 arithmetic extractors +// { dg-do run { xfail lax_strtofp } } + #include #include #include diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc index 21e2940417f..e5ef640b292 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc @@ -23,7 +23,7 @@ // XXX This test fails on sparc-solaris2 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail sparc*-*-solaris2* } } +// { dg-do run { xfail { { sparc*-*-solaris2* } || lax_strtofp } } } #include #include diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc index 26021c2379f..dd0439edd2e 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc @@ -18,6 +18,8 @@ // 27.6.1.2.2 arithmetic extractors +// { dg-do run { xfail lax_strtofp } } + #include #include #include diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc index 6ffae088125..2b8764c16a4 100644 --- a/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc +++ b/libstdc++-v3/testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc @@ -21,7 +21,7 @@ // XXX This test fails on sparc-solaris2 because of a bug in libc // XXX sscanf for very long input. See: // XXX http://gcc.gnu.org/ml/gcc/2002-12/msg01422.html -// { dg-do run { xfail sparc*-*-solaris2* } } +// { dg-do run { xfail { { sparc*-*-solaris2* } || lax_strtofp } } } #include #include diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc index dac5afd4b03..a4939b87114 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/char/6.cc @@ -19,6 +19,8 @@ // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA. +// { dg-do run { xfail lax_strtofp } } + #include // for abs #include // for DBL_EPSILON #include diff --git a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc index b25b3f0288d..c7b29ca3644 100644 --- a/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc +++ b/libstdc++-v3/testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc @@ -16,6 +16,8 @@ // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, // USA. +// { dg-do run { xfail lax_strtofp } } + #include // for abs #include // for DBL_EPSILON #include diff --git a/libstdc++-v3/testsuite/ChangeLog b/libstdc++-v3/testsuite/ChangeLog new file mode 100644 index 00000000000..44966befa35 --- /dev/null +++ b/libstdc++-v3/testsuite/ChangeLog @@ -0,0 +1,18 @@ +2007-02-09 Richard Sandiford + + * 22_locale/time_put/put/wchar_t/1.cc: XFAIL if dummy_wcsftime. + * 22_locale/time_put/put/wchar_t/5.cc: Likewise. + * 22_locale/time_put/put/wchar_t/9.cc: Likewise. + * 22_locale/time_put/put/wchar_t/10.cc: Likewise. + * 22_locale/num_get/get/wchar_t/2.cc: XFAIL if lax_strtofp. + * 22_locale/num_get/get/char/2.cc: Likewise. + * 27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc: Likewise. + * 27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: Likewise. + * 27_io/basic_istream/extractors_arithmetic/char/12.cc: Likewise. + * 27_io/basic_istream/extractors_arithmetic/char/09.cc: Likewise. + * 27_io/basic_ostream/inserters_arithmetic/wchar_t/6.cc: Likewise. + * 27_io/basic_ostream/inserters_arithmetic/char/6.cc: Likewise. + * 26_numerics/cmath/c99_classification_macros_c++.cc: XFAIL + for uClibc. + * 26_numerics/cmath/c99_classification_macros_c.cc: Likewise. +