2005-05-30 Paolo Carlini <pcarlini@suse.de>
* include/std/std_complex.h (log(const complex<_Tp>&)): When
_GLIBCXX_USE_C99_COMPLEX, forward to __builtin_clog/clogf/clogl.
From-SVN: r100376
2005-05-28 Paolo Carlini <pcarlini@suse.de>
Revert:
2005-05-18 Paolo Carlini <pcarlini@suse.de>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/19495
* include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
size_type instead of char and rename to _Raw_alloc.
* include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
Use the above.
* src/bitmap_allocator.cc: Add instantiation for size_type.
* src/mt_allocator.cc: Likewise.
* src/pool_allocator.cc: Likewise.
* include/ext/array_allocator.h: Tweak slightly, avoid assuming
the existence of an _Array::begin() and size() members.
* testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
of size_type, instead of char, thus avoiding problems with
rebinds, not treated correctly by array_allocator.
From-SVN: r100304
2005-05-27 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/c++config: Remove extern template use when in debug
mode, disable for non-weak systems.
From-SVN: r100261
2005-05-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/13943
* include/c_std/std_cstdlib.h: Do not open code llabs and lldiv,
available when _GLIBCXX_USE_C99 is defined.
* testsuite/26_numerics/cstdlib/13943.cc: New.
* acinclude.m4 ([GLIBCXX_ENABLE_C99]): For completeness, check
also strtoll and strtoull for ac_c99_stdlib.
* configure: Regenerate.
From-SVN: r100205
2005-05-24 Jonathan Wakely <redi@gcc.gnu.org>
* include/debug/string (class basic_string): Add missing
default template arguments; provide typedefs for char
and wchar_t.
(operator[]): Allow s[s.size()] in debug mode, but not
pedantic mode.
2005-05-24 Paolo Carlini <pcarlini@suse.de>
Port from libstdcxx_so_7-branch:
2005-04-25 Christopher Jefferson <chris@bubblescope.net>
* include/bits/stl_algo.h (count): Correct concept checks.
(search_n) : Likewise.
* testsuite/25_algorithms/search_n/check_type.cc: New.
* testsuite/testsuite_iterators.h
(random_access_iterator_wrapper::operator+): Move out of
class to external function, and add symmetric version.
2005-03-14 Christopher Jefferson <chris@bubblescope.net>
* testsuite/testsuite_iterators.h (WritableObject::WritableObject):
Add const.
2005-02-01 Christopher Jefferson <chris@bubblescope.net>
* testsuite/testsuite_iterators.h (random_access_iterator_wrapper::
operator--): Fix typo.
(OutputContainer::OutputContainer): Correct zeroing array.
(WritableObject::operator==): Fix typo.
(WritableObject::operator=): make operator= templated
to allow differing types to be assigned.
(WritableObject::operator++): Fix checking if iterator is
written to multiple times.
(random_access_iterator_wrapper::operator+): Add const.
(random_access_iterator_wrapper::operator-): Likewise.
(random_access_iterator_wrapper::operator[]): Add dereference.
From-SVN: r100101
2005-05-20 Paolo Carlini <pcarlini@suse.de>
* include/bits/stl_algo.h (__rotate<_RandomAccessIterator>):
Don't qualify __tmp as const, _ValueType is not necessarily
Assignable.
* include/bits/stl_algobase.h (swap, __iter_swap<false>):
Likewise, as an harmless extension.
From-SVN: r100011
2005-05-18 Paolo Carlini <pcarlini@suse.de>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/19495
* include/bits/basic_string.h (_Raw_bytes_alloc): Rebind to
size_type instead of char and rename to _Raw_alloc.
* include/bits/basic_string.tcc (_Rep::_M_destroy, _Rep::_S_create):
Use the above.
* src/bitmap_allocator.cc: Add instantiation for size_type.
* src/mt_allocator.cc: Likewise.
* src/pool_allocator.cc: Likewise.
* include/ext/array_allocator.h: Tweak slightly, avoid assuming
the existence of an _Array::begin() and size() members.
* testsuite/ext/array_allocator/2.cc: Tweak to use an allocator
of size_type, instead of char, thus avoiding problems with
rebinds, not treated correctly by array_allocator.
Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r99933
DR 434. bitset::to_string() hard to use [Ready]
* include/debug/bitset (to_string): Add three overloads, taking
fewer template arguments.
From-SVN: r99433
2005-04-29 Paolo Carlini <pcarlini@suse.de>
Nathan Myers <ncm@cantrip.org>
PR libstdc++/21286
* include/bits/fstream.tcc (basic_filebuf<>::xsgetn):
Loop on short reads; remove the work-around for
libstdc++/20806, not needed anymore.
Co-Authored-By: Nathan Myers <ncm@cantrip.org>
From-SVN: r99033
2005-04-29 Paolo Carlini <pcarlini@suse.de>
* include/tr1/type_traits (is_convertible): Adjust according
to the resolution of TR1 issue 3.20.
* testsuite/tr1/4_metaprogramming/relationships_between_types/
is_convertible/is_convertible.cc: Add tests.
From-SVN: r98944
2005-04-28 Paolo Carlini <pcarlini@suse.de>
Gabriel Dos Reis <gdr@integrable-solutions.net>
PR libstdc++/21244 (cont)
* include/bits/cpp_type_traits.h (struct __traitor): Convert
to bool the values.
* include/bits/stl_algo.h: Convert _S_threshold to int.
* include/bits/stl_bvector.h: Revert previous change, convert
_S_word_bit to int.
* include/debug/formatter.h: Convert __max_parameters to
size_t.
* include/ext/mt_allocator.h: Likewise for _S_chunk_size.
* include/ext/pool_allocator.h: Likewise for _S_max_bytes and
_S_align.
* include/ext/rope: Likewise for _S_alloc_granularity; convert
_S_max_rope_depth to int.
* include/ext/ropeimpl.h: Convert _S_path_cache_len to int;
_S_max_rope_depth to int; _S_copy_max to size_t.
Co-Authored-By: Gabriel Dos Reis <gdr@integrable-solutions.net>
From-SVN: r98915
2005-04-26 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21209
* include/bits/locale_facets.tcc (_M_extract_int): Avoid signed
integer overflow, always use a suited unsigned type in the main
parsing loop.
(struct __to_unsigned_type): New.
* testsuite/22_locale/num_get/get/char/16.cc: New.
* testsuite/22_locale/num_get/get/wchar_t/16.cc: Likewise.
From-SVN: r98768
2005-04-25 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/21035
* include/bits/basic_string.h (compare): Adjust the documentation
to match the implementation and the standard.
From-SVN: r98708
2005-04-08 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/20909
* include/bits/locale_facets.tcc (num_put<>::_M_insert_float):
Don't even try to group numbers like 2e20, i.e., no decimal
point, scientific notation.
* testsuite/22_locale/num_put/put/char/20909.cc: New.
* testsuite/22_locale/num_put/put/wchar_t/20909.cc: Likewise.
From-SVN: r97873
2005-04-08 Danny Smith <dannysmith@users.sourceforge.net>
Paolo Carlini <pcarlini@suse.de>
PR libstdc++/20806
* config/os/mingw32/os_defines.h: Define
_GLIBCXX_HAVE_DOS_BASED_FILESYSTEM.
* config/os/newlib/os_defines.h: Likewise, for __CYGWIN__.
* include/bits/fstream.tcc (basic_filebuf<>::showmanyc()):
Use it.
(basic_filebuf<>::xsgetn(_CharT*, streamsize)): Likewise.
Co-Authored-By: Paolo Carlini <pcarlini@suse.de>
From-SVN: r97842
* include/tr1/memory, include/tr1/boost_shared_ptr.h: Use mutex
to make _Sp_counted_base::add_ref_lock() thread-safe. Check whether
to destroy resources by testing for equality, not inequality. Add
empty critical sections to solve memory visibility issues.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/auto_ptr_neg.cc: Use dg-excess-errors instead of
explicitly listing line numbers which need to be kept in sync.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr_neg.cc: Same.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/assign/auto_ptr_rvalue_neg.cc: Same.
* testsuite/tr1/2_general_utilities/memory/
shared_ptr/cons/weak_ptr_expired.cc: Make XFAIL for consistency when
-fno-exceptions.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared.cc: Add explanatory comments.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared2.cc: Same.
* testsuite/tr1/2_general_utilities/memory/
enable_shared_from_this/not_shared3.cc: Same.
From-SVN: r97620
2005-04-02 Douglas Gregor <doug.gregor@gmail.com>
* include/tr1/tuple_iterate.h (tuple_element): Use new macro
_GLIBCXX_T_NUM_ARGS_PLUS_1 because _T is a macro on Darwin.
* include/tr1/repeat.h (_GLIBCXX_T_NUM_ARGS_PLUS_1): Define for
each iteration.
* scripts/gen_includers.h: Define _GLIBCXX_T_NUM_ARGS_PLUS_1 for
each iteration.
From-SVN: r97438
2005-04-01 Douglas Gregor <doug.gregor@gmail.com>
* include/tr1/functional (_Maybe_wrap_member_pointer): Wrap up
member pointers in _Mem_fn but let other function objects pass
through unchanged.
* include/tr1/functional_iterator (bind): Reduce number of bind()
overloads to two to eliminate ambiguities. Use
_Maybe_wrap_member_pointer to handle member pointers gracefully.
From-SVN: r97428
2005-03-31 Chris Jefferson <chris@bubblescope.net>
* include/tr1/tuple: Support iteration via tuple_iterate.h.
* include/tr1/tuple_iterate.h: Iteration file for tuple.
2005-03-31 Douglas Gregor <doug.gregor@gmail.com>
* include/Makefile.am (tr1_headers): Add bind and mu repetition
headers and reference_wrapper<> forwarding header.
* include/Makefile.in: Regenerate.
* include/tr1/bind_iterate.h: Implementation of function call
operators for the function object returned from tr1::bind().
* include/tr1/bind_repeat.h: Bind-specific repetition header,
akin to include/tr1/repeat.h.
* include/tr1/functional (_Mem_fn): Bug fix: declare result
member
template for use with result_of.
(is_bind_expression): New.
(is_placeholder): New.
(_Placeholder): New. Placeholder type for bind.
(_Mu): New. Implementation detail of bind.
(_Bind, _Bind_result): New. Function objects returned by bind.
(_GLIBCXX_JOIN): New. Required to create bind placeholders.
* include/tr1/functional_iterate.h (_Bind, _Bind_result, bind):
New. Implementation of tr1::bind.
* include/tr1/mu_iterate.h (_Mu): result template and operator()
for the _Mu helper to bind.
* include/tr1/ref_fwd.h (reference_wrapper): Forward declaration
used by tuple header.
(ref): Ditto.
(cref): Ditto.
* include/tr1/repeat.h: Add bind-specific repetition macros.
* include/tr1/tuple: Use reference_wrapper forwarding header for
initial definitions, then include <tr1/functional> at the end, to
make the circular dependencies work.
(tie): Support zero-argument tie() function.
* testsuite/tr1/3_function_objects/bind/all_bound.cc: New test of
bind() functionality with parameters bound.
* testsuite/tr1/3_function_objects/bind/nested.cc: New test of
nested bind() expressions.
* testsuite/tr1/3_function_objects/bind/placeholders.cc: New test
of bind() placeholders.
* testsuite/tr1/3_function_objects/bind/ref.cc: New test of bind()
with arguments bound via reference_wrapper<>.
* scripts/gen_includers.pl: Generate the repetitive part of
include/tr1/repeat.h.
* scripts/gen_bind_includers.pl: Generate the repetitive part of
include/tr1/bind_repeat.h.
From-SVN: r97361
2005-03-23 Benjamin Kosnik <bkoz@redhat.com>
* acinclude.m4: Adjust so that _GLIBCXX_USE_C99 implies
using _GLIBCXX_USE_C99_COMPLEX, _GLIBCXX_USE_C99_MATH, and
_GLIBCXX_USE_C99_WCHAR.
Remove GLIBCXX_ENABLE_C_MBCHAR, consolidate in GLIBCXX_ENABLE_C99
and GLIBCXX_ENABLE_WCHAR_T.
Take C99 bits from GLIBCXX_CHECK_WCHAR_T_SUPPORT and put in
GLIBCXX_ENABLE_C99.
Change remaining parts of GLIBCXX_CHECK_WCHAR_T_SUPPORT to
GLIBCXX_CHECK_ICONV_SUPPORT.
* configure.ac: Remove GLIBCXX_ENABLE_C_MBCHAR, use
GLIBCXX_CHECK_ICONV_SUPPORT and GLIBCXX_ENABLE_WCHAR_T.
* crossconfig.m4: Same.
* acconfig.h: Same, adjust comments.
* config.h.in: Regenerate.
* configure: Regenerate.
* docs/html/configopts.html: Change --enable-c-mbchar to
--enable-wchar_t.
* config/locale/gnu/c++locale_internal.h: Guard wide functions
with _GLIBCXX_USE_WCHAR_T.
* include/c_std/std_cwctype.h: Alphabetize, remove duplicates.
* include/c_std/std_cstdio.h: Spacing.
* config/locale/gnu/c_locale.h: Tweaks for unused warnings.
* src/debug.cc: Same.
From-SVN: r96981
2005-03-21 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/20577
* include/bits/stl_algobase.h (iter_swap): Only delegate iter_swap
to swap when the iterator's reference_type is a reference to its
value_type.
* testsuite/25_algorithms/iter_swap/20577.cc: New.
From-SVN: r96837
config:
* gcc-version.m4: Delete.
fastjar:
* Makefile.am (fastjar_TEXINFOS): Add gcc-vers.texi.
(BASEVER, DEVPHASE): New variables.
(POD2MAN): Adjust setting of --release option.
(fastjar.1, grepjar.1, gcc-vers.texi): New rules.
* Makefile.in: Regenerate.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
* aclocal.m4, configure: Regenerate.
gcc:
* BASE-VER, DATESTAMP, DEV-PHASE: New files.
* Makefile.in (gcc_version, gcc_version_trigger, ): Delete.
(BASEVER, DEVPHASE, DATESTAMP, BASEVER_c, DEVPHASE_c, DATESTAMP_c)
(BASEVER_s, DEVPHASE_s, DATESTAMP_s): New variables.
(version): Define using $(BASEVER_c).
(Makefile, config.status, build/gcov-iov.o): No longer depends on
version.c.
(version.o): Depend on version files; add custom generation command.
(prefix.o): Define BASEVER on command line.
(s-iov): Depend on version files; adjust command.
(TEXI_CPP_FILES, TEX_IGCC_FILES, TEXI_GCCINT_FILES, TEXI_CPPINT_FILES):
Add gcc-vers.texi.
(gcc-vers.texi): New rule.
(doc/%.info, doc/%.dvi): Add -I . to command line.
(doc/gccinstall.dvi): Likewise.
(PACKAGE): Delete. All uses replaced with "gcc".
* aclocal.m4: Do not include gcc-version.m4.
* configure.ac: Do not invoke TL_AC_GCC_VERSION.
Do not AC_SUBST nor AC_DEFINE PACKAGE or VERSION.
Set is_release based on contents of DEV-PHASE.
Set gcc_version based on contents of BASE-VER.
Define WIN32_REGISTRY_KEY only if the user overrode the default.
* config.in, configure: Regenerate.
* gccbug.in: Determine version of GCC in use at runtime.
* gcov-iov.c: Get version number and development phase from
command line, not by including version.c.
* intl.c: Replace all uses of PACKAGE with "gcc".
* libada-mk.in: Delete unused "gcc_version" variable.
* prefix.c: Default WIN32_REGISTRY_KEY to BASEVER.
* version.c: (VERSUFFIX): New hook for redistributors; adjust
commentary to match.
(version_string): Put together from pieces.
* config/alpha/x-vms: Do not use $(gcc_version).
* config/i386/t-nwld: Likewise.
* doc/include/gcc-common.texi: Include gcc-vers.texi for
version-GCC and DEVELOPMENT.
gcc/ada:
* Make-lang.in (doc/gnat_ugn_unw.info, doc/gnat_rm.info)
(doc/gnat_ugn_unw.dvi, doc/gnat_rm.dvi): Add gcc-vers.texi
to dependencies.
gcc/fortran:
* Make-lang.in (GFORTRAN_TEXI): Add gcc-vers.texi.
gcc/java:
* Make-lang.in (TEXI_JAVA_FILES): Add gcc-vers.texi.
gcc/treelang:
* Make-lang.in (TEXI_TREELANG_FILES): Add gcc-vers.texi.
libstdc++-v3:
* include/Makefile.am (c++config.h): Depend on DATESTAMP from gcc
subdirectory. Generate #define of __GLIBCXX__ from contents of
that file.
* include/Makefile.in: Regenerate.
* include/bits/c++config: Do not define __GLIBCXX__.
maintainer-scripts:
* README: Update.
* gcc_release: Update gcc/DEV-PHASE if that file exists, instead
of gcc/version.c.
* update_version: Handle updating gcc/DATESTAMP.
* update_web_docs: Generate gcc-vers.texi first.
From-SVN: r96549