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" } }