From fe8d7fec4db838cae536eeef1965db83959cf6ee Mon Sep 17 00:00:00 2001
From: Jonathan Wakely <jwakely@redhat.com>
Date: Tue, 11 Aug 2020 16:16:22 +0100
Subject: [PATCH] libstdc++: Fix failing tests for AIX

These two tests fail on AIX because <sys/thread.h> defines struct thread
in the global namespace (despite it not being a reserved name). That
means the using-declaration that adds it to the global namespace causes
a redeclaration error.

libstdc++-v3/ChangeLog:

	* testsuite/30_threads/thread/cons/84535.cc: Use a custom
	namespace.
	* testsuite/30_threads/thread/cons/lwg2097.cc: Likewise.
---
 libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc   | 3 +++
 libstdc++-v3/testsuite/30_threads/thread/cons/lwg2097.cc | 3 +++
 2 files changed, 6 insertions(+)

diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc
index 7846d3f7b68c..711687b4f5cf 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/84535.cc
@@ -20,6 +20,8 @@
 
 #include <thread>
 
+namespace __gnu_test
+{
 using std::is_constructible;
 using std::thread;
 
@@ -28,3 +30,4 @@ static_assert(!is_constructible<thread, thread, int>::value, "");
 static_assert(!is_constructible<thread, thread&, int>::value, "");
 static_assert(!is_constructible<thread, const thread&, int>::value, "");
 static_assert(!is_constructible<thread, const thread&&, int>::value, "");
+}
diff --git a/libstdc++-v3/testsuite/30_threads/thread/cons/lwg2097.cc b/libstdc++-v3/testsuite/30_threads/thread/cons/lwg2097.cc
index e0d588e51f94..1ad2a76cb58f 100644
--- a/libstdc++-v3/testsuite/30_threads/thread/cons/lwg2097.cc
+++ b/libstdc++-v3/testsuite/30_threads/thread/cons/lwg2097.cc
@@ -20,9 +20,12 @@
 
 #include <thread>
 
+namespace __gnu_test
+{
 using std::thread;
 using std::is_constructible;
 
 static_assert( !is_constructible<thread, thread&>::value, "" );
 static_assert( !is_constructible<thread, const thread&>::value, "" );
 static_assert( !is_constructible<thread, const thread>::value, "" );
+}
-- 
GitLab