https://gcc.gnu.org/g:d0d99fc6b6c4f1c3fa8a9427f461103c78ab457b

commit r15-4517-gd0d99fc6b6c4f1c3fa8a9427f461103c78ab457b
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Oct 18 12:02:45 2024 +0100

    libstdc++: Improve 26_numerics/headers/cmath/types_std_c++0x_neg.cc
    
    This test checks that the special functions in <cmath> are not declared
    prior to C++17. But we can remove the target selector and allow it to be
    tested for C++17 and later, and add target selectors to the individual
    dg-error directives instead.
    
    Also rename the test to match what it actually tests.
    
    libstdc++-v3/ChangeLog:
    
            * testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc:
            Move to ...
            * testsuite/26_numerics/headers/cmath/specfun_c++17.cc: here and
            adjust test to be valid for all -std dialects.

Diff:
---
 .../{types_std_c++0x_neg.cc => specfun_c++17.cc}   | 47 +++++++++++-----------
 1 file changed, 24 insertions(+), 23 deletions(-)

diff --git 
a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc 
b/libstdc++-v3/testsuite/26_numerics/headers/cmath/specfun_c++17.cc
similarity index 57%
rename from 
libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
rename to libstdc++-v3/testsuite/26_numerics/headers/cmath/specfun_c++17.cc
index 977f800a4b07..efb60ea1fbbe 100644
--- a/libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc
+++ b/libstdc++-v3/testsuite/26_numerics/headers/cmath/specfun_c++17.cc
@@ -1,4 +1,4 @@
-// { dg-do compile { target { ! c++17 } } }
+// { dg-do compile }
 
 // Copyright (C) 2007-2024 Free Software Foundation, Inc.
 //
@@ -21,28 +21,29 @@
 
 namespace gnu
 {
-  // C++11 changes from TR1.
-  using std::assoc_laguerre;   // { dg-error "has not been declared" }
-  using std::assoc_legendre;   // { dg-error "has not been declared" }
-  using std::beta;             // { dg-error "has not been declared" }
-  using std::comp_ellint_1;    // { dg-error "has not been declared" }
-  using std::comp_ellint_2;    // { dg-error "has not been declared" }
-  using std::comp_ellint_3;    // { dg-error "has not been declared" }
+  // C++17 additions from TR1.
+  using std::assoc_laguerre;   // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::assoc_legendre;   // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::beta;             // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::comp_ellint_1;    // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::comp_ellint_2;    // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::comp_ellint_3;    // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::cyl_bessel_i;     // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::cyl_bessel_j;     // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::cyl_bessel_k;     // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::cyl_neumann;      // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::ellint_1;         // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::ellint_2;         // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::ellint_3;         // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::expint;           // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::hermite;          // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::laguerre;         // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::legendre;         // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::riemann_zeta;     // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::sph_bessel;       // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::sph_legendre;     // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  using std::sph_neumann;      // { dg-error "has not been declared" "" { 
target { ! c++17 } } }
+  // These two were in TR1 but not added to C++17.
   using std::conf_hyperg;      // { dg-error "has not been declared" }
-  using std::cyl_bessel_i;     // { dg-error "has not been declared" }
-  using std::cyl_bessel_j;     // { dg-error "has not been declared" }
-  using std::cyl_bessel_k;     // { dg-error "has not been declared" }
-  using std::cyl_neumann;      // { dg-error "has not been declared" }
-  using std::ellint_1;         // { dg-error "has not been declared" }
-  using std::ellint_2;         // { dg-error "has not been declared" }
-  using std::ellint_3;         // { dg-error "has not been declared" }
-  using std::expint;           // { dg-error "has not been declared" }
-  using std::hermite;          // { dg-error "has not been declared" }
   using std::hyperg;           // { dg-error "has not been declared" }
-  using std::laguerre;         // { dg-error "has not been declared" }
-  using std::legendre;         // { dg-error "has not been declared" }
-  using std::riemann_zeta;     // { dg-error "has not been declared" }
-  using std::sph_bessel;       // { dg-error "has not been declared" }
-  using std::sph_legendre;     // { dg-error "has not been declared" }
-  using std::sph_neumann;      // { dg-error "has not been declared" }
 }

Reply via email to