182 lines
4.3 KiB
C
Raw Normal View History

c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
// -*- C++ -*- compatibility header.
// Copyright (C) 2002-2016 Free Software Foundation, Inc.
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
// terms of the GNU General Public License as published by the
// Free Software Foundation; either version 3, or (at your option)
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
// any later version.
// This library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global. 2007-03-04 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global. * configure.host (c_model): Set default to c_global. * configure: Regenerate. * include/Makefile.am (c_compatibility_headers_extra): Make conditional on GLIBCXX_C_HEADERS_COMPATIBILITY. (c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA. (c_compatibility_headers): Make conditional on c/c_std/c_global. * include/Makefile.in: Regenerate. * docs/html/configopts.html: Add c_global information to --enable-cheaders. Eventually, "c_std" should mean "C" includes that are in namespace std, with optional C++ "C" compatibility includes to inject into global scope. And "c_global" should mean "C" includes that are in the global namespace, with C++ includes injecting into namespace std and no C++ "C" compatibility includes. 2007-03-04 Benjamin Kosnik <bkoz@redhat.com> * include/bits/c++config: Add _GLIBCXX_NAMEPACE_C. Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x. Add _GLIBCXX_TR1 as namespace macro. Add namespace associations for std::__cxx200x conditionally. * include/c_compatibility/assert.h: Correct doxygen markup, conditionalize the global injections on _GLIBCXX_NAMESPACE_C. * include/c_compatibility/ctype.h: Same. * include/c_compatibility/errno.h: Same. * include/c_compatibility/float.h: Same. * include/c_compatibility/iso646.h: Same. * include/c_compatibility/limits.h: Same. * include/c_compatibility/locale.h: Same. * include/c_compatibility/math.h: Same. * include/c_compatibility/setjmp.h: Same. * include/c_compatibility/signal.h: Same. * include/c_compatibility/stdarg.h: Same. * include/c_compatibility/stddef.h: Same. * include/c_compatibility/stdio.h: Same. * include/c_compatibility/stdlib.h: Same. * include/c_compatibility/string.h: Same. * include/c_compatibility/time.h: Same. * include/c_compatibility/wchar.h: Same. * include/c_compatibility/wctype.h: Same. * include/c_compatibility/complex.h: Add. * include/c_compatibility/fenv.h: Same. * include/c_compatibility/inttypes.h: Same. * include/c_compatibility/stdbool.h: Same. * include/c_compatibility/stdint.h: Same. * include/c_compatibility/tgmath.h: Same. * include/c_global/cassert: Add, use include_next, use C++0x features if -std=c++0x. * include/c_global/cctype: Same. * include/c_global/cerrno: Same. * include/c_global/cfloat: Same. * include/c_global/ciso646: Same. * include/c_global/climits: Same. * include/c_global/clocale: Same. * include/c_global/cmath: Same. * include/c_global/cmath.tcc: Same. * include/c_global/csetjmp: Same. * include/c_global/csignal: Same. * include/c_global/cstdarg: Same. * include/c_global/cstddef: Same. * include/c_global/cstdio: Same. * include/c_global/cstdlib: Same. * include/c_global/cstring: Same. * include/c_global/ctime: Same. * include/c_global/cwchar: Same. * include/c_global/cwctype: Same. * include/c_global/ccomplex: Add. * include/c_global/cfenv: Add. * include/c_global/cinttypes: Add. * include/c_global/cstdbool: Add. * include/c_global/cstdint: Add. * include/c_global/ctgmath: Add. * include/std/algorithm: Use C++0x features if -std=c++0x. * include/std/bitset: Same. * include/std/complex: Same. * include/std/deque: Same. * include/std/fstream: Same. * include/std/functional: Same. * include/std/iomanip: Same. * include/std/ios: Same. * include/std/iosfwd: Same. * include/std/iostream: Same. * include/std/istream: Same. * include/std/iterator: Same. * include/std/limits: Same. * include/std/list: Same. * include/std/locale: Same. * include/std/map: Same. * include/std/memory: Same. * include/std/numeric: Same. * include/std/ostream: Same. * include/std/queue: Same. * include/std/set: Same. * include/std/sstream: Same. * include/std/stack: Same. * include/std/stdexcept: Same. * include/std/streambuf: Same. * include/std/string: Same. * include/std/utility: Same. * include/std/valarray: Same. * include/std/vector: Same. * include/std/array: Add. * include/std/random: Add. * include/std/regex: Add. * include/std/tuple: Add. * include/std/type_traits: Add. * include/std/unordered_map: Add. * include/std/unordered_set: Add. * include/std/c++0x_warning.h: Add. * include/tr1/array: Switch namespaces based on _GLIBCXX_TR1. * include/tr1/boost_shared_ptr.h: Same. * include/tr1/cctype: Same. * include/tr1/cfenv: Same. * include/tr1/cinttypes: Same. * include/tr1/cmath: Same. * include/tr1/common.h: Same. * include/tr1/complex: Same. * include/tr1/cstdint: Same. * include/tr1/cstdio: Same. * include/tr1/cstdlib: Same. * include/tr1/cwchar: Same. * include/tr1/cwctype: Same. * include/tr1/functional: Same. * include/tr1/functional_hash.h: Same. * include/tr1/functional_iterate.h: Same. * include/tr1/hashtable: Same. * include/tr1/hashtable_policy.h: Same. * include/tr1/math.h: Same. * include/tr1/memory: Same. * include/tr1/random: Same. * include/tr1/random.tcc: Same. * include/tr1/ref_fwd.h: Same. * include/tr1/repeat.h: Same. * include/tr1/stdlib.h: Same. * include/tr1/tuple: Same. * include/tr1/tuple_iterate.h: Same. * include/tr1/type_traits: Same. * include/tr1/type_traits_fwd.h: Same. * include/tr1/unordered_map: Same. * include/tr1/unordered_set: Same. * include/tr1/utility: Same. * include/tr1/ccomplex: Add. * include/tr1/complex.h: Add. * include/tr1/regex: Add. * include/Makefile.am: Add C++0x headers, "C" compatibility headers. * include/Makefile.in: Regenerate. * testsuite/tr1/headers.cc: Add in regex/complex. * testsuite/17_intro/headers/c++200x/all.cc: New. * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same. * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same. * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same. * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same. * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same. * testsuite/20_util/enable_shared_from_this/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/headers/functional/types_std_c++0x.cc: Same. * testsuite/20_util/headers/functional/ using_namespace_std_placeholders.cc: Same. * testsuite/20_util/headers/memory/types_std_c++0x.cc: Same. * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same. * testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same. * testsuite/20_util/shared_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/weak_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/array/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/hash/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same. * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same. * testsuite/23_containers/tuple/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation.cc: Same. * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same. * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same. * testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same. * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same. * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ... * testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same. * testsuite/tr1/8_c_compatibility/cmath/types.cc: Same. * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same. * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same. * testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this. * testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same. From-SVN: r122533
2007-03-04 22:59:49 +00:00
/** @file math.h
* This is a Standard C++ Library header.
*/
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
#if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS
# include_next <math.h>
#else
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global. 2007-03-04 Benjamin Kosnik <bkoz@redhat.com> * acinclude.m4 (GLIBCXX_ENABLE_CHEADERS): Add c_global. * configure.host (c_model): Set default to c_global. * configure: Regenerate. * include/Makefile.am (c_compatibility_headers_extra): Make conditional on GLIBCXX_C_HEADERS_COMPATIBILITY. (c_base_headers_extra): Make conditional on GLIBCXX_C_HEADERS_EXTRA. (c_compatibility_headers): Make conditional on c/c_std/c_global. * include/Makefile.in: Regenerate. * docs/html/configopts.html: Add c_global information to --enable-cheaders. Eventually, "c_std" should mean "C" includes that are in namespace std, with optional C++ "C" compatibility includes to inject into global scope. And "c_global" should mean "C" includes that are in the global namespace, with C++ includes injecting into namespace std and no C++ "C" compatibility includes. 2007-03-04 Benjamin Kosnik <bkoz@redhat.com> * include/bits/c++config: Add _GLIBCXX_NAMEPACE_C. Add _GLIBCXX_NAMESPACE_ASSOCIATION_CXX200x. Add _GLIBCXX_TR1 as namespace macro. Add namespace associations for std::__cxx200x conditionally. * include/c_compatibility/assert.h: Correct doxygen markup, conditionalize the global injections on _GLIBCXX_NAMESPACE_C. * include/c_compatibility/ctype.h: Same. * include/c_compatibility/errno.h: Same. * include/c_compatibility/float.h: Same. * include/c_compatibility/iso646.h: Same. * include/c_compatibility/limits.h: Same. * include/c_compatibility/locale.h: Same. * include/c_compatibility/math.h: Same. * include/c_compatibility/setjmp.h: Same. * include/c_compatibility/signal.h: Same. * include/c_compatibility/stdarg.h: Same. * include/c_compatibility/stddef.h: Same. * include/c_compatibility/stdio.h: Same. * include/c_compatibility/stdlib.h: Same. * include/c_compatibility/string.h: Same. * include/c_compatibility/time.h: Same. * include/c_compatibility/wchar.h: Same. * include/c_compatibility/wctype.h: Same. * include/c_compatibility/complex.h: Add. * include/c_compatibility/fenv.h: Same. * include/c_compatibility/inttypes.h: Same. * include/c_compatibility/stdbool.h: Same. * include/c_compatibility/stdint.h: Same. * include/c_compatibility/tgmath.h: Same. * include/c_global/cassert: Add, use include_next, use C++0x features if -std=c++0x. * include/c_global/cctype: Same. * include/c_global/cerrno: Same. * include/c_global/cfloat: Same. * include/c_global/ciso646: Same. * include/c_global/climits: Same. * include/c_global/clocale: Same. * include/c_global/cmath: Same. * include/c_global/cmath.tcc: Same. * include/c_global/csetjmp: Same. * include/c_global/csignal: Same. * include/c_global/cstdarg: Same. * include/c_global/cstddef: Same. * include/c_global/cstdio: Same. * include/c_global/cstdlib: Same. * include/c_global/cstring: Same. * include/c_global/ctime: Same. * include/c_global/cwchar: Same. * include/c_global/cwctype: Same. * include/c_global/ccomplex: Add. * include/c_global/cfenv: Add. * include/c_global/cinttypes: Add. * include/c_global/cstdbool: Add. * include/c_global/cstdint: Add. * include/c_global/ctgmath: Add. * include/std/algorithm: Use C++0x features if -std=c++0x. * include/std/bitset: Same. * include/std/complex: Same. * include/std/deque: Same. * include/std/fstream: Same. * include/std/functional: Same. * include/std/iomanip: Same. * include/std/ios: Same. * include/std/iosfwd: Same. * include/std/iostream: Same. * include/std/istream: Same. * include/std/iterator: Same. * include/std/limits: Same. * include/std/list: Same. * include/std/locale: Same. * include/std/map: Same. * include/std/memory: Same. * include/std/numeric: Same. * include/std/ostream: Same. * include/std/queue: Same. * include/std/set: Same. * include/std/sstream: Same. * include/std/stack: Same. * include/std/stdexcept: Same. * include/std/streambuf: Same. * include/std/string: Same. * include/std/utility: Same. * include/std/valarray: Same. * include/std/vector: Same. * include/std/array: Add. * include/std/random: Add. * include/std/regex: Add. * include/std/tuple: Add. * include/std/type_traits: Add. * include/std/unordered_map: Add. * include/std/unordered_set: Add. * include/std/c++0x_warning.h: Add. * include/tr1/array: Switch namespaces based on _GLIBCXX_TR1. * include/tr1/boost_shared_ptr.h: Same. * include/tr1/cctype: Same. * include/tr1/cfenv: Same. * include/tr1/cinttypes: Same. * include/tr1/cmath: Same. * include/tr1/common.h: Same. * include/tr1/complex: Same. * include/tr1/cstdint: Same. * include/tr1/cstdio: Same. * include/tr1/cstdlib: Same. * include/tr1/cwchar: Same. * include/tr1/cwctype: Same. * include/tr1/functional: Same. * include/tr1/functional_hash.h: Same. * include/tr1/functional_iterate.h: Same. * include/tr1/hashtable: Same. * include/tr1/hashtable_policy.h: Same. * include/tr1/math.h: Same. * include/tr1/memory: Same. * include/tr1/random: Same. * include/tr1/random.tcc: Same. * include/tr1/ref_fwd.h: Same. * include/tr1/repeat.h: Same. * include/tr1/stdlib.h: Same. * include/tr1/tuple: Same. * include/tr1/tuple_iterate.h: Same. * include/tr1/type_traits: Same. * include/tr1/type_traits_fwd.h: Same. * include/tr1/unordered_map: Same. * include/tr1/unordered_set: Same. * include/tr1/utility: Same. * include/tr1/ccomplex: Add. * include/tr1/complex.h: Add. * include/tr1/regex: Add. * include/Makefile.am: Add C++0x headers, "C" compatibility headers. * include/Makefile.in: Regenerate. * testsuite/tr1/headers.cc: Add in regex/complex. * testsuite/17_intro/headers/c++200x/all.cc: New. * testsuite/17_intro/headers/c++200x/all_multiple_inclusion.cc: Same. * testsuite/17_intro/using_namespace_std_tr1_neg.cc: Same. * testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc: Same. * testsuite/18_support/headers/cstdint/std_c++0x_neg.cc: Same. * testsuite/18_support/headers/cstdint/types_std_c++0x.cc: Same. * testsuite/20_util/enable_shared_from_this/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/headers/functional/types_std_c++0x.cc: Same. * testsuite/20_util/headers/functional/ using_namespace_std_placeholders.cc: Same. * testsuite/20_util/headers/memory/types_std_c++0x.cc: Same. * testsuite/20_util/headers/type_traits/std_c++0x_neg.cc: Same. * testsuite/20_util/headers/type_traits/types_std_c++0x.cc: Same. * testsuite/20_util/shared_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/20_util/weak_ptr/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/array/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/hash/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/headers/array/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/tuple/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/tuple/types_std_c++0x.cc: Same. * testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc: Same. * testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc: Same. * testsuite/23_containers/tuple/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_map/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multimap/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_multiset/requirements/ explicit_instantiation.cc: Same. * testsuite/23_containers/unordered_set/requirements/ explicit_instantiation.cc: Same. * testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/cfenv/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Same. * testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/random/std_c++0x_neg.cc: Same. * testsuite/26_numerics/headers/random/types_std_c++0x.cc: Same. * testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc: Same. * testsuite/27_io/headers/cinttypes/types_std_c++0x.cc: Same. * testsuite/28_regex/headers/regex/std_c++0x_neg.cc: Same. * testsuite/tr1/8_c_compatibility/cfenv/types.cc: Rename ... * testsuite/tr1/8_c_compatibility/cinttypes/types.cc: Same. * testsuite/tr1/8_c_compatibility/cmath/types.cc: Same. * testsuite/tr1/8_c_compatibility/cstdint/types.cc: Same. * testsuite/tr1/8_c_compatibility/cstdlib/types.cc: Same. * testsuite/tr1/8_c_compatibility/cfenv/types_std_tr1.cc: ...to this. * testsuite/tr1/8_c_compatibility/cinttypes/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cmath/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cstdint/types_std_tr1.cc: Same. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Same. From-SVN: r122533
2007-03-04 22:59:49 +00:00
#ifndef _GLIBCXX_MATH_H
#define _GLIBCXX_MATH_H 1
# include <cmath>
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
using std::abs;
using std::acos;
using std::asin;
using std::atan;
using std::atan2;
using std::cos;
using std::sin;
using std::tan;
using std::cosh;
using std::sinh;
using std::tanh;
using std::exp;
using std::frexp;
using std::ldexp;
using std::log;
using std::log10;
using std::modf;
using std::pow;
using std::sqrt;
using std::ceil;
using std::fabs;
using std::floor;
using std::fmod;
More fine-grained autoconf checks for C99 library 2015-11-13 Jennifer Yao <jenny.hyphen.fa@gmail.com> Jonathan Wakely <jwakely@redhat.com> PR libstdc++/58393 PR libstdc++/61580 * acinclude.m4 (GLIBCXX_ENABLE_C99): Perform tests twice, with -std=c++11 as well as -std=c++98, and define separate macros for each. Cache the results of checking for complex math and wide character functions. Reformat for readability. * config.h.in: Regenerate. * include/bits/c++config: Define _GLIBCXX_USE_C99_XXX macros to either _GLIBCXX98_USE_C99_XXX or _GLIBCXX11_USE_C99_XXX according to language standard in use. * config/locale/dragonfly/c_locale.h (std::__convert_from_v): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * config/locale/generic/c_locale.h (std::__convert_from_v): Likewise. * config/locale/gnu/c_locale.h (std::__convert_from_v): Likewise. * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR. * configure: Regenerate. * include/bits/basic_string.h: Make numeric conversion functions depend on _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, or _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. * include/ext/vstring.h: Likewise. * include/bits/locale_facets.tcc (std::num_put::_M_insert_float): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/bits/locale_facets_nonio.tcc (std::money_put::do_put): Likewise. * include/c_compatibility/math.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. * include/c_compatibility/wchar.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/c_global/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/c_global/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/c_global/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/c_std/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/c_std/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/c_std/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/tr1/cstdio: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * include/tr1/cstdlib: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * include/tr1/cwchar: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * include/tr1/stdlib.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * src/c++98/locale_facets.cc (std::__num_base::_S_format_float): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * testsuite/18_support/exception_ptr/60612-terminate.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/stod.cc (test01): Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stof.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoi.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stol.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stold.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoll.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoul.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ stoull.cc: Likewise. * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/ to_wstring.cc: Likewise. * testsuite/26_numerics/headers/cstdlib/13943.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc: Likewise. * testsuite/lib/libstdc++.exp (check_v3_target_string_conversions): Change preprocessor #if conditional so that it uses _GLIBCXX_USE_C99_STDIO, _GLIBCXX_USE_C99_STDLIB, and _GLIBCXX_USE_C99_WCHAR, instead of _GLIBCXX_USE_C99. * testsuite/tr1/8_c_compatibility/cmath/templates.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_MATH. * testsuite/tr1/8_c_compatibility/cstdio/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. * testsuite/tr1/8_c_compatibility/cstdlib/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDLIB. * testsuite/tr1/8_c_compatibility/cstdlib/types_std_tr1.cc: Likewise. * testsuite/tr1/8_c_compatibility/cwchar/functions.cc: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_WCHAR. * testsuite/util/testsuite_fs.h: Replace _GLIBCXX_USE_C99 with _GLIBCXX_USE_C99_STDIO. Co-Authored-By: Jonathan Wakely <jwakely@redhat.com> From-SVN: r230324
2015-11-13 14:51:25 +00:00
#if _GLIBCXX_USE_C99_MATH
c_compatibility: New. 2002-06-21 Benjamin Kosnik <bkoz@redhat.com> * include/c_compatibility: New. * include/c_compatibility/assert.h: New. * include/c_compatibility/ctype.h: New. * include/c_compatibility/errno.h: New. * include/c_compatibility/float.h: New. * include/c_compatibility/iso646.h: New. * include/c_compatibility/limits.h: New. * include/c_compatibility/locale.h: New. * include/c_compatibility/math.h: New. * include/c_compatibility/setjmp.h: New. * include/c_compatibility/signal.h: New. * include/c_compatibility/stdarg.h: New. * include/c_compatibility/stddef.h: New. * include/c_compatibility/stdio.h: New. * include/c_compatibility/stdlib.h: New. * include/c_compatibility/string.h: New. * include/c_compatibility/time.h: New. * include/c_compatibility/wchar.h: New. * include/c_compatibility/wctype.h: New. * include/c/std_cerrno.h: Get out of the way... define errno. * include/c/std_cmath.h: Add abs, modf overloads. Undefine C99 isms. Still not sure how to deal with this sanely. * include/c/std_csetjmp.h: Tweak. * include/c/std_cwchar.h: Include cstddef for size_t. * include/c_std/std_cmath.h: Remove extra function. Pendantic std usage in testsuites. * testsuite/17_intro/header_cstdlib.cc (test01): Qualify ldiv_t with std. * testsuite/17_intro/header_cwchar.cc: Tweak. * testsuite/22_locale/codecvt_members_char_char.cc (test03): Use std::setlocale. * testsuite/22_locale/ctype_to_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_to_char.cc (test05): Same. * testsuite/22_locale/ctype_is_wchar_t.cc (test05): Same. * testsuite/22_locale/ctype_is_char.cc (test05): Same. * testsuite/22_locale/codecvt_members_wchar_t_char.cc (test03): Same. * testsuite/22_locale/time_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/time_get_members_char.cc (test08): Same. * testsuite/22_locale/time_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/time_put_members_char.cc (test04): Same. * testsuite/22_locale/num_put_members_wchar_t.cc (test04): Same. * testsuite/22_locale/num_put_members_char.cc (test04): Same. * testsuite/22_locale/numpunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/numpunct_members_char.cc (test03): Same. * testsuite/22_locale/num_get_members_wchar_t.cc: Same. * testsuite/22_locale/num_get_members_char.cc: Same. * testsuite/22_locale/money_put_members_wchar_t.cc (test07): Same. * testsuite/22_locale/money_put_members_char.cc (test07): Same. * testsuite/22_locale/moneypunct_members_wchar_t.cc (test03): Same. * testsuite/22_locale/moneypunct_members_char.cc (test03): Same. * testsuite/22_locale/money_get_members_wchar_t.cc (test08): Same. * testsuite/22_locale/money_get_members_char.cc (test08): Same. * testsuite/22_locale/messages_members_char.cc (test03): Same. * testsuite/22_locale/collate_members_wchar_t.cc (test04): Same. * testsuite/22_locale/collate_members_char.cc (test04): Same. * testsuite/26_numerics/fabs_inline.cc: Use std::printf. * testsuite/27_io/istream_seeks.cc (test02): Qualify abort. * testsuite/27_io/istream_extractor_arith.cc (test11): Qualify strtol. From-SVN: r54891
2002-06-21 20:21:03 +00:00
using std::fpclassify;
using std::isfinite;
using std::isinf;
using std::isnan;
using std::isnormal;
using std::signbit;
using std::isgreater;
using std::isgreaterequal;
using std::isless;
using std::islessequal;
using std::islessgreater;
using std::isunordered;
#endif
#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99_MATH_TR1)
using std::acosh;
using std::asinh;
using std::atanh;
using std::cbrt;
using std::copysign;
using std::erf;
using std::erfc;
using std::exp2;
using std::expm1;
using std::fdim;
using std::fma;
using std::fmax;
using std::fmin;
using std::hypot;
using std::ilogb;
using std::lgamma;
using std::llrint;
using std::llround;
using std::log1p;
using std::log2;
using std::logb;
using std::lrint;
using std::lround;
using std::nearbyint;
using std::nextafter;
using std::nexttoward;
using std::remainder;
using std::remquo;
using std::rint;
using std::round;
using std::scalbln;
using std::scalbn;
using std::tgamma;
using std::trunc;
#endif // C++11 && _GLIBCXX_USE_C99_MATH_TR1
TR29124 C++ Special Math - <math.h> pulls funcs into global namespace. 2016-01-22 Edward Smith-Rowland <3dw4rd@verizon.net> TR29124 C++ Special Math - <math.h> pulls funcs into global namespace. * include/c_compatibility/math.h: Import the TR29124 functions into the global namespace. * testsuite/special_functions/01_assoc_laguerre/compile_2.cc: Remove xfail and make compile-only. * testsuite/special_functions/02_assoc_legendre/compile_2.cc: Ditto. * testsuite/special_functions/03_beta/compile_2.cc: Ditto. * testsuite/special_functions/04_comp_ellint_1/compile_2.cc: Ditto. * testsuite/special_functions/05_comp_ellint_2/compile_2.cc: Ditto. * testsuite/special_functions/06_comp_ellint_3/compile_2.cc: Ditto. * testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: Ditto. * testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: Ditto. * testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: Ditto. * testsuite/special_functions/10_cyl_neumann/compile_2.cc: Ditto. * testsuite/special_functions/11_ellint_1/compile_2.cc: Ditto. * testsuite/special_functions/12_ellint_2/compile_2.cc: Ditto. * testsuite/special_functions/13_ellint_3/compile_2.cc: Ditto. * testsuite/special_functions/14_expint/compile_2.cc: Ditto. * testsuite/special_functions/15_hermite/compile_2.cc: Ditto. * testsuite/special_functions/16_laguerre/compile_2.cc: Ditto. * testsuite/special_functions/17_legendre/compile_2.cc: Ditto. * testsuite/special_functions/18_riemann_zeta/compile_2.cc: Ditto. * testsuite/special_functions/19_sph_bessel/compile_2.cc: Ditto. * testsuite/special_functions/20_sph_legendre/compile_2.cc: Ditto. * testsuite/special_functions/21_sph_neumann/compile_2.cc: Ditto. From-SVN: r232755
2016-01-22 23:17:10 +00:00
#if __STDCPP_WANT_MATH_SPEC_FUNCS__ == 1
using std::assoc_laguerref;
using std::assoc_laguerrel;
using std::assoc_laguerre;
using std::assoc_legendref;
using std::assoc_legendrel;
using std::assoc_legendre;
using std::betaf;
using std::betal;
using std::beta;
using std::comp_ellint_1f;
using std::comp_ellint_1l;
using std::comp_ellint_1;
using std::comp_ellint_2f;
using std::comp_ellint_2l;
using std::comp_ellint_2;
using std::comp_ellint_3f;
using std::comp_ellint_3l;
using std::comp_ellint_3;
using std::cyl_bessel_if;
using std::cyl_bessel_il;
using std::cyl_bessel_i;
using std::cyl_bessel_jf;
using std::cyl_bessel_jl;
using std::cyl_bessel_j;
using std::cyl_bessel_kf;
using std::cyl_bessel_kl;
using std::cyl_bessel_k;
using std::cyl_neumannf;
using std::cyl_neumannl;
using std::cyl_neumann;
using std::ellint_1f;
using std::ellint_1l;
using std::ellint_1;
using std::ellint_2f;
using std::ellint_2l;
using std::ellint_2;
using std::ellint_3f;
using std::ellint_3l;
using std::ellint_3;
using std::expintf;
using std::expintl;
using std::expint;
using std::hermitef;
using std::hermitel;
using std::hermite;
using std::laguerref;
using std::laguerrel;
using std::laguerre;
using std::legendref;
using std::legendrel;
using std::legendre;
using std::riemann_zetaf;
using std::riemann_zetal;
using std::riemann_zeta;
using std::sph_besself;
using std::sph_bessell;
using std::sph_bessel;
using std::sph_legendref;
using std::sph_legendrel;
using std::sph_legendre;
using std::sph_neumannf;
using std::sph_neumannl;
using std::sph_neumann;
#endif // __STDCPP_WANT_MATH_SPEC_FUNCS__
#endif // _GLIBCXX_MATH_H
#endif // __cplusplus