]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Improve 26_numerics/headers/cmath/types_std_c++0x_neg.cc
authorJonathan Wakely <jwakely@redhat.com>
Fri, 18 Oct 2024 11:02:45 +0000 (12:02 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Mon, 21 Oct 2024 11:12:15 +0000 (12:12 +0100)
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.

libstdc++-v3/testsuite/26_numerics/headers/cmath/specfun_c++17.cc [moved from libstdc++-v3/testsuite/26_numerics/headers/cmath/types_std_c++0x_neg.cc with 57% similarity]

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 977f800a4b0772b03d8415f4b8aced3384b7c8a8..efb60ea1fbbed759f189284e9cc88648f49dddc7 100644 (file)
@@ -1,4 +1,4 @@
-// { dg-do compile { target { ! c++17 } } }
+// { dg-do compile }
 
 // Copyright (C) 2007-2024 Free Software Foundation, Inc.
 //
 
 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" }
 }