[gcc r14-3656] libstdc++: Remove dg-options "-std=c++98" from TR1 tests

Jonathan Wakely redi@gcc.gnu.org
Mon Sep 4 16:29:14 GMT 2023


https://gcc.gnu.org/g:455907564c2d5890e98c7e572944456b10e8e42e

commit r14-3656-g455907564c2d5890e98c7e572944456b10e8e42e
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Mon Sep 4 14:55:51 2023 +0100

    libstdc++: Remove dg-options "-std=c++98" from TR1 tests
    
    These tests need slight adjustments to be valid in C++11 and later, but
    there's no reason that can't be done, so that we test them in more
    modes.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
            and qualify ambiguous calls to get.
            * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
            expected result for std::pow(float, int) as per DR 550.

Diff:
---
 .../testsuite/tr1/6_containers/utility/pair.cc        | 19 ++++++++-----------
 .../tr1/8_c_compatibility/cmath/pow_cmath.cc          |  7 +++++--
 2 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
index 4d4dcdb7a02b..904b38c2b647 100644
--- a/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
+++ b/libstdc++-v3/testsuite/tr1/6_containers/utility/pair.cc
@@ -17,8 +17,6 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=c++98" }
-
 // tr1 additions to pair
 
 #include <tr1/utility>
@@ -42,15 +40,14 @@ main()
   tuple_element<1, pair<int ,blank_class> >::type
     blank3 __attribute__((unused)) = blank;
   pair<int,int> test_pair(1, 2);
-  VERIFY(get<0>(test_pair) == 1);
-  VERIFY(get<1>(test_pair) == 2);
-  get<0>(test_pair) = 3;
-  get<1>(test_pair) = 4;
-  VERIFY(get<0>(test_pair) == 3);
-  VERIFY(get<1>(test_pair) == 4);
+  VERIFY(std::tr1::get<0>(test_pair) == 1);
+  VERIFY(std::tr1::get<1>(test_pair) == 2);
+  std::tr1::get<0>(test_pair) = 3;
+  std::tr1::get<1>(test_pair) = 4;
+  VERIFY(std::tr1::get<0>(test_pair) == 3);
+  VERIFY(std::tr1::get<1>(test_pair) == 4);
 
   const pair<int,int> test_pair2(1,2);
-  VERIFY(get<0>(test_pair2) == 1);
-  VERIFY(get<1>(test_pair2) == 2);
+  VERIFY(std::tr1::get<0>(test_pair2) == 1);
+  VERIFY(std::tr1::get<1>(test_pair2) == 2);
 }
-
diff --git a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
index bc89ab2f6fe0..63891bf4ba07 100644
--- a/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
+++ b/libstdc++-v3/testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc
@@ -17,8 +17,6 @@
 // with this library; see the file COPYING3.  If not see
 // <http://www.gnu.org/licenses/>.
 
-// { dg-options "-std=c++98" }
-
 #include <cmath>
 using std::pow;
 #include <tr1/cmath>
@@ -30,6 +28,11 @@ test01()
   using namespace __gnu_test;
 
   float x = 2080703.375F;
+#if __cplusplus < 201103L
   check_ret_type<float>(std::pow(x, 2));
+#else
+  // LWG 550 What should the return type of pow(float,int) be?
+  check_ret_type<double>(std::pow(x, 2));
+#endif
   check_ret_type<double>(std::tr1::pow(x, 2));
 }


More information about the Libstdc++-cvs mailing list