gcc/libstdc++-v3/ChangeLog

383 lines
14 KiB
Plaintext
Raw Normal View History

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.
re PR libstdc++/49204 ([C++0x] remaining issues in <future>) 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. From-SVN: r183788
2012-02-01 08:20:08 +08:00
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.
[multiple changes] 2012-01-20 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 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. From-SVN: r183457
2012-01-24 07:12:01 +08:00
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.