aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2009-09-18 00:54:25 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2009-09-18 00:54:25 +0100
commitf16fd827c3f1ea804f8cddb85ac70268de5b81f0 (patch)
tree134d52932e3ceae441b480e9374a62bcc61cc9c7
parente10822c2dcdd739febee75d530cac3b3ff0d29c3 (diff)
downloadgcc-f16fd827c3f1ea804f8cddb85ac70268de5b81f0.zip
gcc-f16fd827c3f1ea804f8cddb85ac70268de5b81f0.tar.gz
gcc-f16fd827c3f1ea804f8cddb85ac70268de5b81f0.tar.bz2
libstdc++.exp (check_v3_target_binary_io): New.
* testsuite/lib/libstdc++.exp (check_v3_target_binary_io): New. * testsuite/lib/dg-options.exp (dg-require-binary-io): New. * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc, testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc, testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc, testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc, testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc, testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc, testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc, testsuite/27_io/basic_istream/readsome/char/6746-2.cc, testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc, testsuite/27_io/objects/char/10.cc: Use dg-require-binary-io. From-SVN: r151825
-rw-r--r--libstdc++-v3/ChangeLog15
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc1
-rw-r--r--libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc2
-rw-r--r--libstdc++-v3/testsuite/27_io/objects/char/10.cc1
-rw-r--r--libstdc++-v3/testsuite/lib/dg-options.exp9
-rw-r--r--libstdc++-v3/testsuite/lib/libstdc++.exp58
13 files changed, 94 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index e5196bd..32a4815 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,20 @@
2009-09-17 Joseph Myers <joseph@codesourcery.com>
+ * testsuite/lib/libstdc++.exp (check_v3_target_binary_io): New.
+ * testsuite/lib/dg-options.exp (dg-require-binary-io): New.
+ * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc,
+ testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc,
+ testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc,
+ testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc,
+ testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc,
+ testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc,
+ testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc,
+ testsuite/27_io/basic_istream/readsome/char/6746-2.cc,
+ testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc,
+ testsuite/27_io/objects/char/10.cc: Use dg-require-binary-io.
+
+2009-09-17 Joseph Myers <joseph@codesourcery.com>
+
* include/ext/vstring.h (to_wstring(long long),
to_wstring(unsigned long long), to_wstring(long double)): Disable
for _GLIBCXX_HAVE_BROKEN_VSWPRINTF.
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
index e08a48a..bb17515 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc
@@ -20,6 +20,7 @@
// 27.8.1.4 Overridden virtual functions
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <fstream>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
index 5d30517..67a376e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc
@@ -20,6 +20,7 @@
// 27.8.1.4 Overridden virtual functions
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <fstream>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
index 23f438f..47c0597 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc
@@ -24,6 +24,7 @@
// 27.8.1.4 Overridden virtual functions
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <fstream>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
index 26b8bd2..ffcdc2c 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc
@@ -24,6 +24,7 @@
// 27.8.1.4 Overridden virtual functions
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <fstream>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
index 7831128..dda7c67 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc
@@ -24,6 +24,7 @@
// 27.8.1.4 Overridden virtual functions
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <fstream>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
index 2f7657f..d401f87 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc
@@ -24,6 +24,7 @@
// 27.8.1.4 Overridden virtual functions
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <fstream>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
index 8bf915d..116c404 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/underflow/wchar_t/11603.cc
@@ -17,6 +17,8 @@
// 27.8.1.4 Overridden virtual functions
+// { dg-require-binary-io "" }
+
#include <fstream>
#include <locale>
#include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
index 9a6875b..ed74751 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/char/6746-2.cc
@@ -26,6 +26,7 @@
// @diff@ %-*.tst %-*.txt
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <istream>
#include <fstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
index 6338be6..c770313 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc
@@ -19,6 +19,8 @@
// causes "in_avail" to return an incorrect value.
// { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
+// { dg-require-binary-io "" }
+
// 27.6.1.3 unformatted input functions
// @require@ %-*.tst %-*.txt
// @diff@ %-*.tst %-*.txt
diff --git a/libstdc++-v3/testsuite/27_io/objects/char/10.cc b/libstdc++-v3/testsuite/27_io/objects/char/10.cc
index cfa21c8..a744e78 100644
--- a/libstdc++-v3/testsuite/27_io/objects/char/10.cc
+++ b/libstdc++-v3/testsuite/27_io/objects/char/10.cc
@@ -18,6 +18,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-require-fileio "" }
+// { dg-require-binary-io "" }
#include <iostream>
#include <cstdio>
diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp b/libstdc++-v3/testsuite/lib/dg-options.exp
index 6e8f74b..1d9af09 100644
--- a/libstdc++-v3/testsuite/lib/dg-options.exp
+++ b/libstdc++-v3/testsuite/lib/dg-options.exp
@@ -151,3 +151,12 @@ proc dg-require-swprintf { args } {
}
return
}
+
+proc dg-require-binary-io { args } {
+ if { ![ check_v3_target_binary_io ] } {
+ upvar dg-do-what dg-do-what
+ set dg-do-what [list [lindex ${dg-do-what} 0] "N" "P"]
+ return
+ }
+ return
+}
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index dc67368..05a9b5d 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -1441,3 +1441,61 @@ proc check_v3_target_swprintf { } {
verbose "check_v3_target_swprintf: $et_swprintf" 2
return $et_swprintf
}
+
+proc check_v3_target_binary_io { } {
+ global cxxflags
+ global DEFAULT_CXXFLAGS
+ global et_binary_io
+
+ global tool
+
+ if { ![info exists et_binary_io_target_name] } {
+ set et_binary_io_target_name ""
+ }
+
+ # If the target has changed since we set the cached value, clear it.
+ set current_target [current_target_name]
+ if { $current_target != $et_binary_io_target_name } {
+ verbose "check_v3_target_binary_io: `$et_binary_io_target_name'" 2
+ set et_binary_io_target_name $current_target
+ if [info exists et_binary_io] {
+ verbose "check_v3_target_binary_io: removing cached result" 2
+ unset et_binary_io
+ }
+ }
+
+ if [info exists et_binary_io] {
+ verbose "check_v3_target_binary_io: using cached result" 2
+ } else {
+ set et_binary_io 0
+
+ # Set up and compile a C++0x test program that depends
+ # on text and binary I/O being the same.
+ set src binary_io[pid].cc
+ set exe binary_io[pid].exe
+
+ set f [open $src "w"]
+ puts $f "#include <bits/c++config.h>"
+ puts $f "int main()"
+ puts $f "#if !defined(_GLIBCXX_HAVE_DOS_BASED_FILESYSTEM)"
+ puts $f "{ return 0; }"
+ puts $f "#endif"
+ close $f
+
+ set cxxflags_saved $cxxflags
+ set cxxflags "$cxxflags $DEFAULT_CXXFLAGS -Werror"
+
+ set lines [v3_target_compile $src $exe executable ""]
+ set cxxflags $cxxflags_saved
+ file delete $src
+
+ if [string match "" $lines] {
+ # No error message, compilation succeeded.
+ set et_binary_io 1
+ } else {
+ verbose "check_v3_target_binary_io: compilation failed" 2
+ }
+ }
+ verbose "check_v3_target_binary_io: $et_binary_io" 2
+ return $et_binary_io
+}