aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2021-05-11 17:14:26 +0100
committerJonathan Wakely <jwakely@redhat.com>2021-05-11 20:50:09 +0100
commita46434cf23b999a5a37a1f3183a71e2a939b8f06 (patch)
treeaeef84ac4b1e8ad97d016b3e3eed7c732a7c76a0
parentdb9dec545bf7c5be3120412444553ff993c7200d (diff)
downloadgcc-a46434cf23b999a5a37a1f3183a71e2a939b8f06.zip
gcc-a46434cf23b999a5a37a1f3183a71e2a939b8f06.tar.gz
gcc-a46434cf23b999a5a37a1f3183a71e2a939b8f06.tar.bz2
libstdc++: Fix tests that fail in C++98 mode
The header synopsis test fails to define NOTHROW for C++98. The shared_ptr test should be skipped for C++98. The debug mode one should work for C++98 too, it just needs to avoid C++11 syntax that isn't valid in C++98. libstdc++-v3/ChangeLog: * testsuite/20_util/headers/memory/synopsis.cc: Define C++98 alternative for macro. * testsuite/20_util/shared_ptr/creation/99006.cc: Add effective target keyword. * testsuite/25_algorithms/copy/debug/99402.cc: Avoid C++11 syntax. (cherry picked from commit 37407a2ae701c0a93377106a2938ab5474062fc3)
-rw-r--r--libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc2
-rw-r--r--libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc4
-rw-r--r--libstdc++-v3/testsuite/25_algorithms/copy/debug/99402.cc3
3 files changed, 6 insertions, 3 deletions
diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
index 1463fcf..9a4264a 100644
--- a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
@@ -22,6 +22,8 @@
#if __cplusplus >= 201103L
# define NOTHROW noexcept
+#else
+# define NOTHROW
#endif
namespace std {
diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc
index d5f7a5d..e070fb9 100644
--- a/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc
+++ b/libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc
@@ -1,5 +1,5 @@
-// FIXME: This should use { target { ! c++20 } }
-// { dg-do compile }
+// FIXME: This should use { target { c++11 && { ! c++20 } } }
+// { dg-do compile { target { c++11 } } }
#include <memory>
diff --git a/libstdc++-v3/testsuite/25_algorithms/copy/debug/99402.cc b/libstdc++-v3/testsuite/25_algorithms/copy/debug/99402.cc
index 041d222..9a9c97a 100644
--- a/libstdc++-v3/testsuite/25_algorithms/copy/debug/99402.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/copy/debug/99402.cc
@@ -28,8 +28,9 @@ using namespace std;
int main()
{
+ int two[] = { 0, 1 };
// any container with non-random access iterators:
- const set<int> source = { 0, 1 };
+ const set<int> source(two, two + 2);
vector<int> dest(1);
copy(source.begin(), ++source.begin(), dest.begin());
}