public inbox for libstdc++-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r10-10299] libstdc++: Fix tests that fail in C++98 mode
@ 2021-11-26 12:52 Jonathan Wakely
  0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2021-11-26 12:52 UTC (permalink / raw)
  To: gcc-cvs, libstdc++-cvs

https://gcc.gnu.org/g:5cc7018538ad2ad8e9379271ae721f20fbc22d1c

commit r10-10299-g5cc7018538ad2ad8e9379271ae721f20fbc22d1c
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Tue May 11 17:14:26 2021 +0100

    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)

Diff:
---
 libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc   | 8 +++++++-
 libstdc++-v3/testsuite/20_util/shared_ptr/creation/99006.cc | 4 ++--
 libstdc++-v3/testsuite/25_algorithms/copy/debug/99402.cc    | 3 ++-
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
index 187de621257..dd4324a3915 100644
--- a/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
+++ b/libstdc++-v3/testsuite/20_util/headers/memory/synopsis.cc
@@ -20,6 +20,12 @@
 
 #include <memory>
 
+#if __cplusplus >= 201103L
+# define NOTHROW noexcept
+#else
+# define NOTHROW
+#endif
+
 namespace std {
   //  lib.default.allocator, the default allocator:
   template <class T> class allocator;
@@ -40,7 +46,7 @@ namespace std {
 
   //  lib.temporary.buffer, temporary buffers:
   template <class T>
-  pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n);
+  pair<T*,ptrdiff_t> get_temporary_buffer(ptrdiff_t n) NOTHROW;
   template <class T>
   void return_temporary_buffer(T* p);
 
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 d5f7a5da5e9..e070fb9d420 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 041d222d079..9a9c97af605 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());
 }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-11-26 12:52 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-26 12:52 [gcc r10-10299] libstdc++: Fix tests that fail in C++98 mode Jonathan Wakely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).