https://gcc.gnu.org/g:dfd07532693c7df9e15920b7607672382122b38c

commit r15-2246-gdfd07532693c7df9e15920b7607672382122b38c
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Wed Jul 17 13:27:19 2024 +0100

    libstdc++: Replace @require@ markup in some I/O tests
    
    We can replace the @require@ markup with { dg-additional-files ... }
    directives, so that the required files are explicitly named and are
    explicitly copied into place for tests that require it. This will allow
    a later change to remove the "Copy all required data files" step in the
    proc libstdc++_init in testsuite/lib/libstdc++.exp that is marked TODO.
    This commit uses dg-additional-files for a subset of the files that
    contain @require@.
    
    Also remove the @diff@ markup where appears to be copy & pasted from
    other test files, and so serves no purpose. For example, there is no
    output file created by 27_io/basic_ifstream/cons/char/1.cc so there is
    nothing for @diff@ to compare. Maybe the purpose was to check that
    reading the .tst file with an ifstream doesn't change it, but we've
    survived without doing those comparisons for many years so I think we
    can remove those cases of @diff@ markup.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/27_io/basic_filebuf/close/char/2.cc: Remove
            @require@ and @diff@ markup. Use dg-additional-files. Remove
            unused variable.
            * testsuite/27_io/basic_filebuf/close/char/3.cc: Remove
            @require@ and @diff@ markup. Use dg-additional-files.
            * testsuite/27_io/basic_filebuf/close/char/4.cc: Likewise.
            * testsuite/27_io/basic_filebuf/close/char/5.cc: Likewise.
            * testsuite/27_io/basic_filebuf/in_avail/char/1.cc: Likewise.
            * testsuite/27_io/basic_filebuf/is_open/char/1.cc: Likewise.
            * testsuite/27_io/basic_filebuf/open/char/1.cc: Likewise.
            * testsuite/27_io/basic_filebuf/open/char/2.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/snextc/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/snextc/char/1-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/snextc/char/1-out.cc: Likewise.
            * testsuite/27_io/basic_filebuf/snextc/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/snextc/char/2-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc:
            Likewise.
            * testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc:
            Likewise.
            * testsuite/27_io/basic_filebuf/sputc/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sputc/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sputc/char/2-io.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sputn/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sputn/char/1-io.cc: Likewise.
            Remove unused variable.
            * testsuite/27_io/basic_filebuf/sputn/char/2-in.cc: Remove
            @require@ and @diff@ markup. Use dg-additional-files.
            * testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc: Likewise.
            * testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc: Likewise.
            * testsuite/27_io/basic_ifstream/cons/char/1.cc: Likewise.
            * testsuite/27_io/basic_ifstream/open/char/1.cc: Likewise.
            * testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc: Likewise.
            * testsuite/27_io/basic_istream/readsome/char/6746-2.cc:
            Likewise.
            * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc:
            Likewise.
            * testsuite/27_io/basic_istream/seekg/char/sstream.cc: Likewise.
            * testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc:
            Likewise.
            * testsuite/27_io/basic_istream/tellg/char/1.cc: Likewise.
            * testsuite/27_io/basic_istream/tellg/char/sstream.cc: Likewise.
            * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
            * testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc:
            Likewise.
            * testsuite/27_io/basic_ofstream/open/char/1.cc: Likewise.
            * testsuite/lib/dg-options.exp (dg-additional-files): Append to
            v3_additional_files instead of replacing.
            * testsuite/lib/libstdc++.exp (v3_target_compile): Reset
            v3_additional_files after copying files.

Diff:
---
 libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc    |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc    |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc    |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc    |  8 ++++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc  |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc     |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc     |  5 ++---
 .../testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc        |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc       |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc        |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc       |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc        |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc       |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc        |  6 ++----
 .../testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc       |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc |  6 ++----
 .../testsuite/27_io/basic_filebuf/snextc/char/1-in.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/snextc/char/1-io.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/snextc/char/1-out.cc        |  7 +++----
 .../testsuite/27_io/basic_filebuf/snextc/char/2-in.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/snextc/char/2-io.cc         |  6 ++----
 .../testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc      |  6 ++----
 .../testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc      |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc |  7 +++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc |  7 +++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc |  6 ++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc |  7 +++----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc |  7 ++-----
 libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc |  7 +++----
 .../testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc        |  3 +--
 .../testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc        |  4 +---
 libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc    |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc    |  5 ++---
 .../testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc         | 11 +----------
 .../testsuite/27_io/basic_istream/readsome/char/6746-2.cc     |  5 ++---
 .../testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc  |  5 ++---
 .../testsuite/27_io/basic_istream/seekg/char/sstream.cc       |  5 ++---
 .../testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc    |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc    |  5 ++---
 .../testsuite/27_io/basic_istream/tellg/char/sstream.cc       |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc |  5 ++---
 .../testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc    |  5 ++---
 libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc    |  5 +++--
 libstdc++-v3/testsuite/lib/dg-options.exp                     |  2 +-
 libstdc++-v3/testsuite/lib/libstdc++.exp                      |  1 +
 57 files changed, 117 insertions(+), 208 deletions(-)

diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
index c7f655d0bb7c..fd71faed7349 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/2.cc
@@ -16,10 +16,9 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
-// 27.8.1.3 filebuf member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.3 filebuf member functions
 
 // various tests for filebuf::open() and filebuf::close() including
 // the non-portable functionality in the libstdc++-v3 IO library
@@ -39,7 +38,6 @@
 // this bug/situation. 
 
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
-const char name_02[] = "filebuf_virtuals-2.txt"; // empty file, need to create
 
 void test_02()
 {
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
index ff0b9a5fb7ea..cd7550f5677f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/3.cc
@@ -17,13 +17,12 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.3 filebuf member functions
 
 #include <fstream>
 #include <testsuite_hooks.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 // NB: This test assumes that _M_buf_size == 40, and not the usual
 // buffer_size length of BUFSIZ (8192), so that overflow/underflow can be
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
index 0e0949d79e90..931da8652471 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/4.cc
@@ -18,10 +18,9 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
-// 27.8.1.3 filebuf member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.3 filebuf member functions
 
 // Test that upon filebuf::close() 27.8.1.1,3 is enforced.
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
index 6402c77b44ac..29804fb50142 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/close/char/5.cc
@@ -17,11 +17,11 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.3 filebuf member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.3 filebuf member functions
 
-// Test that upon filebuf::close() 27.8.1.1,3 is enforced.
+// { dg-additional-files "filebuf_virtuals-1.txt" }
+
+// Test that upon filebuf::close() 27.8.1.1 p3 is enforced.
 
 #include <fstream>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
index 505293021ea0..40b15317d694 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/in_avail/char/1.cc
@@ -17,16 +17,14 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 // NB: This test assumes that _M_buf_size == 40, and not the usual
 // buffer_size length of BUFSIZ (8192), so that overflow/underflow can be
 // simulated a bit more readily.
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
index 54fb0094567d..d8e23e534f6a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/is_open/char/1.cc
@@ -15,14 +15,13 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.3 filebuf member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.3 filebuf member functions
 
 // various tests for filebuf::open() and filebuf::close() including
 // the non-portable functionality in the libstdc++-v3 IO library
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_members-1.tst filebuf_members-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
index 7a5321bd80c1..4ca94cf4879b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/1.cc
@@ -15,14 +15,13 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.3 filebuf member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.3 filebuf member functions
 
 // various tests for filebuf::open() and filebuf::close() including
 // the non-portable functionality in the libstdc++-v3 IO library
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_members-1.tst filebuf_members-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
index 5801b2ad3790..cdd06d38c35e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/open/char/2.cc
@@ -15,14 +15,13 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.3 filebuf member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.3 filebuf member functions
 
 // various tests for filebuf::open() and filebuf::close() including
 // the non-portable functionality in the libstdc++-v3 IO library
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <unistd.h>
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
index 0f419c1df6d1..b3733cc69169 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
index eceae02f5b35..439f8de29c69 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/1-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_03[] = "tmp_sbumpc_1io.tst"; // empty file, need to create
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
index 8c4230c7091f..d5b60e488b09 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
index b8a152ad82af..b265cd55db46 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sbumpc/char/2-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_03[] = "tmp_sbumpc_2io.tst"; // empty file, need to create
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
index c8584c2f18ba..47d1b8979636 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekoff.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekoff.txt";
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
index f78612cae880..7220b22c24cf 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/1-out.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekoff-1out.tst" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekoff-1out.tst";
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
index 7c3784f84dda..d69f29077731 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekoff.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekoff.txt";
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
index c4b0d4b72bce..e07b2097916a 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekoff/char/2-out.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekoff-2out.tst" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekoff-2out.tst";
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
index 88c6c7eee871..4e7d98716c1b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekpos.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekpos.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
index a6cfbfc3e6ef..7c0486ef8ca1 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/1-out.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekpos-1out.tst" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekpos-1out.tst"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
index 05eed15af24a..3f80ec920791 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekpos.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekpos.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
index c1d7bf754ce1..d0b34c23a4ce 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/seekpos/char/2-out.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "seekpos-2out.tst" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "seekpos-2out.tst"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
index 1e6dfd2bda34..27b8c5cc2e45 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 
 // Test overloaded virtual functions.
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
index 8f1f36c15cbe..f9d68f6be0a2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/1-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_03[] = "tmp_sgetc_1io.tst"; // empty file, need to create
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
index aca1593d5b51..955af5b68484 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 // Test overloaded virtual functions.
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
index b233df872d0c..4fea4585ba7f 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sgetc/char/2-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_03[] = "tmp_sgetc_2io.tst"; // empty file, need to create
 
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 9791706a99f0..2af5cb4493c3 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
@@ -21,18 +21,16 @@
 // causes "in_avail" to return an incorrect value.
 // { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
 // { dg-require-binary-io "" }
+// { dg-additional-files "sgetn.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetn.txt"; // file with data in it
 
 // Test overloaded virtual functions.
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 506d0676bd51..6ad69300323a 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
@@ -21,18 +21,16 @@
 // causes "in_avail" to return an incorrect value.
 // { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
 // { dg-require-binary-io "" }
+// { dg-additional-files "sgetn.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetn.txt"; // file with data in it
 const char name_03[] = "tmp_sgetn_1io.tst"; // empty file, need to create
 
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 1b16f5d0b49b..570748320620 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
@@ -21,18 +21,16 @@
 // causes "in_avail" to return an incorrect value.
 // { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
 // { dg-require-binary-io "" }
+// { dg-additional-files "sgetn.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetn.txt"; // file with data in it
 
 // Test overloaded virtual functions.
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 c185a4adb1ed..c3112f718a8b 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
@@ -21,18 +21,16 @@
 // causes "in_avail" to return an incorrect value.
 // { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
 // { dg-require-binary-io "" }
+// { dg-additional-files "sgetn.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetn.txt"; // file with data in it
 const char name_03[] = "tmp_sgetn_2io.tst"; // empty file, need to create
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
index e79972af7b2d..0e5078c5a13b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_02[] = "tmp_snextc_1out.tst"; // empty file, need to create
 const char name_03[] = "tmp_snextc_1io.tst"; // empty file, need to create
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
index a02aef40ccf7..974c661c4abb 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_02[] = "tmp_snextc_1out.tst"; // empty file, need to create
 const char name_03[] = "tmp_snextc_1io.tst"; // empty file, need to create
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
index b724f13c73b5..a61a77b96c2e 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/1-out.cc
@@ -17,15 +17,14 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
+
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_02[] = "tmp_snextc_1out.tst"; // empty file, need to create
 const char name_03[] = "tmp_snextc_1io.tst"; // empty file, need to create
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
index fa681efc83e1..b2c754e5de37 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
index c264412c1039..0f62d465d4c3 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/snextc/char/2-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 const char name_03[] = "tmp_snextc_2io.tst"; // empty file, need to create
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
index c9e54caba81c..642ed9e52f56 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/1-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 // Test overloaded virtual functions.
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
index 684685dde741..1e4325e79b71 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputbackc/char/2-in.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 // Test overloaded virtual functions.
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
index bbd25a5e85e8..e76064dd5925 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/1-in.cc
@@ -17,15 +17,14 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
+
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
index 7505076f97ce..c0d423bf063b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-in.cc
@@ -17,15 +17,14 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
+
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
index 3125d52b42c5..f182064ca190 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputc/char/2-io.cc
@@ -17,17 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 const char name_03[] = "tmp_sputc_2io.tst";
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
index dd951b040b4a..fb9b181ad6c5 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-in.cc
@@ -17,15 +17,14 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
+
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
index c01aed976640..125cde14fdb2 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/1-io.cc
@@ -17,18 +17,15 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
-const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 const char name_03[] = "tmp_sputn_1io.tst"; // empty file, need to create
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
index 6a008646fb35..da96056c2ce7 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sputn/char/2-in.cc
@@ -17,15 +17,14 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.4 Overridden virtual functions
+// C++98 27.8.1.4 Overridden virtual functions
+
+// { dg-additional-files "filebuf_virtuals-1.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "filebuf_virtuals-1.txt"; // file with data in it
 
 void test05() 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
index ff2f0fd742f7..12bd7da3282d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/1-in.cc
@@ -25,8 +25,7 @@
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
+// { dg-additional-files "sgetc.txt" }
 
 const char name_01[] = "sgetc.txt"; // file with data in it
 
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc 
b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
index af3ad03ef8a1..9f34255b8ad9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_filebuf/sungetc/char/2-in.cc
@@ -20,14 +20,12 @@
 // 27.8.1.4 Overridden virtual functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "sgetc.txt" }
 
 #include <fstream>
 #include <testsuite_hooks.h>
 #include <testsuite_io.h>
 
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %*.txt
-
 const char name_01[] = "sgetc.txt"; // file with data in it
 
 // Test overloaded virtual functions.
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
index 2611caf54f99..f2658aed8861 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/cons/char/1.cc
@@ -15,11 +15,10 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.7 ifstream member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.7 ifstream member functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "ifstream_members-1.tst" }
 
 #include <istream>
 #include <fstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
index dcd16eddf608..c22de5305a73 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/open/char/1.cc
@@ -15,11 +15,10 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.7 ifstream member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.7 ifstream member functions
 
 // { dg-require-fileio "" }
+// { dg-additional-files "ifstream_members-1.tst" }
 
 #include <istream>
 #include <fstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc 
b/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
index fac3275da67d..3623da66dc20 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ifstream/rdbuf/char/2832.cc
@@ -15,17 +15,12 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.7 ifstream member functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.8.1.7 ifstream member functions
 
 #include <istream>
 #include <fstream>
 #include <testsuite_hooks.h>
 
-const char name_01[] = "ifstream_members-1.tst";
-const char name_02[] = "ifstream_members-1.txt";
-
 void 
 redirect_buffer(std::ios& stream, std::streambuf* new_buf) 
 { stream.rdbuf(new_buf); }
@@ -37,10 +32,6 @@ active_buffer(std::ios& stream)
 // libstdc++/2832
 void test03()
 {
-  const char* strlit01 = "fuck war";
-  const std::string str00;
-  const std::string str01(strlit01);
-  std::string str02;
   std::filebuf fbuf;
   std::streambuf* pbasebuf0 = &fbuf;
 
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 09cfc3aad0fb..f18f60fa4729 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
@@ -21,12 +21,11 @@
 // causes "in_avail" to return an incorrect value.
 // { dg-do run { xfail arm*-*-elf arm*-*-eabi } }
 
-// 27.6.1.3 unformatted input functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.6.1.3 unformatted input functions
 
 // { dg-require-fileio "" }
 // { dg-require-binary-io "" }
+// { dg-additional-files "istream_unformatted-1.tst" }
 
 #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 d19cb211f4ef..3acd5fe7b1bb 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
@@ -21,10 +21,9 @@
 
 // { dg-require-binary-io "" }
 // { dg-require-fileio "" }
+// { dg-additional-files "wistream_unformatted-1.tst" }
 
-// 27.6.1.3 unformatted input functions
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
+// C++98 27.6.1.3 unformatted input functions
 
 #include <istream>
 #include <fstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc 
b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
index 1f9967405d83..72379664e33d 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/char/sstream.cc
@@ -17,12 +17,11 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.6.1.3 unformatted input functions
+// C++98 27.6.1.3 unformatted input functions
 // NB: ostream has a particular "seeks" category. Adopt this for istreams too.
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
 
 // { dg-require-fileio "" }
+// { dg-additional-files "istream_seeks-1.tst" }
 
 #include <istream>
 #include <sstream>
diff --git 
a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc 
b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
index da2e27e72a06..30a8a905b6e9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/seekg/wchar_t/sstream.cc
@@ -17,12 +17,11 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.6.1.3 unformatted input functions
+// C++98 27.6.1.3 unformatted input functions
 // NB: ostream has a particular "seeks" category. Adopt this for istreams too.
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
 
 // { dg-require-fileio "" }
+// { dg-additional-files "wistream_seeks-1.tst" }
 
 #include <istream>
 #include <sstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
index e956ecf4e4a6..3ab92f9760ea 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/1.cc
@@ -17,12 +17,11 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.6.1.3 unformatted input functions
+// C++98 27.6.1.3 unformatted input functions
 // NB: ostream has a particular "seeks" category. Adopt this for istreams too.
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
 
 // { dg-require-fileio "" }
+// { dg-additional-files "istream_seeks-1.tst" }
 
 #include <istream>
 #include <sstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc 
b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
index a45d0b59fb84..6da59d0d1a15 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/char/sstream.cc
@@ -17,12 +17,11 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.6.1.3 unformatted input functions
+// C++98 27.6.1.3 unformatted input functions
 // NB: ostream has a particular "seeks" category. Adopt this for istreams too.
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
 
 // { dg-require-fileio "" }
+// { dg-additional-files "istream_seeks-1.tst" }
 
 #include <istream>
 #include <sstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
index e2f076a03d11..20b425cbbe0b 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/1.cc
@@ -16,11 +16,10 @@
 // <http://www.gnu.org/licenses/>.
 
 // { dg-require-fileio "" }
+// { dg-additional-files "wistream_seeks-1.tst" }
 
-// 27.6.1.3 unformatted input functions
+// C++98 27.6.1.3 unformatted input functions
 // NB: ostream has a particular "seeks" category. Adopt this for istreams too.
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
 
 #include <istream>
 #include <sstream>
diff --git 
a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc 
b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
index b5d005c5342d..9118e683c358 100644
--- a/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_istream/tellg/wchar_t/sstream.cc
@@ -15,12 +15,11 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.6.1.3 unformatted input functions
+// C++98 27.6.1.3 unformatted input functions
 // NB: ostream has a particular "seeks" category. Adopt this for istreams too.
-// @require@ %-*.tst %-*.txt
-// @diff@ %-*.tst %-*.txt
 
 // { dg-require-fileio "" }
+// { dg-additional-files "wistream_seeks-1.tst" }
 
 #include <istream>
 #include <sstream>
diff --git a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc 
b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
index b24ffe210cec..45227107cbd9 100644
--- a/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
+++ b/libstdc++-v3/testsuite/27_io/basic_ofstream/open/char/1.cc
@@ -15,8 +15,9 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// 27.8.1.10 ofstream member functions
-// @require@ %-*.tst
+// C++98 27.8.1.10 ofstream member functions
+
+// { dg-additional-files "ofstream_members-1.tst" }
 // @diff@ %-*.tst %-*.txt
 
 // { dg-require-fileio "" }
diff --git a/libstdc++-v3/testsuite/lib/dg-options.exp 
b/libstdc++-v3/testsuite/lib/dg-options.exp
index 0d77fb029b09..1d3160409f5a 100644
--- a/libstdc++-v3/testsuite/lib/dg-options.exp
+++ b/libstdc++-v3/testsuite/lib/dg-options.exp
@@ -405,5 +405,5 @@ set v3_additional_files ""
 # Process a { dg-additional-files "filelist" } directive in the test.
 proc dg-additional-files { line filelist } {
     global v3_additional_files
-    set v3_additional_files $filelist
+    append v3_additional_files " " $filelist
 }
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp 
b/libstdc++-v3/testsuite/lib/libstdc++.exp
index 67a63f5b5f39..8efc6f7f0899 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -648,6 +648,7 @@ proc v3_target_compile { source dest type options } {
        global srcdir
        v3-copy-file "$srcdir/data/$file" $file
     }
+    set v3_additional_files {}
 
     set comp_output [target_compile $source $dest $type $options]
     if { $type == "executable" && $file_to_delete != "" } {

Reply via email to