diff mbox series

libstdc++: Improve 26_numerics/headers/cmath/types_std_c++0x_neg.cc

Message ID 20241018120325.346673-1-jwakely@redhat.com
State New
Headers show
Series libstdc++: Improve 26_numerics/headers/cmath/types_std_c++0x_neg.cc | expand

Commit Message

Jonathan Wakely Oct. 18, 2024, 12:02 p.m. UTC
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.
---

Tested x86_64-linux.

 ...ypes_std_c++0x_neg.cc => specfun_c++17.cc} | 47 ++++++++++---------
 1 file changed, 24 insertions(+), 23 deletions(-)
 rename libstdc++-v3/testsuite/26_numerics/headers/cmath/{types_std_c++0x_neg.cc => specfun_c++17.cc} (57%)
diff mbox series

Patch

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 977f800a4b0..efb60ea1fbb 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" }
 }