2012-02-06 François Dumont <fdumont@gcc.gnu.org>
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob95a9a181935f61cac84afc0528ff344059adbf97
1 2012-02-06  François Dumont  <fdumont@gcc.gnu.org>
3         * include/debug/safe_iterator.h
4         (_Safe_iterator::_M_before_dereferenceable): Avoid the expensive
5         creation of a _Safe_iterator instance to do the check.
7 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
9         PR libstdc++/52104
10         * include/std/future (__future_base::_Async_state_common): Define
11         destructor inline for targets without TLS.
12         * src/c++11/future.cc (__future_base::_Async_state_common): Only
13         define destructor for TLS targets.
15 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
17         PR libstdc++/51956
18         * python/libstdcxx/v6/printers.py (StdPointerPrinter): Rename to...
19         (SharedPointerPrinter): This. Also show weak count.
20         * testsuite/libstdc++-prettyprinters/shared_ptr.cc: New.
22 2012-02-05  Jonathan Wakely  <jwakely.gcc@gmail.com>
24         * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Modify to
25         PASS instead of XFAIL.
27 2012-02-05  Jeffrey Yasskin  <jyasskin@gcc.gnu.org>
28             Paolo Carlini  <paolo.carlini@oracle.com>
30         PR libstdc++/52119
31         * include/std/limits (__glibcxx_min): Fix to avoid undefined behavior.
33 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
35         PR libstdc++/49445
36         * testsuite/29_atomics/atomic/cons/49445.cc: Add.
38 2012-02-03  Benjamin Kosnik  <bkoz@redhat.com>
40         PR libstdc++/51811
41         * include/bits/atomic_base.h (atomic<_Tp*>): Fix offsets.
42         * testsuite/29_atomics/atomic/operators/51811.cc: New.
43         * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: New.
45 2012-02-03  Jakub Jelinek  <jakub@redhat.com>
47         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
48         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
49         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
50         Likewise.
51         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
52         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
53         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
54         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
55         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
56         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
58 2012-02-02  Benjamin Kosnik  <bkoz@redhat.com>
60         PR libstdc++/52068
61         * src/c++11/Makefile.am (toolexeclib_LTLIBRARIES,
62         libc__11_la_SOURCES): Remove.
63         * src/c++11/Makefile.in: Regenerate.
64         * src/c++98/Makefile.am (toolexeclib_LTLIBRARIES,
65         libc__98_la_SOURCES): Remove.
66         * src/c++98/Makefile.in: Regenerate.
68 2012-02-01  Jonathan Wakely  <jwakely.gcc@gmail.com>
70         PR libstdc++/49204
71         * include/std/future (__future_base::_State_base::wait()): Use lambda
72         expression for predicate and remove redundant test.
73         (__future_base::_State_base::wait_for()): Return future_status and
74         use lambda expression for predicate.
75         (__future_base::_State_base::wait_until()): Likewise.
76         (__basic_future::wait_for(), __basic_future::wait_until()): Likewise.
77         (__future_base::_Async_state): Replace with _Async_state_common
78         class for non-dependent functionality and _Async_state_impl class
79         template for dependent functionality.
80         (__future_base::_Async_state_common::_M_join): Serialize attempts to
81         join thread.
82         (__future_base::_Async_state_common::_M_run_deferred): Join.
83         (__future_base::_Async_state::_M_do_run): Replace with lambda.
84         * src/c++11/future.cc (__future_base::_Async_state_common): Define
85         destructor, so key function is in the library.
86         * config/abi/pre/gnu.ver: Add exports for ~_Async_state_common.
87         * testsuite/30_threads/packaged_task/members/get_future.cc: Expect
88         future_status return instead of bool.
89         * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise.
90         * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise.
91         * testsuite/30_threads/future/members/wait_until.cc: Likewise.
92         * testsuite/30_threads/future/members/wait_for.cc: Likewise.
93         * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
94         * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
95         * testsuite/30_threads/promise/members/swap.cc: Likewise.
97 2012-01-30  Tom Tromey  <tromey@redhat.com>
99         PR libstdc++/51649:
100         * testsuite/libstdc++-prettyprinters/debug.cc: New file.
101         * testsuite/lib/gdb-test.exp (regexp-test): New proc.
102         (note-test): Update.
103         (gdb-test): Handle regexp tests.  Add some logging.
104         * testsuite/libstdc++-prettyprinters/simple.cc: Compile with -O0.
105         (placeholder, use): Remove.
106         (main): Add tests for deque, list, map, and set iterators.  Add
107         tests for slist and slist iterator.
108         * testsuite/libstdc++-prettyprinters/48362.cc (main): Handle __7
109         namespace.
110         * python/libstdcxx/v6/printers.py (StdListPrinter.children): Use
111         the type's _Node typedef.
112         (StdListIteratorPrinter.to_string): Change how node type is
113         computed.
114         (StdSlistPrinter.children): Use the type's _Node typedef.
115         (StdSlistIteratorPrinter.to_string): Likewise.
116         (StdRbtreeIteratorPrinter.to_string): Use the type's _Link_type
117         typedef.
118         (StdMapPrinter.children): Change how the node's type is computed.
119         (StdSetPrinter.children): Likewise.
120         (StdForwardListPrinter.children): Use the type's _Node typedef.
121         (Printer.add_version): New method.
122         (Printer.add_container): New method.
123         (build_libstdcxx_dictionary): Handle __7 and __cxx1998
124         namespaces.
125         (find_type): New function.
127 2012-01-27  Paolo Carlini  <paolo.carlini@oracle.com>
129         PR libstdc++/51795
130         * include/bits/random.h (linear_congruential_generator): Add
131         static_assert preventing instantiation for values of 'a' and 'm'
132         currently handled incorrectly by _Mod::__calc.
133         * include/bits/random.tcc (seed_seq::generate): Avoid unsafe
134         uses of _Mod::__calc.
136 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
138         PR libstdc++/51798
139         * config/cpu/generic/atomicity_builtins/atomicity.h
140         (__exchange_and_add, __atomic_add): Use __atomic_fetch_add
141         with __ATOMIC_ACQ_REL semantics instead of __sync_fetch_and_add.
142         * include/ext/atomicity.h (__exchange_and_add, __atomic_add):
143         Likewise.
145 2011-01-27  Rafael Avila de Espindola  <rafael.espindola@gmail.com>
147         * libsupc++/typeinfo: Correctly match #pragma GCC visibility
148         pop with #pragma GCC visibility push.
150 2012-01-27  Benjamin Kosnik  <bkoz@redhat.com>
151             Matthias Klose  <doko@ubuntu.com>
153         * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Use -gdwarf-4 -g3 -O0.
154         * configure.in: Regenerated.
155         * src/Makefile.am (all-once, install-data-once): New rules.
156         (all-local, install-data-local): Use them.
157         (build-debug, install-debug): Tweak.
158         * src/Makefile.in: Regenerate.
160 2012-01-27  Richard Henderson  <rth@redhat.com>
162         * include/bits/atomic_base.h (__atomic_flag_base): Define _M_i
163         based on the value of __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
164         (ATOMIC_FLAG_INIT): Initialize with 0, not false.
165         (atomic_flag::atomic_flag): Use __GCC_ATOMIC_TEST_AND_SET_TRUEVAL.
167 2012-01-26  Jakub Jelinek  <jakub@redhat.com>
169         PR bootstrap/51985
170         * src/c++98/Makefile.am (libc__98_la_SOURCES,
171         libc__98convenience_la_SOURCES): Remove $(inst_sources).
172         * src/c++98/Makefile.in: Regenerated.
174 2012-01-25  Richard Sandiford  <rdsandiford@googlemail.com>
176         * testsuite/20_util/system_clock/1.cc: Add dg-require-time.
177         * testsuite/22_locale/time_put/put/wchar_t/12439_1.cc: Likewise.
178         * testsuite/22_locale/time_put/put/wchar_t/12439_2.cc: Likewise.
179         * testsuite/22_locale/time_put/put/wchar_t/12439_3.cc: Likewise.
180         * testsuite/27_io/basic_istream/readsome/wchar_t/6746-2.cc: Add
181         dg-require-fileio.
182         * testsuite/27_io/basic_istream/seekg/wchar_t/fstream.cc: Likewise.
183         * testsuite/27_io/basic_istream/tellg/wchar_t/1.cc: Likewise.
184         * testsuite/27_io/basic_istream/tellg/wchar_t/fstream.cc: Likewise.
185         * testsuite/27_io/basic_ostream/seekp/wchar_t/2346-fstream.cc:
186         Likewise.
187         * testsuite/27_io/basic_ostream/tellp/wchar_t/1.cc: Likewise.
189 2012-01-25  Matthias Klose  <doko@ubuntu.com>
191         * testsuite/30_threads/condition_variable_any/requirements: Remove
192         empty directory.
194 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
196         * src/Makefile.am (libstdc++convenience.la): Correct stamp rule, copy.
197         * src/Makefile.in: Regenerate.
199 2012-01-23  Benjamin Kosnik  <bkoz@redhat.com>
201         PR libstdc++/49829
202         Add libc++98convenience.la, libc++11convenience.la.
203         * src/c++98: New directory.
204         * src/c++11: New directory.
205         * acinclude.m4: (GLIBCXX_CONFIGURE): Add src-c++98, src-c++11.
206         * configure: Regenerated.
207         * Makefile.am (hosted_source): Add src-c++98, src-c++11 to SUBDIRS.
208         * Makefile.in: Regenerate.
209         * libsupc++/Makefile.am (AM_CXXFLAGS): USe XTEMPLATE_FLAGS for
210         -fno-implicit-templates.
211         * libsupc++/Makefile.in: Regenerate.
212         * src/Makefile.am (inst_sources): Move... C++11 files into
213         separate directory for libstdc++11convenience.la. Files are:
214         fstream-inst.cc, string-inst.cc, wlocale-inst.cc, wstring-inst.cc).
215         (sources): Move C++11 files. Files are: compatibility-c++0x.cc,
216         compatibility-atomic-c++0x.cc, debug.cc, functexcept.cc,
217         functional.cc, hash_c++0x.cc, hashtable_c++0x.cc, limits.cc,
218         system_error.cc, placeholders.cc, regex.cc, shared_ptr.cc,
219         mutex.cc, condition_variable.cc, chrono.cc, thread.cc, future.cc.
220         (libstdc++convenience.la): Add new target.
221         (SUBDIRS): Add c++11, c++98.
222         * src/Makefile.in: Regenerate.
223         * src/c++11/Makefile.am: New.
224         * src/c++11/Makefile.in: Generate.
225         * src/c++98/Makefile.am: New, C++98 files.
226         * src/c++98/Makefile.in: Generate.
228 2012-01-23  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
230         libstdc++-v3:
231         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
232         32-bit Solaris 10/x86.
233         * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
235 2012-01-21  Jonathan Wakely  <jwakely.gcc@gmail.com>
237         PR libstdc++/50982
238         * testsuite/30_threads/*: Add powerpc-ibm-aix* to target selectors.
240 2012-01-19  Jakub Jelinek  <jakub@redhat.com>
242         PR libstdc++/51845
243         * include/bits/hashtable.h
244         (_Hashtable<>::erase(const_iterator, const_iterator)): Also update
245         _M_buckets[__n_bkt] if __is_bucket_begin.
246         * testsuite/23_containers/unordered_multimap/erase/51845-multimap.cc:
247         New test.
249 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
251         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): Fix quoting.
253 2012-01-18  Benjamin Kosnik  <bkoz@redhat.com>
255         * configure.ac: Move epub checks...
256         * acinclude (GLIBCXX_CONFIGURE_DOCBOOK): ...here, use
257         test -f instead of AC_CHECK_FILES.
259 2012-01-18  François Dumont  <fdumont@gcc.gnu.org>
260             Roman Kononov  <roman@binarylife.net>
262         PR libstdc++/51866
263         * include/bits/hashtable.h (_Hashtable<>::_M_insert(_Arg, false_type)):
264         Do not keep a reference to a potentially moved instance.
265         * testsuite/23_containers/unordered_multiset/insert/51866.cc: New.
266         * testsuite/23_containers/unordered_multimap/insert/51866.cc: New.
268 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
270         * doc/html/*: Regenerate.
272 2012-01-17  Benjamin Kosnik  <bkoz@redhat.com>
274         * configure.ac (BUILD_EPUB): Adjust for epub3.
275         * configure: Regenerate.
276         * Makefile.in: Same.
277         * doc/Makefile.am (stamp-epub-docbook): Update for epub3.
278         * doc/Makefile.in: Regenerate.
279         * include/Makefile.in: Same.
280         * libsupc++/Makefile.in: Same.
281         * po/Makefile.in: Same.
282         * python/Makefile.in: Same.
283         * src/Makefile.in: Same.
284         * testsuite/Makefile.in: Same.
286         * doc/xml/manual/documentation_hacking.xml: Update.
288 2012-01-17  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
290         PR target/47852
291         * configure.host (irix6.5*): Add -lpthread to OPT_LDFLAGS.
293 2012-01-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
295         * include/bits/stl_iterator.h (reverse_iterator): Doxygen comments.
297 2012-01-13  François Dumont  <fdumont@gcc.gnu.org>
299         * include/bits/hashtable_policy.h (_Hash_node_base): New, use it as
300         base class of ...
301         (_Hash_node<Value, true>, _Hash_node<Value, false>): ... those.
302         * include/bits/hashtable.h (_Hashtable): Replace _M_begin_bucket_index
303         by _M_before_begin. Review implementation so that we do not need to
304         look for previous non-empty bucket when inserting nodes.
306 2012-01-09  Kai Tietz  <ktietz@redhat.com>
308         PR libstc++/51673 part 2
309         * config/abi/pre/gnu-versioned-namespace.ver: Adjusted new/delete
310         operators signature for LLP64 size_t, and adjusted signatures for
311         mt-allocator using size_t.
313 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
315         PR libstc++/51673 part 1
316         * config/abi/pre/gnu-versioned-namespace.ver: Sync cxxabi symbols
317         with gnu.ver.
319 2012-01-09  Benjamin Kosnik  <bkoz@redhat.com>
321         * fragment.am (WARN_CXXFLAGS): Add -Wabi.
322         * Makefile.in: Regenerate.
323         * doc/Makefile.in: Same.
324         * include/Makefile.in: Same.
325         * libsupc++/Makefile.in: Same.
326         * src/Makefile.in: Same.
327         * testsuite/Makefile.in: Same.
328         * po/Makefile.in: Same.
329         * python/Makefile.in: Same.
331 2012-01-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
333         * python/libstdcxx/v6/printers.py (StdForwardListPrinter): Add.
334         * testsuite/libstdc++-prettyprinters/cxx11.cc: New.
336 2012-01-06  Jason Merrill  <jason@redhat.com>
338         * testsuite/abi/demangle/regression/cw-16.cc (main): Adjust
339         expected demangling.
341 2012-01-06  Jonathan Wakely  <jwakely.gcc@gmail.com>
343         PR libstdc++/51504
344         * doc/xml/manual/debug.xml: Suggest using symbol interposition
345         to override symbols using annotation macros.
347 2012-01-05  François Dumont  <fdumont@gcc.gnu.org>
349         * include/bits/hashtable_policy.h (_Hashtable_base<>::_M_eq()):
350         protected rather than private, use it...
351         * include/bits/hashtable.h (_Hashtable<>::key_eq()): ... here.
352         * testsuite/23_containers/unordered_set/observers.cc: New.
353         * testsuite/23_containers/unordered_multiset/observers.cc: New.
354         * testsuite/23_containers/unordered_map/observers.cc: New.
355         * testsuite/23_containers/unordered_multimap/observers.cc: New.
357 2012-01-03  François Dumont  <fdumont@gcc.gnu.org>
359         * include/bits/hashtable_policy.h (_Ebo_helper<>): Rename to the more
360         specific _Hashtable_ebo_helper. Hide this implementation detail thanks
361         to private inheritance.
363 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
365         PR c++/51738
366         * testsuite/23_containers/map/element_access/39901.cc: New.