gcc/libstdc++-v3/ChangeLog
2012-02-15 16:34:30 -05:00

510 lines
19 KiB
Plaintext

2012-02-15 DJ Delorie <dj@redhat.com>
* src/c++98/locale.cc (locale::facet::_S_get_c_locale): Fix typo.
2012-02-15 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/51368
* acinclude.m4 (GLIBCXX_ENABLE_PYTHON): New.
* configure.ac: Use it.
* python/Makefile.am: Same.
* configure: Regenerate.
* python/Makefile.in: Regenerate.
* Makefile.in: Same.
* doc/Makefile.in: Same.
* include/Makefile.in: Same.
* po/Makefile.in: Same.
* src/Makefile.in: Same.
* src/c++11/Makefile.in: Same.
* src/c++98/Makefile.in: Same.
* testsuite/Makefile.in: Same.
2012-02-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* 30_threads/thread/native_handle/typesizes.cc: Do not run on cygwin.
2012-02-14 Tom Tromey <tromey@redhat.com>
* testsuite/libstdc++-prettyprinters/cxx11.cc (main): Add new
tests.
* python/libstdcxx/v6/printers.py (Tr1HashtableIterator.__init__):
Rewrite.
(Tr1HashtableIterator.update): Remove.
(Tr1HashtableIterator.next): Rewrite.
2012-02-13 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
2012-02-13 Richard Henderson <rth@redhat.com>
PR libstdc++/51798 continued.
* include/bits/shared_ptr_base.h
(_Sp_counted_base<_S_atomic>::_M_add_ref_lock): Hoist initial load
outside compare_exchange loop.
* include/tr1/shared_ptr.h: Same.
* include/parallel/compatibility.h (__compare_and_swap_32): Use strong
version of compare_exchange.
(__compare_and_swap_64): Same.
* include/profile/impl/profiler_state.h (__gnu_profile::__turn): Same.
* libsupc++/guard.cc (__cxa_guard_acquire): Same.
2012-02-10 Benjamin Kosnik <bkoz@redhat.com>
Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/51798 continued.
* acinclude.m4 (GLIBCXX_ENABLE_ATOMIC_BUILTINS): Use __atomic_*
builtins instead of __sync_* builtins for atomic functionality.
* include/bits/shared_ptr_base.h: Same.
* include/parallel/compatibility.h: Same.
* include/profile/impl/profiler_state.h: Same.
* include/tr1/shared_ptr.h: Same.
* libsupc++/eh_ptr.cc: Same.
* libsupc++/eh_throw.cc: Same.
* libsupc++/eh_tm.cc: Same.
* libsupc++/guard.cc: Same.
* configure: Regenerated.
* testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
* testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
2012-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR libstdc++/51296
* config/os/osf/ctype_base.h,
config/os/osf/ctype_configure_char.cc,
config/os/osf/ctype_inline.h, config/os/osf/error_constants.h:
Copy from config/os/generic.
* config/os/osf/os_defines.h: Likewise.
(_GTHREAD_USE_MUTEX_INIT_FUNC, _GTHREAD_USE_COND_INIT_FUNC):
Define.
* configure.host <osf*>: Use os/osf for os_include_dir.
2012-02-10 Uros Bizjak <ubizjak@gmail.com>
* config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Regenerated.
2012-02-09 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/documentation_hacking.xml: Fix invalid attribute.
2012-02-08 Jonathan Wakely <jwakely.gcc@gmail.com>
* doc/xml/manual/status_cxx2011.xml: Update C++11 status table.
2012-02-07 Benjamin Kosnik <bkoz@redhat.com>
* doc/doxygen/user.cfg.in: Update to doxygen 1.7.6.1.
* doc/xml/manual/documentation_hacking.xml: Update.
2012-02-07 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/30_threads/call_once/39909.cc: Remove duplicate target
selector.
* testsuite/30_threads/call_once/49668.cc: Likewise.
* testsuite/30_threads/call_once/call_once1.cc: Likewise.
* testsuite/30_threads/lock_guard/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/cons/1.cc: Likewise.
* testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
* testsuite/30_threads/mutex/lock/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
* testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
* testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
* testsuite/30_threads/mutex/unlock/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
* testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
* testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
* testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
2012-02-07 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/51296
* include/std/mutex (__mutex_base::~__mutex_base): Declare noexcept.
* src/c++11/condition_variable.cc (condition_variable): Use macro for
initializer function.
PR libstdc++/51906
* config/os/bsd/darwin/os_defines.h: Disable static initializer for
recursive mutexes.
2012-02-06 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/52128
* src/c++11/future.cc: Add explicit instantiation.
2012-02-06 François Dumont <fdumont@gcc.gnu.org>
* include/debug/safe_iterator.h
(_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
creation of a _Safe_iterator instance to do the check.
2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/52104
* include/std/future (__future_base::_Async_state_common): Define
destructor inline for targets without TLS.
* src/c++11/future.cc (__future_base::_Async_state_common): Only
define destructor for TLS targets.
2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/51956
* python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
(SharedPointerPrinter): This. Also show weak count.
* testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
2012-02-05 Jonathan Wakely <jwakely.gcc@gmail.com>
* testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
PASS instead of XFAIL.
2012-02-05 Jeffrey Yasskin <jyasskin@gcc.gnu.org>
Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/52119
* include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
2012-02-03 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/49445
* testsuite/29_atomics/atomic/cons/49445.cc: Add.
2012-02-03 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/51811
* include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
* testsuite/29_atomics/atomic/operators/51811.cc: New.
* testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
2012-02-03 Jakub Jelinek <jakub@redhat.com>
* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
Likewise.
* config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
* config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2012-02-02 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/52068
* src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
libc__11_la_SOURCES): Remove.
* src/c++11/Makefile.in: Regenerate.
* src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
libc__98_la_SOURCES): Remove.
* src/c++98/Makefile.in: Regenerate.
2012-02-01 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/49204
* include/std/future (__future_base::_State_base::wait()): Use lambda
expression for predicate and remove redundant test.
(__future_base::_State_base::wait_for()): Return future_status and
use lambda expression for predicate.
(__future_base::_State_base::wait_until()): Likewise.
(__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
(__future_base::_Async_state): Replace with _Async_state_common
class for non-dependent functionality and _Async_state_impl class
template for dependent functionality.
(__future_base::_Async_state_common::_M_join): Serialize attempts to
join thread.
(__future_base::_Async_state_common::_M_run_deferred): Join.
(__future_base::_Async_state::_M_do_run): Replace with lambda.
* src/c++11/future.cc (__future_base::_Async_state_common): Define
destructor, so key function is in the library.
* config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
* testsuite/30_threads/packaged_task/members/get_future.cc: Expect
future_status return instead of bool.
* testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
* testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
* testsuite/30_threads/future/members/wait_until.cc: Likewise.
* testsuite/30_threads/future/members/wait_for.cc: Likewise.
* testsuite/30_threads/promise/members/set_value2.cc: Likewise.
* testsuite/30_threads/promise/members/set_value3.cc: Likewise.
* testsuite/30_threads/promise/members/swap.cc: Likewise.
2012-01-30 Tom Tromey <tromey@redhat.com>
PR libstdc++/51649:
* testsuite/libstdc++-prettyprinters/debug.cc: New file.
* testsuite/lib/gdb-test.exp (regexp-test): New proc.
(note-test): Update.
(gdb-test): Handle regexp tests. Add some logging.
* testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
(placeholder, use): Remove.
(main): Add tests for deque, list, map, and set iterators. Add
tests for slist and slist iterator.
* testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
namespace.
* python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
the type's _Node typedef.
(StdListIteratorPrinter.to_string): Change how node type is
computed.
(StdSlistPrinter.children): Use the type's _Node typedef.
(StdSlistIteratorPrinter.to_string): Likewise.
(StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
typedef.
(StdMapPrinter.children): Change how the node's type is computed.
(StdSetPrinter.children): Likewise.
(StdForwardListPrinter.children): Use the type's _Node typedef.
(Printer.add_version): New method.
(Printer.add_container): New method.
(build_libstdcxx_dictionary): Handle __7 and __cxx1998
namespaces.
(find_type): New function.
2012-01-27 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/51795
* include/bits/random.h (linear_congruential_generator): Add
static_assert preventing instantiation for values of 'a' and 'm'
currently handled incorrectly by _Mod::__calc.
* include/bits/random.tcc (seed_seq::generate): Avoid unsafe
uses of _Mod::__calc.
2012-01-27 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/51798
* config/cpu/generic/atomicity_builtins/atomicity.h
(__exchange_and_add, __atomic_add): Use __atomic_fetch_add
with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
* include/ext/atomicity.h (__exchange_and_add, __atomic_add):
Likewise.
2011-01-27 Rafael Avila de Espindola <rafael.espindola@gmail.com>
* libsupc++/typeinfo: Correctly match #pragma GCC visibility
pop with #pragma GCC visibility push.
2012-01-27 Benjamin Kosnik <bkoz@redhat.com>
Matthias Klose <doko@ubuntu.com>
* configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
* configure.in: Regenerated.
* src/Makefile.am (all-once, install-data-once): New rules.
(all-local, install-data-local): Use them.
(build-debug, install-debug): Tweak.
* src/Makefile.in: Regenerate.
2012-01-27 Richard Henderson <rth@redhat.com>
* include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
(ATOMIC_FLAG_INIT): Initialize with 0, not false.
(atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
2012-01-26 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/51985
* src/c++98/Makefile.am (libc__98_la_SOURCES,
libc__98convenience_la_SOURCES): Remove $(inst_sources).
* src/c++98/Makefile.in: Regenerated.
2012-01-25 Richard Sandiford <rdsandiford@googlemail.com>
* testsuite/20_util/system_clock/1.cc: Add dg-require-time.
* testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
* testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
* testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
dg-require-fileio.
* testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
* testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
* testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
Likewise.
* testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
2012-01-25 Matthias Klose <doko@ubuntu.com>
* testsuite/30_threads/condition_variable_any/requirements: Remove
empty directory.
2012-01-23 Benjamin Kosnik <bkoz@redhat.com>
* src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
* src/Makefile.in: Regenerate.
2012-01-23 Benjamin Kosnik <bkoz@redhat.com>
PR libstdc++/49829
Add libc++98convenience.la, libc++11convenience.la.
* src/c++98: New directory.
* src/c++11: New directory.
* acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
* configure: Regenerated.
* Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
* Makefile.in: Regenerate.
* libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
-fno-implicit-templates.
* libsupc++/Makefile.in: Regenerate.
* src/Makefile.am (inst_sources): Move... C++11 files into
separate directory for libstdc++11convenience.la. Files are:
fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
(sources): Move C++11 files. Files are: compatibility-c++0x.cc,
compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
(libstdc++convenience.la): Add new target.
(SUBDIRS): Add c++11, c++98.
* src/Makefile.in: Regenerate.
* src/c++11/Makefile.am: New.
* src/c++11/Makefile.in: Generate.
* src/c++98/Makefile.am: New, C++98 files.
* src/c++98/Makefile.in: Generate.
2012-01-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
libstdc++-v3:
* testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
32-bit Solaris 10/x86.
* testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2012-01-21 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/50982
* testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
2012-01-19 Jakub Jelinek <jakub@redhat.com>
PR libstdc++/51845
* include/bits/hashtable.h
(_Hashtable<>::erase(const_iterator, const_iterator)): Also update
_M_buckets[__n_bkt] if __is_bucket_begin.
* testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
New test.
2012-01-18 Benjamin Kosnik <bkoz@redhat.com>
* acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
2012-01-18 Benjamin Kosnik <bkoz@redhat.com>
* configure.ac: Move epub checks...
* acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
test -f instead of AC_CHECK_FILES.
2012-01-18 François Dumont <fdumont@gcc.gnu.org>
Roman Kononov <roman@binarylife.net>
PR libstdc++/51866
* include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
Do not keep a reference to a potentially moved instance.
* testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
* testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
2012-01-17 Benjamin Kosnik <bkoz@redhat.com>
* doc/html/*: Regenerate.
2012-01-17 Benjamin Kosnik <bkoz@redhat.com>
* configure.ac (BUILD_EPUB): Adjust for epub3.
* configure: Regenerate.
* Makefile.in: Same.
* doc/Makefile.am (stamp-epub-docbook): Update for epub3.
* doc/Makefile.in: Regenerate.
* include/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
* src/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* doc/xml/manual/documentation_hacking.xml: Update.
2012-01-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
PR target/47852
* configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
2012-01-14 Jonathan Wakely <jwakely.gcc@gmail.com>
* include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
2012-01-13 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
base class of ...
(_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
* include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
by _M_before_begin. Review implementation so that we do not need to
look for previous non-empty bucket when inserting nodes.
2012-01-09 Kai Tietz <ktietz@redhat.com>
PR libstc++/51673 part 2
* config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
operators signature for LLP64 size_t, and adjusted signatures for
mt-allocator using size_t.
2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
PR libstc++/51673 part 1
* config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
with gnu.ver.
2012-01-09 Benjamin Kosnik <bkoz@redhat.com>
* fragment.am (WARN_CXXFLAGS): Add -Wabi.
* Makefile.in: Regenerate.
* doc/Makefile.in: Same.
* include/Makefile.in: Same.
* libsupc++/Makefile.in: Same.
* src/Makefile.in: Same.
* testsuite/Makefile.in: Same.
* po/Makefile.in: Same.
* python/Makefile.in: Same.
2012-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
* python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
* testsuite/libstdc++-prettyprinters/cxx11.cc: New.
2012-01-06 Jason Merrill <jason@redhat.com>
* testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
expected demangling.
2012-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/51504
* doc/xml/manual/debug.xml: Suggest using symbol interposition
to override symbols using annotation macros.
2012-01-05 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
protected rather than private, use it...
* include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
* testsuite/23_containers/unordered_set/observers.cc: New.
* testsuite/23_containers/unordered_multiset/observers.cc: New.
* testsuite/23_containers/unordered_map/observers.cc: New.
* testsuite/23_containers/unordered_multimap/observers.cc: New.
2012-01-03 François Dumont <fdumont@gcc.gnu.org>
* include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
specific _Hashtable_ebo_helper. Hide this implementation detail thanks
to private inheritance.
2012-01-03 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51738
* testsuite/23_containers/map/element_access/39901.cc: New.