OSDN Git Service

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