Richard Guenther
ae63a1cc46
re PR libstdc++/11706 (std::pow(T, int) implementation pessimizes code)
...
2005-02-13 Richard Guenther <rguenth@gcc.gnu.org>
Paolo Carlini <pcarlini@suse.de>
PR libstdc++/11706
* include/c_std/std_cmath.h (pow): Use __builtin_powi[lf]
for integer overloads.
* testsuite/26_numerics/cmath/powi.cc: New.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r94982
2005-02-13 10:25:02 +00:00
Paolo Carlini
4d73fac958
cpp_type_traits.h: Rename _M_type fields to __value...
...
2005-02-01 Paolo Carlini <pcarlini@suse.de>
* include/bits/cpp_type_traits.h: Rename _M_type fields to
__value, except for __enable_if, _M_type -> __type, consistently
with the other traits.
* include/bits/stl_algobase.h: Tweak consistently.
* include/bits/stl_tree.h: Likewise.
* include/bits/valarray_array.h: Likewise.
* include/c_std/std_cmath.h: Likewise.
* include/debug/safe_iterator.h: Likewise.
* include/std/std_complex.h: Likewise.
From-SVN: r94538
2005-02-01 13:30:34 +00:00
Lorenz Minder
3a2794abdb
re PR libstdc++/19322 (std::isnan<>() is broken on FreeBSD)
...
2005-01-16 Lorenz Minder <lminder@gmx.net>
Paolo Carlini <pcarlini@suse.de>
PR libstdc++/19322
* include/c_std/std_cmath.h: Define the C99 classification facilities
directly inside namespace std:.
* testsuite/26_numerics/cmath/19322.cc: New.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r93723
2005-01-16 09:59:06 +00:00
Mark Mitchell
517da0ce8a
acconfig.h: Add _GLIBCXX_USE_C99_MATH.
...
* acconfig.h: Add _GLIBCXX_USE_C99_MATH.
* acinclude.m4 (GLIBCXX_ENABLE_C99): Define GLIBCXX_USE_C99_MATH.
* configure.ac: Define HAVE_S_ISREG and HAVE_S_IFREG when
targeting newlib.
* aclocal.m4: Regenerated.
* config.h.in: Likewise.
* configure: Likewise.
* Makefile.in: Likewise.
* include/Makefile.in: Likewise.
* libmath/Makefile.in: Likewise.
* libsupc++/Makefile.in: Likewise.
* testsuite/Makefile.in: Likewise.
* src/Makefile.in: Likewise.
* po/Makefile.in: Likewise.
* include/c_std/std_cmath.h (_GLIBCXX_USE_C99): Replace with ...
(_GLIBCXX_USE_C99_MATH): ... this.
* testsuite/27_io/basic_filebuf/sgetn/char/1-in.cc: XFAIL for
arm-none-elf.
* testsuite/27_io/basic_filebuf/sgetn/char/1-io.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/2-in.cc: Likewise.
* testsuite/27_io/basic_filebuf/sgetn/char/2-io.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/char/6476-2.cc: Likewise.
* testsuite/27_io/objects/char/9.cc: Likewise.
* testsuite/ext/stdio_filebuf/char/10063-2.cc: Likewise.
From-SVN: r75209
2003-12-29 19:26:16 +00:00
Bernardo Innocenti
7dd8177fc7
cmath.tcc, [...]: Remove trailing whitespace.
...
* include/c_std/cmath.tcc, include/c_std/std_cassert.h,
include/c_std/std_cctype.h, include/c_std/std_cmath.h,
include/c_std/std_cstddef.h, include/c_std/std_cstdio.h,
include/c_std/std_cstdlib.h, include/c_std/std_cstring.h,
include/c_std/std_cwchar.h, include/c_std/std_cwctype.h:
Remove trailing whitespace.
From-SVN: r74458
2003-12-09 04:44:35 +01:00
Roger Sayle
c85dfef7a0
std_cmath.h: Don't import C99's float transcendentals into the __gnu_cxx::__c99_binding...
...
* include/c_std/std_cmath.h: Don't import C99's float transcendentals
into the __gnu_cxx::__c99_binding namespace.
(acos, asin, atan, atan2, ceil, cosh, exp, floor, fmod, frexp,
ldexp, log, log10, modf, pow, sinh, tan, tanh): Implement using
GCC's math builtins, i.e. __builtin_foo.
* libmath/stubs.c (acosf, acosl, asinf, asinl, atanf, atanl,
ceilf, ceill, floorf, floorl, fmodf, fmodl, frexpf, frexpl,
ldexpf, ldexpl, modff, modfl): Provide stub implementations.
From-SVN: r73629
2003-11-15 14:26:47 +00:00
Benjamin Kosnik
5f697f7aae
c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
...
2003-07-30 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config (_GLIBCXX_FULLY_COMPLIANT_HEADERS): Remove.
(_GLIBCXX_NO_TEMPLATE_EXPORT): To _GLIBCXX_EXPORT_TEMPLATE.
(_GLIBCXX_AT_AT): Remove.
(__USE_MALLOC): Remove.
* include/std/std_fstream.h: Modify.
* include/bits/basic_ios.h: Same.
* include/bits/valarray_array.h: Same.
* include/c_std/std_cmath.h: Same.
* include/c_std/cmath.tcc: Same.
* include/std/std_vector.h: Same.
* include/std/std_string.h: Same.
* include/std/std_stack.h: Same.
* include/std/std_queue.h: Same.
* include/std/std_list.h: Same.
* include/std/std_deque.h: Same.
* include/std/std_streambuf.h: Same.
* include/std/std_sstream.h: Same.
* include/std/std_ostream.h: Same.
* include/std/std_istream.h: Same.
* include/bits/valarray_array.tcc: Same, format.
* include/c/std_cctype.h: Fix include guards.
* include/c/std_cerrno.h: Same.
* include/c/std_cfloat.h: Same.
* include/c/std_climits.h: Same.
* include/c/std_clocale.h: Same.
* include/c/std_cmath.h: Same.
* include/c/std_csetjmp.h: Same.
* include/c/std_csignal.h: Same.
* include/c/std_cstdarg.h: Same.
* include/c/std_cstddef.h: Same.
* include/c/std_cstdio.h: Same.
* include/c/std_cstdlib.h: Same.
* include/c/std_cstring.h: Same.
* include/c/std_ctime.h: Same.
* include/c/std_cwchar.h: Same.
* include/c/std_cwctype.h: Same.
* include/c_std/cmath.tcc: Same.
* include/c_std/std_cmath.h: Same.
From-SVN: r69961
2003-07-30 16:51:51 +00:00
Steve Ellcey
1143680eca
cmath.tcc: Use _GLIBCXX_ prefix on file guard.
...
* include/c_std/cmath.tcc: Use _GLIBCXX_ prefix on file guard.
* include/c_std/std_cctype.h: Ditto.
* include/c_std/std_cerrno.h: Ditto.
* include/c_std/std_cfloat.h: Ditto.
* include/c_std/std_climits.h: Ditto.
* include/c_std/std_clocale.h: Ditto.
* include/c_std/std_cmath.h: Ditto.
* include/c_std/std_csetjmp.h: Ditto.
* include/c_std/std_csignal.h: Ditto.
* include/c_std/std_cstdarg.h: Ditto.
* include/c_std/std_cstddef.h: Ditto.
* include/c_std/std_cstdio.h: Ditto.
* include/c_std/std_cstdlib.h: Ditto.
* include/c_std/std_cstring.h: Ditto.
* include/c_std/std_ctime.h: Ditto.
* include/c_std/std_cwchar.h: Ditto.
* include/c_std/std_cwctype.h: Ditto.
* include/std/std_algorithm.h: Ditto.
* include/std/std_bitset.h: Ditto.
* include/std/std_complex.h: Ditto.
* include/std/std_deque.h: Ditto.
* include/std/std_fstream.h: Ditto.
* include/std/std_functional.h: Ditto.
* include/std/std_iomanip.h: Ditto.
* include/std/std_ios.h: Ditto.
* include/std/std_iosfwd.h: Ditto.
* include/std/std_iostream.h: Ditto.
* include/std/std_istream.h: Ditto.
* include/std/std_iterator.h: Ditto.
* include/std/std_limits.h: Ditto.
* include/std/std_list.h: Ditto.
* include/std/std_locale.h: Ditto.
* include/std/std_map.h: Ditto.
* include/std/std_memory.h: Ditto.
* include/std/std_numeric.h: Ditto.
* include/std/std_ostream.h: Ditto.
* include/std/std_queue.h: Ditto.
* include/std/std_set.h: Ditto.
* include/std/std_sstream.h: Ditto.
* include/std/std_stack.h: Ditto.
* include/std/std_stdexcept.h: Ditto.
* include/std/std_streambuf.h: Ditto.
* include/std/std_string.h: Ditto.
* include/std/std_utility.h: Ditto.
* include/std/std_valarray.h: Ditto.
* include/std/std_vector.h: Ditto.
From-SVN: r69705
2003-07-23 15:28:44 +00:00
Benjamin Kosnik
3d7c150e3f
Move from CPP to CXX.
...
2003-07-04 Benjamin Kosnik <bkoz@redhat.com>
Move from CPP to CXX.
* include/bits/c++config: Move to GLIBCXX from GLIBCPP.
* testsuite/Makefile.am: Same.
* testsuite/Makefile.in: Regenerate.
* po/Makefile.am: Same.
* po/Makefile.in: Regenerate.
* libsupc++/Makefile.am: Same.
* libsupc++/Makefile.in: Regenerate.
* libmath/Makefile.am: Same.
* libmath/Makefile.in: Regenerate.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.
* src/Makefile.am: Same.
* src/Makefile.in: Regenerate.
* acconfig.h: Same.
* configure.host: Same.
* configure.in: Same.
* configure: Regenerate.
* acinclude.m4: Same.
* aclocal.m4: Same.
* src: Change all files in this directory.
* testsuite: Same.
* include: Same, standardize include guards.
* config: Same.
* libsupc++: Same.
From-SVN: r68958
2003-07-05 04:05:45 +00:00
Gabriel Dos Reis
cdc958d823
re PR libstdc++/3181 (Unable to use sqrt,cos,sin,... with int argument.)
...
PR libstdc++/3181
* include/c_std/std_cmath.h: #include <bits/cpp_type_traits.h>
(acos): Handle integer argument.
(asin): Likewise.
(atan): Likewise.
(atan2): Likewise.
(ceil): Likewise.
(cos): Likewise.
(cosh): Likewise.
(exp): Likewise.
(fabs): Likewise.
(floor): Likewise.
(frexp): Likewise.
(ldexp): Likewise.
(log): Likewise.
(log10): Likewise.
(sin): Likewise.
(sinh): Likewise.
(sqrt): Likewise.
(tan): Likewise.
(tanh): Likewise.
* include/bits/cpp_type_traits.h (__are_same<>): New traits.
(__enable_if): Likewise.
* testsuite/26_numerics/cmath/overloads.C: New test.
From-SVN: r66681
2003-05-11 09:07:17 +00:00
Loren J. Rittle
c04ec67ecd
std_cmath.h (C99 FP capture): Only undefine said C99 FP macros, if actually captured.
...
* include/c_std/std_cmath.h (C99 FP capture): Only undefine said
C99 FP macros, if actually captured.
From-SVN: r65777
2003-04-18 06:58:42 +00:00
Loren J. Rittle
b39d035918
std_cmath.h (__gnu_cx::__c99_binding): New namespace.
...
libstdc++/7680
* include/c_std/std_cmath.h (__gnu_cx::__c99_binding): New namespace.
Populate it with multiple legal ways to obtain the C99 float
transcendentals. Use them instead of direct global reference.
(C99 FP capture): Guard usage with _GLIBCPP_USE_C99_FP_MACROS_DYNAMIC.
* docs/html/17_intro/porting.texi
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
(_GLIBCPP_USE_C99_FP_MACROS_DYNAMIC): New macro.
* config/os/bsd/freebsd/os_defines.h
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_CHECK): New macro.
(_GLIBCPP_USE_C99_FLOAT_TRANSCENDENTALS_DYNAMIC): New macro.
* testsuite/26_numerics/c_math_dynamic.cc: New file.
From-SVN: r65624
2003-04-15 07:27:55 +00:00
Benjamin Kosnik
8081da07e5
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
Roger Sayle
d52e4867ca
re PR c++/5998 (regression, all builtins disabled)
...
* include/c_std/std_cmath.h: To prevent problems overloading
g++ builtins, use the double variants from the global namespace
before defining float and long double variants in std::.
PR c++/5998:
* decl.c (cxx_init_decl_processing): Re-enable built-in functions
in the g++ front-end.
(duplicate_decl): Allow redefinition of anticipated built-ins.
Fix inlining problem by over-writing the old DECL_RTL.
(lookup_namespace_name): Fail to find an identifier in the
specified namespace if its still anticipated.
(builtin_function_1): New function split out from builtin_function
to create a builtin in the current namespace with given context.
(builtin_function): Call builtin_function_1 to define the
appropriate builtins in both the std and global namespaces.
(select_decl): Don't test for anticipated decls here.
(unqualified_namespace_lookup): Instead ignore them whilst
searching through scopes and namespaces.
* decl2.c (do_nonmember_using_decl): If a using declaration
specifies an anticipated built-in function, mark it as no longer
anticipated in that scope.
(ambiguous_decl): Avoid resolving to an anticipated decl.
* lex.c (do_scoped_id): Fail to find an identifier in the global
namespace if its still anticipated.
* g++.old-deja/g++.other/builtins5.C: New test.
* g++.old-deja/g++.other/builtins6.C: New test.
* g++.old-deja/g++.other/builtins7.C: New test.
* g++.old-deja/g++.other/builtins8.C: New test.
* g++.old-deja/g++.other/builtins9.C: New test.
From-SVN: r51568
2002-03-29 20:41:53 +00:00
Benjamin Kosnik
3eb35fcfd4
c/: Guard with _CPP_.
...
2002-03-26 Benjamin Kosnik <bkoz@redhat.com>
* include/c/: Guard with _CPP_.
* include/c_std/: Same.
* include/Makefile.am: Fixup install, link routines for null
c_base_headers_extra scenarios.
* include/Makefile.in: Regerate.
From-SVN: r51431
2002-03-27 04:29:32 +00:00
Benjamin Kosnik
34ff0b99c1
acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for signbit and __signbit directly.
...
2002-03-22 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4 (GLIBCPP_CHECK_COMPLEX_MATH_SUPP): Just test for
signbit and __signbit directly.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.h.in: Regenerate.
* libmath/Makefile.am: Simplify.
* libmath/Makefile.in: Regenerate.
* include/c_std/std_cmath.h: Update paths for include of cmath.tcc.
* include/Makefile.am: Clean up handling of extra "C" header files.
Add hooks for "C" compatibility headers.
* include/Makefile.in: Regenerate.
* include/c/*: Formatting tweaks, cleanups.
* include/c_std/*: Same.
From-SVN: r51220
2002-03-23 03:19:03 +00:00
Phil Edwards
ffe94f8380
Makefile.am (doxygen, [...]): Tweak targets.
...
2002-01-28 Phil Edwards <pme@gcc.gnu.org>
* Makefile.am (doxygen, doxygen-maint, doxygen-man): Tweak targets.
* Makefile.in: Regenerate.
* docs/doxygen/run_doxygen: Update, mostly for man pages.
* docs/doxygen/Intro.3: Update.
* docs/doxygen/TODO: Update.
* docs/doxygen/doxygroups.cc: Add namespace hook for __gnu_cxx.
* docs/doxygen/mainpage.doxy: Update.
* docs/doxygen/user.cfg.in: Update for header rename. Also
regenerate comments and variables with 1.2.12.
* docs/doxygen/maint.cfg.in: Remove file.
* include/bits/stl_relops.h: Doxygenate.
* include/bits/stl_tempbuf.h (std::_Temporary_buffer): Likewise.
* include/c_std/std_cassert.h, include/c_std/std_cctype.h,
include/c_std/std_cerrno.h, include/c_std/std_cfloat.h,
include/c_std/std_ciso646.h, include/c_std/std_climits.h,
include/c_std/std_clocale.h, include/c_std/std_cmath.h,
include/c_std/std_csetjmp.h, include/c_std/std_csignal.h,
include/c_std/std_cstdarg.h, include/c_std/std_cstddef.h,
include/c_std/std_cstdio.h, include/c_std/std_cstdlib.h,
include/c_std/std_cstring.h, include/c_std/std_ctime.h,
include/c_std/std_cwchar.h, include/c_std/std_cwctype.h,
include/ext/algorithm, include/ext/functional, include/ext/hash_map,
include/ext/hash_set, include/ext/iterator, include/ext/memory,
include/ext/numeric, include/ext/rb_tree, include/ext/rope,
include/ext/ropeimpl.h, include/ext/slist, include/ext/stl_hash_fun.h,
include/ext/stl_hashtable.h, include/ext/stl_rope.h,
include/std/std_algorithm.h, include/std/std_bitset.h,
include/std/std_complex.h, include/std/std_deque.h,
include/std/std_fstream.h, include/std/std_functional.h,
include/std/std_iomanip.h, include/std/std_ios.h,
include/std/std_iosfwd.h, include/std/std_iostream.h,
include/std/std_istream.h, include/std/std_iterator.h,
include/std/std_limits.h, include/std/std_list.h,
include/std/std_locale.h, include/std/std_map.h,
include/std/std_memory.h, include/std/std_numeric.h,
include/std/std_ostream.h, include/std/std_queue.h,
include/std/std_set.h, include/std/std_sstream.h,
include/std/std_stack.h, include/std/std_stdexcept.h,
include/std/std_streambuf.h, include/std/std_string.h,
include/std/std_utility.h, include/std/std_valarray.h,
include/std/std_vector.h: Add/correct @file doxygen hook.
* include/ext/memory: Doxygenate most of rest of file.
* libsupc++/exception: Doxygen output formatting.
* libsupc++/new: Say which header it is.
* testsuite/lib/libstdc++-v3-dg.exp: Fix spacing.
* docs/html/19_diagnostics/howto.html: Describe concept-checks switch.
* docs/html/23_containers/howto.html: Describe O(n) list::size().
* docs/html/27_io/howto.html: Also link to Langer and Kreft text.
From-SVN: r49300
2002-01-28 22:13:12 +00:00
Benjamin Kosnik
c55357682b
Makefile.am (c_base_headers_rename): New.
...
2002-01-16 Benjamin Kosnik <bkoz@redhat.com>
* include/Makefile.am (c_base_headers_rename): New.
(c_base_headers_extra): New.
(stamp-c_base): Modify.
(install-data-local): Use both.
* include/Makefile.in: Regenerate.
* include/c/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
cstdio ctime cwctype]: Move to..
* include/c/std_*: Here.
* include/c_std/[cctype ciso646 cmath cstdarg cstdlib cerrno climits
csetjmp cstddef cstring cwchar cassert cfloat clocale csignal
cstdio ctime cwctype]: Move to..
* include/c_std/std_*: Here.
Alexandre Oliva <aoliva@redhat.com>
* include/Makefile.am (.PRECIOUS): Add rule.
* include/Makefile.in: Regenerate.
From-SVN: r48940
2002-01-17 07:18:33 +00:00