IS 29124 8.2 [sf.mathh] says that <math.h> should add the names of the special functions to the global namespace. However, C++17 Annex D [depr.c.headers] excludes those functions explicitly, so they should not be placed in the global namespace unconditionally for C++17. Only add them to the global namespace when IS 29124 is explicitly requested via the __STDCPP_WANT_MATH_SPEC_FUNCS__ macro. * include/c_compatibility/math.h [!__STDCPP_WANT_MATH_SPEC_FUNCS__] (assoc_laguerre, assoc_laguerref, assoc_laguerrel, assoc_legendre) (assoc_legendref, assoc_legendrel, beta, betaf, betal, comp_ellint_1) (comp_ellint_1f, comp_ellint_1l, comp_ellint_2, comp_ellint_2f) (comp_ellint_2l, comp_ellint_3, comp_ellint_3f, comp_ellint_3l) (cyl_bessel_i, cyl_bessel_if, cyl_bessel_il, cyl_bessel_j) (cyl_bessel_jf, cyl_bessel_jl, cyl_bessel_k, cyl_bessel_kf) (cyl_bessel_kl, cyl_neumann, cyl_neumannf, cyl_neumannl, ellint_1) (ellint_1f, ellint_1l, ellint_2, ellint_2f, ellint_2l, ellint_3) (ellint_3f, ellint_3l, expint, expintf, expintl, hermite, hermitef) (hermitel, laguerre, laguerref, laguerrel, legendre, legendref) (legendrel, riemann_zeta, riemann_zetaf, riemann_zetal, sph_bessel) (sph_besself, sph_bessell, sph_legendre, sph_legendref, sph_legendrel) (sph_neumann, sph_neumannf, sph_neumannl): Only add using-declarations when the special functions IS is enabled, not for C++17. * testsuite/26_numerics/headers/cmath/functions_global_c++17.cc: Replace with ... * testsuite/26_numerics/headers/cmath/functions_global.cc: New test, without checks for special functions in C++17. * testsuite/26_numerics/headers/cmath/special_functions_global.cc: New test. From-SVN: r269837
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
14608.cc | Loading commit data... | |
19322.cc | Loading commit data... | |
25913.cc | Loading commit data... | |
37582.cc | Loading commit data... | |
48891.cc | Loading commit data... | |
51083.cc | Loading commit data... | |
53503.cc | Loading commit data... | |
60401.cc | Loading commit data... | |
60637.cc | Loading commit data... | |
82644.cc | Loading commit data... | |
c99_classification_macros_c++11.cc | Loading commit data... | |
c99_classification_macros_c++98.cc | Loading commit data... | |
c99_classification_macros_c.cc | Loading commit data... | |
c_math.cc | Loading commit data... | |
c_math_dynamic.cc | Loading commit data... | |
dr2192.cc | Loading commit data... | |
dr2192_neg.cc | Loading commit data... | |
dr550.cc | Loading commit data... | |
fabs_inline.cc | Loading commit data... | |
functions_global.cc | Loading commit data... | |
functions_std.cc | Loading commit data... | |
functions_std_c++17.cc | Loading commit data... | |
hypot.cc | Loading commit data... | |
macros.cc | Loading commit data... | |
overloads.cc | Loading commit data... | |
overloads_c++0x_neg.cc | Loading commit data... | |
powi.cc | Loading commit data... | |
special_functions_global.cc | Loading commit data... | |
types_std_c++0x.cc | Loading commit data... | |
types_std_c++0x_neg.cc | Loading commit data... |