aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-07-05 20:06:01 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2024-07-06 21:16:53 +0100
commit3fc913104d2a8000bba169049e0fc143640c7793 (patch)
tree8aa03fc313e909397bc772877fd6e99792315c3d
parent9f1cd51766f251aafe0f1b898892f79855892729 (diff)
downloadgcc-3fc913104d2a8000bba169049e0fc143640c7793.zip
gcc-3fc913104d2a8000bba169049e0fc143640c7793.tar.gz
gcc-3fc913104d2a8000bba169049e0fc143640c7793.tar.bz2
libstdc++: Remove redundant 17_intro/headers tests
We have several nearly identical tests under 17_intro/headers which only differ in a -std option set using dg-options. Since the testsuite now supports running tests with multiple -std options (and I test that regularly) we don't need these duplicated tests. We can remove most of them and let the testsuite decide which -std option to use. In the all_attributes.cc case the content of the tests is slightly different, but they can be combined into one test that defines macros conditionally based on __cplusplus checks. The stdc++.cc tests could also be combined this way, but for now I've just kept one version for c++98 and one for all later standards. For stdc++_multiple_inclusion.cc we can remove the body of the files and just include stdc++.cc twice. This means we don't need to add includes to both stdc++.cc and stdc++_multiple_inclusion.cc, we only need to update one place. libstdc++-v3/ChangeLog: * testsuite/17_intro/headers/c++1998/all_attributes.cc: Add attribute names from later standards and remove dg-options. * testsuite/17_intro/headers/c++1998/stdc++.cc: Add c++98_only target selector. * testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc: Remove content and include stdc++.cc twice instead. * testsuite/17_intro/headers/c++2011/stdc++.cc: Replace dg-options with c++11 target selector. * testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc: Remove content and include stdc++.cc twice instead. * testsuite/17_intro/headers/c++2011/all_attributes.cc: Removed. * testsuite/17_intro/headers/c++2011/all_no_exceptions.cc: Removed. * testsuite/17_intro/headers/c++2011/all_no_rtti.cc: Removed. * testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc: Removed. * testsuite/17_intro/headers/c++2011/charset.cc: Removed. * testsuite/17_intro/headers/c++2011/operator_names.cc: Removed. * testsuite/17_intro/headers/c++2014/all_attributes.cc: Removed. * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: Removed. * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: Removed. * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: Removed. * testsuite/17_intro/headers/c++2014/charset.cc: Removed. * testsuite/17_intro/headers/c++2014/operator_names.cc: Removed. * testsuite/17_intro/headers/c++2014/stdc++.cc: Removed. * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: Removed. * testsuite/17_intro/headers/c++2017/all_attributes.cc: Removed. * testsuite/17_intro/headers/c++2017/all_no_exceptions.cc: Removed. * testsuite/17_intro/headers/c++2017/all_no_rtti.cc: Removed. * testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc: Removed. * testsuite/17_intro/headers/c++2017/charset.cc: Removed. * testsuite/17_intro/headers/c++2017/operator_names.cc: Removed. * testsuite/17_intro/headers/c++2017/stdc++.cc: Removed. * testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc: Removed. * testsuite/17_intro/headers/c++2020/all_attributes.cc: Removed. * testsuite/17_intro/headers/c++2020/all_no_exceptions.cc: Removed. * testsuite/17_intro/headers/c++2020/all_no_rtti.cc: Removed. * testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc: Removed. * testsuite/17_intro/headers/c++2020/charset.cc: Removed. * testsuite/17_intro/headers/c++2020/operator_names.cc: Removed. * testsuite/17_intro/headers/c++2020/stdc++.cc: Removed. * testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc: Removed.
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc20
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc2
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc53
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc44
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/charset.cc5
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc30
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc5
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc100
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc44
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/charset.cc5
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc30
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc70
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc117
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc43
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/charset.cc5
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc30
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc69
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc116
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/all_attributes.cc42
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc21
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/charset.cc5
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc30
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc70
-rw-r--r--libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc117
35 files changed, 26 insertions, 1278 deletions
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
index 0c38259..4f2a982 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc
@@ -15,26 +15,40 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
-// { dg-options "-std=gnu++98" }
// { dg-do compile }
// Ensure the library only uses the __name__ form for attributes.
// Don't test 'const' because it is reserved anyway.
+
#define abi_tag 1
+
#ifndef __APPLE__
// darwin headers use these, see PR 64883
# define always_inline 1
# define cold 1
-# define deprecated 1
-# define noreturn 1
+# if __cplusplus < 201703L
+# define deprecated 1 // Reserved since C++17
+# endif
+# if __cplusplus < 201103L
+# define noreturn 1 // Reserved since C++11
+# endif
# define visibility 1
#endif
+
+#if __cplusplus < 202002L
+# define no_unique_address 1
+# define likely 1
+# define unlikely 1
+#endif
+
#ifndef __s390__
// kernel-headers <asm/types.h> uses __attribute__((packed,aligned(4))) on
// S390.
#define packed 1
#endif
+
#define pure 1
+
// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
#ifndef __arm__
#define unused 1
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
index 4fb9688..efbfdd9 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++.cc
@@ -1,6 +1,6 @@
// FreeBSD wants warning clean system headers:
// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
+// { dg-do compile { target c++98_only } }
// 1999-05-12 bkoz
// Copyright (C) 1999-2024 Free Software Foundation, Inc.
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
index 4ab8f6d..70dea11 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++1998/stdc++_multiple_inclusion.cc
@@ -22,54 +22,5 @@
// 17.4.1.2 Headers
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#include <ctype.h>
-#include <errno.h>
-#include <float.h>
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <time.h>
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
+#include "stdc++.cc"
+#include "stdc++.cc"
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc
deleted file mode 100644
index cc34a35..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_attributes.cc
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=gnu++11" }
-// { dg-do compile }
-
-// Ensure the library only uses the __name__ form for attributes.
-// Don't test 'const' and 'noreturn' because they are reserved anyway.
-#define abi_tag 1
-#ifndef __APPLE__
-// darwin headers use these, see PR 64883
-# define always_inline 1
-# define cold 1
-# define deprecated 1
-# define visibility 1
-#endif
-#define no_unique_address 1
-#ifndef __s390__
-// kernel-headers <asm/types.h> uses __attribute__((packed,aligned(4))) on
-// S390.
-#define packed 1
-#endif
-#define pure 1
-// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
-#ifndef __arm__
-#define unused 1
-#endif
-
-#include <bits/extc++.h>
-#include <cxxabi.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc
deleted file mode 100644
index cd53469..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_exceptions.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++11 -fno-exceptions" }
-
-// Copyright (C) 2007-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc
deleted file mode 100644
index 777195a..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_no_rtti.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++11 -fno-rtti" }
-
-// Copyright (C) 2010-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc
deleted file mode 100644
index f4dc048..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/all_pedantic_errors.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++11 -pedantic-errors" }
-
-// Copyright (C) 2007-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/charset.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/charset.cc
deleted file mode 100644
index e76edea..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/charset.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-// { dg-options "-finput-charset=ascii" }
-// { dg-do compile }
-// { dg-skip-if "non-ascii in system headers" { *-*-hpux* *-*-darwin10* *-*-darwin[89]* } }
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc
deleted file mode 100644
index 3e93859..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/operator_names.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++11 -fno-operator-names" }
-
-// Copyright (C) 2011-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// libstdc++/47662
-
-// Avoid using PCH
-#include <cerrno>
-#include <bits/stdc++.h>
-#include <bits/stdtr1c++.h>
-#include <bits/extc++.h>
-
-int or, xor, and;
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc
index dbbc7b1..89cad3b 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++.cc
@@ -1,7 +1,6 @@
// FreeBSD wants warning clean system headers:
-// { dg-options "-std=gnu++11" }
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
+// { dg-do compile { target c++11 } }
// Copyright (C) 2007-2024 Free Software Foundation, Inc.
//
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
index ec271cb..5f86994 100644
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
+++ b/libstdc++-v3/testsuite/17_intro/headers/c++2011/stdc++_multiple_inclusion.cc
@@ -1,7 +1,6 @@
// FreeBSD wants warning clean system headers:
-// { dg-options "-std=gnu++11" }
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
+// { dg-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
+// { dg-do compile { target c++11 } }
// Copyright (C) 2007-2024 Free Software Foundation, Inc.
//
@@ -22,96 +21,5 @@
// 17.4.1.2 Headers
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
+#include "stdc++.cc"
+#include "stdc++.cc"
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc
deleted file mode 100644
index 80d0852..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_attributes.cc
+++ /dev/null
@@ -1,44 +0,0 @@
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=gnu++14" }
-// { dg-do compile }
-
-// Ensure the library only uses the __name__ form for attributes.
-// Don't test 'const' and 'noreturn' because they are reserved anyway.
-#define abi_tag 1
-#ifndef __APPLE__
-// darwin headers use these, see PR 64883
-# define always_inline 1
-# define cold 1
-# define deprecated 1
-# define visibility 1
-#endif
-#define no_unique_address 1
-#ifndef __s390__
-// kernel-headers <asm/types.h> uses __attribute__((packed,aligned(4))) on
-// S390.
-#define packed 1
-#endif
-#define pure 1
-// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
-#ifndef __arm__
-#define unused 1
-#endif
-
-#include <bits/extc++.h>
-#include <cxxabi.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc
deleted file mode 100644
index 1c67b0d..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_exceptions.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++14 -fno-exceptions" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc
deleted file mode 100644
index 5ae6510..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_no_rtti.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++14 -fno-rtti" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc
deleted file mode 100644
index ec29e4d..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++14 -pedantic-errors" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/charset.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/charset.cc
deleted file mode 100644
index e76edea..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/charset.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-// { dg-options "-finput-charset=ascii" }
-// { dg-do compile }
-// { dg-skip-if "non-ascii in system headers" { *-*-hpux* *-*-darwin10* *-*-darwin[89]* } }
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc
deleted file mode 100644
index 39e044a..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/operator_names.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++14 -fno-operator-names" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// libstdc++/47662
-
-// Avoid using PCH
-#include <cerrno>
-#include <bits/stdc++.h>
-#include <bits/stdtr1c++.h>
-#include <bits/extc++.h>
-
-int or, xor, and;
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc
deleted file mode 100644
index 6124785..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// FreeBSD wants warning clean system headers:
-// { dg-options "-std=gnu++14" }
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// 17.4.1.2 Headers
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc
deleted file mode 100644
index a6b5cbf..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-// FreeBSD wants warning clean system headers:
-// { dg-options "-std=gnu++14" }
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// 17.4.1.2 Headers
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc
deleted file mode 100644
index 4f8ba4d..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_attributes.cc
+++ /dev/null
@@ -1,43 +0,0 @@
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=gnu++17" }
-// { dg-do compile { target c++17 } }
-
-// Ensure the library only uses the __name__ form for attributes.
-// Don't test 'const' and 'noreturn' because they are reserved anyway.
-#define abi_tag 1
-#ifndef __APPLE__
-// darwin headers use these, see PR 64883
-# define always_inline 1
-# define cold 1
-# define visibility 1
-#endif
-#define no_unique_address 1
-#ifndef __s390__
-// kernel-headers <asm/types.h> uses __attribute__((packed,aligned(4))) on
-// S390.
-#define packed 1
-#endif
-#define pure 1
-// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
-#ifndef __arm__
-#define unused 1
-#endif
-
-#include <bits/extc++.h>
-#include <cxxabi.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc
deleted file mode 100644
index e5156ed..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_exceptions.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-options "-fno-exceptions" }
-// { dg-do compile { target c++17 } }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc
deleted file mode 100644
index 1c51142..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_no_rtti.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-options "-std=gnu++17 -fno-rtti" }
-// { dg-do compile { target c++17 } }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc
deleted file mode 100644
index 4dd9e12..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/all_pedantic_errors.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-options "-pedantic-errors" }
-// { dg-do compile { target c++17 } }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/charset.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/charset.cc
deleted file mode 100644
index e76edea..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/charset.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-// { dg-options "-finput-charset=ascii" }
-// { dg-do compile }
-// { dg-skip-if "non-ascii in system headers" { *-*-hpux* *-*-darwin10* *-*-darwin[89]* } }
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc
deleted file mode 100644
index 5de0781..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/operator_names.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-options "-fno-operator-names" }
-// { dg-do compile { target c++17 } }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// libstdc++/47662
-
-// Avoid using PCH
-#include <cerrno>
-#include <bits/stdc++.h>
-#include <bits/stdtr1c++.h>
-#include <bits/extc++.h>
-
-int or, xor, and;
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
deleted file mode 100644
index 4e46585..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++.cc
+++ /dev/null
@@ -1,69 +0,0 @@
-// FreeBSD wants warning clean system headers:
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile { target c++17 } }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// 17.4.1.2 Headers
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc
deleted file mode 100644
index ac07ca9..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2017/stdc++_multiple_inclusion.cc
+++ /dev/null
@@ -1,116 +0,0 @@
-// FreeBSD wants warning clean system headers:
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile { target c++17 } }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// 17.4.1.2 Headers
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_attributes.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_attributes.cc
deleted file mode 100644
index 3de1488..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_attributes.cc
+++ /dev/null
@@ -1,42 +0,0 @@
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// { dg-options "-std=gnu++2a" }
-// { dg-do compile }
-
-// Ensure the library only uses the __name__ form for attributes.
-// Don't test 'const' and 'noreturn' because they are reserved anyway.
-#define abi_tag 1
-#ifndef __APPLE__
-// darwin headers use these, see PR 64883
-# define always_inline 1
-# define cold 1
-# define visibility 1
-#endif
-#ifndef __s390__
-// kernel-headers <asm/types.h> uses __attribute__((packed,aligned(4))) on
-// S390.
-#define packed 1
-#endif
-#define pure 1
-// glibc's sysdeps/unix/sysv/linux/arm/sys/ucontext.h uses this on ARM.
-#ifndef __arm__
-#define unused 1
-#endif
-
-#include <bits/extc++.h>
-#include <cxxabi.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc
deleted file mode 100644
index 7993682..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_exceptions.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++2a -fno-exceptions" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc
deleted file mode 100644
index 81cee0a..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_no_rtti.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++2a -fno-rtti" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc
deleted file mode 100644
index 4f94db1..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/all_pedantic_errors.cc
+++ /dev/null
@@ -1,21 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++2a -pedantic-errors" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/charset.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/charset.cc
deleted file mode 100644
index e76edea..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/charset.cc
+++ /dev/null
@@ -1,5 +0,0 @@
-// { dg-options "-finput-charset=ascii" }
-// { dg-do compile }
-// { dg-skip-if "non-ascii in system headers" { *-*-hpux* *-*-darwin10* *-*-darwin[89]* } }
-
-#include <bits/extc++.h>
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc
deleted file mode 100644
index 2ce5f42..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/operator_names.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// { dg-do compile }
-// { dg-options "-std=gnu++2a -fno-operator-names" }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// libstdc++/47662
-
-// Avoid using PCH
-#include <cerrno>
-#include <bits/stdc++.h>
-#include <bits/stdtr1c++.h>
-#include <bits/extc++.h>
-
-int or, xor, and;
-
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc
deleted file mode 100644
index 4a61fbb..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++.cc
+++ /dev/null
@@ -1,70 +0,0 @@
-// FreeBSD wants warning clean system headers:
-// { dg-options "-std=gnu++2a" }
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// 17.4.1.2 Headers
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
diff --git a/libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc b/libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc
deleted file mode 100644
index da12280..0000000
--- a/libstdc++-v3/testsuite/17_intro/headers/c++2020/stdc++_multiple_inclusion.cc
+++ /dev/null
@@ -1,117 +0,0 @@
-// FreeBSD wants warning clean system headers:
-// { dg-options "-std=gnu++2a" }
-// { dg-additional-options "-Wall -Wsystem-headers" { target *-*-freebsd* *-*-dragonfly* } }
-// { dg-do compile }
-
-// Copyright (C) 2015-2024 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library. This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 3, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License along
-// with this library; see the file COPYING3. If not see
-// <http://www.gnu.org/licenses/>.
-
-// 17.4.1.2 Headers
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif
-
-#include <bits/stdc++.h>
-
-// "C" compatibility headers
-#include <assert.h>
-#ifdef _GLIBCXX_HAVE_COMPLEX_H
-#include <complex.h>
-#endif
-#include <ctype.h>
-#include <errno.h>
-#ifdef _GLIBCXX_HAVE_FENV_H
-#include <fenv.h>
-#endif
-#include <float.h>
-#ifdef _GLIBCXX_HAVE_INTTYPES_H
-#include <inttypes.h>
-#endif
-#include <iso646.h>
-#include <limits.h>
-#include <locale.h>
-#include <math.h>
-#include <setjmp.h>
-#include <signal.h>
-#include <stdarg.h>
-#ifdef _GLIBCXX_HAVE_STDBOOL_H
-#include <stdbool.h>
-#endif
-#include <stddef.h>
-#ifdef _GLIBCXX_HAVE_STDINT_H
-#include <stdint.h>
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#ifdef _GLIBCXX_HAVE_TGMATH_H
-#include <tgmath.h>
-#endif
-#include <time.h>
-#if __has_include(<uchar.h>)
-#include <uchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCHAR_H
-#include <wchar.h>
-#endif
-#ifdef _GLIBCXX_HAVE_WCTYPE_H
-#include <wctype.h>
-#endif