[gcc r16-5355] libstdc++: testsuite/util adjustments for import std
Jason Merrill
jason@gcc.gnu.org
Mon Nov 17 15:57:14 GMT 2025
https://gcc.gnu.org/g:359d48af204f1ff4cf1a7969bbeecbdc0b9ba066
commit r16-5355-g359d48af204f1ff4cf1a7969bbeecbdc0b9ba066
Author: Jason Merrill <jason@redhat.com>
Date: Mon Nov 17 21:26:40 2025 +0530
libstdc++: testsuite/util adjustments for import std
In my import std testing patch, to work around c++/99000 (include after
import) I move #includes of the util/ headers above the import. And so I
made some adjustments to those headers to support this: adding some missing
dependencies, making sure that in headers that include both importable and
non-importable headers, at least one importable header comes first to work
with my patch to translate e.g. #include <vector> to import <bits/stdc++.h>.
The testsuite_iterators.h avoids a failure in
20_util/specialized_algorithms/uninitialized_copy/constrained.cc from
including <memory> after this header, with a mysterious "no match for
operator<" between long and difference_type.
libstdc++-v3/ChangeLog:
* testsuite/util/testsuite_allocator.h: Move importable headers up.
* testsuite/util/testsuite_common_types.h: Likewise.
* testsuite/util/testsuite_containers.h: Likewise.
* testsuite/util/testsuite_error.h: Move includes inside
include guard.
* testsuite/util/testsuite_greedy_ops.h: #include <cstddef>.
* testsuite/util/testsuite_iterators.h: #include <utility>.
* testsuite/util/testsuite_new_operators.h: #include <cstdlib>.
* testsuite/util/testsuite_random.h: #include <random>.
Diff:
---
libstdc++-v3/testsuite/util/testsuite_allocator.h | 8 ++++----
libstdc++-v3/testsuite/util/testsuite_common_types.h | 16 ++++++++--------
libstdc++-v3/testsuite/util/testsuite_containers.h | 4 ++--
libstdc++-v3/testsuite/util/testsuite_error.h | 7 ++++---
libstdc++-v3/testsuite/util/testsuite_greedy_ops.h | 2 ++
libstdc++-v3/testsuite/util/testsuite_iterators.h | 2 +-
libstdc++-v3/testsuite/util/testsuite_new_operators.h | 1 +
libstdc++-v3/testsuite/util/testsuite_random.h | 1 +
8 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h
index 086685b4ac6d..3367b1b1e319 100644
--- a/libstdc++-v3/testsuite/util/testsuite_allocator.h
+++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h
@@ -26,14 +26,14 @@
#ifndef _GLIBCXX_TESTSUITE_ALLOCATOR_H
#define _GLIBCXX_TESTSUITE_ALLOCATOR_H
-#include <bits/move.h>
-#include <ext/pointer.h>
-#include <ext/alloc_traits.h>
-#include <testsuite_hooks.h>
#if __cplusplus >= 201703L
# include <memory_resource>
# include <new>
#endif
+#include <bits/move.h>
+#include <ext/pointer.h>
+#include <ext/alloc_traits.h>
+#include <testsuite_hooks.h>
#if __cplusplus >= 201103L
# include <unordered_map>
diff --git a/libstdc++-v3/testsuite/util/testsuite_common_types.h b/libstdc++-v3/testsuite/util/testsuite_common_types.h
index cd36a2006a4c..98c0f5395052 100644
--- a/libstdc++-v3/testsuite/util/testsuite_common_types.h
+++ b/libstdc++-v3/testsuite/util/testsuite_common_types.h
@@ -22,14 +22,6 @@
#ifndef _TESTSUITE_COMMON_TYPES_H
#define _TESTSUITE_COMMON_TYPES_H 1
-#include <ext/typelist.h>
-
-#include <ext/new_allocator.h>
-#include <ext/malloc_allocator.h>
-#include <ext/mt_allocator.h>
-#include <ext/bitmap_allocator.h>
-#include <ext/pool_allocator.h>
-
#include <algorithm>
#include <vector>
@@ -53,6 +45,14 @@ namespace unord = std;
namespace unord = std::tr1;
#endif
+#include <ext/typelist.h>
+
+#include <ext/new_allocator.h>
+#include <ext/malloc_allocator.h>
+#include <ext/mt_allocator.h>
+#include <ext/bitmap_allocator.h>
+#include <ext/pool_allocator.h>
+
namespace __gnu_test
{
using __gnu_cxx::typelist::null_type;
diff --git a/libstdc++-v3/testsuite/util/testsuite_containers.h b/libstdc++-v3/testsuite/util/testsuite_containers.h
index ab0107f79e44..4021585e4415 100644
--- a/libstdc++-v3/testsuite/util/testsuite_containers.h
+++ b/libstdc++-v3/testsuite/util/testsuite_containers.h
@@ -20,10 +20,10 @@
#ifndef _GLIBCXX_TESTSUITE_CONTAINERS_H
#define _GLIBCXX_TESTSUITE_CONTAINERS_H
-#include <bits/boost_concept_check.h>
#include <cassert>
-#include <testsuite_container_traits.h>
#include <utility> // for rel_ops.
+#include <bits/boost_concept_check.h>
+#include <testsuite_container_traits.h>
// Container requirement testing.
namespace __gnu_test
diff --git a/libstdc++-v3/testsuite/util/testsuite_error.h b/libstdc++-v3/testsuite/util/testsuite_error.h
index 5295d60b7be7..03b09ee036ff 100644
--- a/libstdc++-v3/testsuite/util/testsuite_error.h
+++ b/libstdc++-v3/testsuite/util/testsuite_error.h
@@ -19,12 +19,13 @@
// <http://www.gnu.org/licenses/>.
//
-#include <string>
-#include <testsuite_hooks.h>
-
#ifndef _TESTSUITE_ERROR_H
#define _TESTSUITE_ERROR_H 1
+#include <string>
+#include <system_error>
+#include <testsuite_hooks.h>
+
namespace __gnu_test
{
struct test_category : public std::error_category
diff --git a/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h b/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h
index 3545848c8be4..9103fcb22575 100644
--- a/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h
+++ b/libstdc++-v3/testsuite/util/testsuite_greedy_ops.h
@@ -15,6 +15,8 @@
// with this library; see the file COPYING3. If not see
// <http://www.gnu.org/licenses/>.
+#include <cstddef>
+
namespace greedy_ops
{
struct X
diff --git a/libstdc++-v3/testsuite/util/testsuite_iterators.h b/libstdc++-v3/testsuite/util/testsuite_iterators.h
index 41fbcaad366a..70383b8fde90 100644
--- a/libstdc++-v3/testsuite/util/testsuite_iterators.h
+++ b/libstdc++-v3/testsuite/util/testsuite_iterators.h
@@ -31,7 +31,7 @@
#include <bits/stl_iterator_base_types.h>
#if __cplusplus >= 201103L
-#include <bits/move.h>
+#include <utility>
#endif
#if __cplusplus > 201703L
diff --git a/libstdc++-v3/testsuite/util/testsuite_new_operators.h b/libstdc++-v3/testsuite/util/testsuite_new_operators.h
index bf0dab88b5b8..3e372b8066e7 100644
--- a/libstdc++-v3/testsuite/util/testsuite_new_operators.h
+++ b/libstdc++-v3/testsuite/util/testsuite_new_operators.h
@@ -23,6 +23,7 @@
#define _GLIBCXX_TESTSUITE_NEW_OPERATORS_H
#include <new>
+#include <cstdlib>
#include <testsuite_hooks.h>
namespace __gnu_test
diff --git a/libstdc++-v3/testsuite/util/testsuite_random.h b/libstdc++-v3/testsuite/util/testsuite_random.h
index 533be4fc29b2..68968ae90b05 100644
--- a/libstdc++-v3/testsuite/util/testsuite_random.h
+++ b/libstdc++-v3/testsuite/util/testsuite_random.h
@@ -27,6 +27,7 @@
#include <cmath>
#include <initializer_list>
#include <system_error>
+#include <random>
#include <testsuite_hooks.h>
namespace __gnu_test
More information about the Libstdc++-cvs
mailing list