[PATCH][libstc++v3]Add new dg-require-thread-fence directive.
[official-gcc.git] / libstdc++-v3 / ChangeLog
blob12f87c35b11737ca7bd703fc10c44d6a8635f06a
1 2015-04-22  Renlin Li  <renlin.li@arm.com>
3         * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
4         * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
5         * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
6         * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
7         * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
9 2015-04-21  Jonathan Wakely  <jwakely@redhat.com>
11         * doc/xml/manual/configure.xml: Update descriptions of options
12         affecting dual ABI and add cross-references.
13         * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
14         * doc/xml/manual/using.xml: Document ABI transition.
15         * doc/html/*: Regenerate.
17         * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
18         * doc/xml/manual/using.xml: Document newer -std options. Use better
19         examples of nested namespaces.
21 2015-04-20  Jonathan Wakely  <jwakely@redhat.com>
23         * doc/xml/manual/concurrency_extensions.xml: Update documentation
24         on atomics.
25         * doc/xml/manual/using.xml: Likewise. Improve markup.
26         * doc/html/*: Regenerate.
28 2015-04-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
30         * scripts/extract_symvers.pl: Ignore elfdump error output.
32 2015-04-14  Marc Glisse  <marc.glisse@inria.fr>
34         PR libstdc++/61347
35         * include/bits/stl_iterator_base_funcs.h (_List_iterator,
36         _List_const_iterator): Declare.
37         (__distance): Declare new overloads for _List_iterator and
38         _List_const_iterator.
39         * include/bits/stl_list.h (__distance): New overloads for
40         _List_iterator and _List_const_iterator.
41         * testsuite/23_containers/list/61347.cc: New testcase.
43 2015-04-14  Jonathan Wakely  <jwakely@redhat.com>
45         * doc/xml/manual/evolution.xml: Fix typos.
46         * doc/html/manual/api.html: Regenerate.
48 2015-04-14  Hans-Peter Nilsson  <hp@axis.com>
50         * testsuite/29_atomics/atomic/62259.cc: Assert atomic
51         alignment is larger-equal, not equal, to default alignment.
53 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
55         PR libstdc++/65754
56         * config/abi/pre/gnu.ver: Export base object constructors for
57         fstreams.
58         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
59         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
60         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
61         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
62         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
63         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
64         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
65         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
66         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
67         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
68         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
69         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
70         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
71         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
72         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
73         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
74         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
75         * testsuite/27_io/basic_fstream/cons/base.cc: New.
77 2015-04-13  Jonathan Wakely  <jwakely@redhat.com>
79         * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
80         * doc/html/*: Regenerate.
82 2015-04-12  Uros Bizjak  <ubizjak@gmail.com>
84         * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
86 2015-04-10  Andreas Schwab  <schwab@linux-m68k.org>
88         * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
90         * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
92 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
94         * doc/xml/manual/test.xml: Improve documentation on running a subset
95         of tests.
96         * doc/html/manual/test.html: Regenerate.
98 2015-04-10  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
100         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
101         for GCC 5.1 release.
102         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
103         Likewise.
105 2015-04-10  Jonathan Wakely  <jwakely@redhat.com>
107         * include/std/shared_mutex (shared_timed_mutex): Add comments to
108         explain the logic in the non-pthread_rwlock_t version.
109         (_Mutex): Remove redundant type.
110         (_M_n_readers): Rename to _S_max_readers.
111         (_M_write_entered, _M_readers): New convenience functions.
112         (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
113         functions. Use predicates with condition variables. Simplify bitwise
114         operations.
115         (try_lock_for, try_shared_lock_for): Convert duration to time_point
116         and call try_lock_until or try_shared_lock_until respectively.
117         (try_lock_until, try_shared_lock_until): Wait on the condition
118         variables until the specified time passes.
119         (unlock): Add Debug Mode assertion.
120         (unlock_shared): Add Debug Mode assertion.
121         * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
123         * include/std/shared_mutex (shared_timed_mutex): Only use
124         pthread_rwlock_t when the POSIX Timeouts option is supported.
125         * testsuite/30_threads/shared_lock/cons/5.cc: Remove
126         dg-require-gthreads-timed.
127         * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
128         * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
129         * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
131 2015-04-09  H.J. Lu  <hongjiu.lu@intel.com>
133         * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
135 2015-04-09  Jonathan Wakely  <jwakely@redhat.com>
136             Richard Henderson  <rth@redhat.com>
138         PR libstdc++/65147
139         * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
140         alignment.
141         * include/std/atomic (atomic): For types with a power of two size set
142         alignment to at least the size.
143         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
144         * testsuite/29_atomics/atomic/65147.cc: New.
145         * testsuite/29_atomics/atomic_integral/65147.cc: New.
147 2015-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
149         * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
150         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
151         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
153 2015-04-07  Jakub Jelinek  <jakub@redhat.com>
155         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
156         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
157         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
158         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
159         * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
160         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
161         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
162         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
164 2015-03-30  Jonathan Wakely  <jwakely@redhat.com>
166         PR libstdc++/65630
167         * config/abi/pre/gnu.ver: Export operator+ for new strings.
168         * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
169         * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
171 2015-03-28  Tim Shen  <timshen@google.com>
173         PR libstdc++/65420
174         * include/bits/regex_constants.h: Use constexpr variables for flags.
175         * testsuite/28_regex/constants/constexpr.cc: New testcase.
177 2015-03-27  Jonathan Wakely  <jwakely@redhat.com>
179         PR libstdc++/65499
180         * include/std/chrono: Add using-directive for literals to std::chrono.
181         * testsuite/20_util/duration/literals/65499.cc: New.
183 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
185         PR libstdc++/58038
186         PR libstdc++/60421
187         * include/std/thread (this_thread::sleep_for): Check for negative
188         durations.
189         (this_thread::sleep_until): Check for times in the past.
190         * testsuite/30_threads/this_thread/58038.cc: New.
191         * testsuite/30_threads/this_thread/60421.cc: New.
193 2015-03-26  Jonathan Wakely  <jwakely@redhat.com>
195         PR libstdc++/62259
196         PR libstdc++/65147
197         * include/std/atomic (atomic<T>): Increase alignment for types with
198         the same size as one of the integral types.
199         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
200         * testsuite/29_atomics/atomic/62259.cc: New.
202 2015-03-26  Richard Henderson  <rth@redhat.com>
204         PR libstdc++/65033
205         * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
206         a fake pointer indicating type alignment.
207         (__atomic_base<T *>::is_lock_free): Likewise.
208         * include/std/atomic (atomic<T>::is_lock_free): Likewise.
210 2015-03-25  Alan Lawrence  <alan.lawrence@arm.com>
212         PR libstdc++/33394
213         * testsuite/21_strings/basic_string/pthread33394.cc: Use
214         dg-additional-options.
216 2015-03-25  Paolo Carlini  <paolo.carlini@oracle.com>
218         PR libstdc++/65543
219         * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
220         thinko in r150387.
221         * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
222         Likewise.
223         * testsuite/27_io/rvalue_streams-2.cc: New.
225 2015-03-24  Jonathan Wakely  <jwakely@redhat.com>
227         PR libstdc++/33394
228         * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
230 2015-03-23  Jonathan Wakely  <jwakely@redhat.com>
232         PR libstdc++/64967
233         * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
234         * configure: Regenerate.
235         * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
236         system_category): Use macros for versioned namespace.
237         * src/c++11/futex.cc: Add missing end macro for versioned namespace.
239 2015-03-20  James Greenhalgh  <james.greenhalgh@arm.com>
241         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
242         test for unused for ARM.
243         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
244         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
246 2015-03-20  Jonathan Wakely  <jwakely@redhat.com>
248         * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
249         * include/ext/codecvt_specializations.h (encoding_state,
250         encoding_char_traits): Remove abi-tag and use inline namespace.
251         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
253 2015-03-19  Jason Merrill  <jason@redhat.com>
255         * config/locale/gnu/messages_members.cc: Revert abi-tag change.
256         * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
258 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
260         PR c++/65046
261         * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
262         get_catalogs): Add abi-tag.
263         * include/ext/codecvt_specializations.h (encoding_state,
264         encoding_char_traits): Likewise.
265         * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
266         * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
267         numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
268         money_get_shim, money_put_shim, messages_shim): Likewise.
269         * src/c++11/future.cc (future_error_category::message): Likewise.
270         * src/c++11/system_error.cc (generic_error_category::message,
271         system_error_category::message): Likewise.
272         (__sso_string): Disable -Wabi-tag warnings.
274 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
276         PR libstdc++/13631
277         * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
278         implementation for old glibc. Fix whitespace.
280 2015-03-18  Jonathan Wakely  <jwakely@redhat.com>
281             Torvald Riegel  <triegel@redhat.com>
283         * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
284         * config.h.in: Regenerate.
285         * configure: Regenerate.
286         * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
287         (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
288         (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
289         (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
290         EDEADLK.
292 2015-03-17  Jonathan Wakely  <jwakely@redhat.com>
294         * libsupc++/nested_exception.h: Do not try to derive from final
295         classes.
296         * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
297         final class.
299         * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
300         unused exception variable.
301         * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
302         * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
303         test.
304         * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
306 2015-03-13  Jonathan Wakely  <jwakely@redhat.com>
308         * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
309         * configure: Regenerate.
311         * include/experimental/system_error: Fix include guard.
313 2015-03-12  Renlin Li  <renlin.li@arm.com>
315         * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
316         wrapped target.
318 2015-03-10  Tim Shen  <timshen@google.com>
320         PR libstdc++/64441
321         * include/bits/regex.h (match_results<>::size,
322         match_results<>::position, match_results<>::str,
323         match_results<>::operator[], match_results<>::prefix,
324         match_results<>::suffix, match_results<>::end,
325         match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
326         match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
327         global __unmatched_sub. Add unmatched submatch as part of
328         match_results.
329         * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
330         regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
331         * testsuite/28_regex/match_results/out_of_range_submatches.cc:
332         New testcases.
334 2015-03-09  Jonathan Wakely  <jwakely@redhat.com>
336         PR libstdc++/64467
337         * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
338         for newlib targets. Really fix mixed line-endings this time.
340 2015-03-06  Jonathan Wakely  <jwakely@redhat.com>
342         * include/std/future (future_error(error_code)): Construct base
343         class with error_code's message.
344         * src/c++11/future.cc (future_error::what()): Do not call c_str() on
345         temporary string.
347 2015-03-05  Jonathan Wakely  <jwakely@redhat.com>
349         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
350         noconv result.
351         * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
352         * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
354 2015-03-04  Jonathan Wakely  <jwakely@redhat.com>
356         PR libstdc++/64797
357         * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
358         incomplete multibyte sequences correctly.
359         * include/std/codecvt (codecvt_utf8, codecvt_utf16,
360         codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
361         * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
362         Define constants.
363         (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
364         Define convenience functions.
365         (read_utf8_code_point): Return relevant constant to distinguish
366         incomplete characters from invalid sequences.
367         (read_utf16_code_point): Likewise. Check for invalid sequences.
368         (ucs4_in, utf16_in): Use incomplete_mb_character constant.
369         (utf16_out): Check for invalid sequences.
370         (utf16_span): Fix condition.
371         (ucs2_out): Use is_high_surrogate.
372         (ucs2_in): Use incomplete_mb_character constant and fix condition.
373         * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
374         * testsuite/22_locale/conversions/buffer/1.cc: New.
375         * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
376         char32_t instead of wchar_t.
377         * testsuite/22_locale/conversions/string/3.cc: New.
379 2015-03-03  Iain Sandoe  <iain@codesourcery.com>
381         PR libstdc++/64883
382         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
383         visibility for Darwin.
384         * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
385         also deprecated.
386         * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
388 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
390         PR libstdc++/65279
391         * include/std/scoped_allocator (__inner_type_impl,
392         scoped_allocator_adaptor): Add defaulted copy assignment and move
393         assignment operators.
394         * testsuite/20_util/scoped_allocator/65279.cc: New.
396 2015-03-02  Jonathan Wakely  <jwakely@redhat.com>
398         PR libstdc++/64367
399         * include/std/stdexcept (__sso_string): Don't use non-static member
400         in sizeof.
402 2015-02-28  Matthias Klose  <doko@ubuntu.com>
404         PR libstdc++/65246
405         * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
407 2015-02-22  Jonathan Wakely  <jwakely@redhat.com>
409         * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
410         * doc/html/manual/status.html: Regenerate.
412 2015-02-20  Jonathan Wakely  <jwakely@redhat.com>
414         PR libstdc++/64695
415         * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
416         tuple layout.
418         * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
419         behavior.
420         * doc/html/manual/status.html: Regenerate.
422 2015-02-19  Jonathan Wakely  <jwakely@redhat.com>
424         PR libstdc++/58357
425         * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
426         * include/bits/stl_algo.h (__rotate, rotate): Likewise.
428 2015-02-19  Hans-Peter Nilsson  <hp@axis.com>
430         PR testsuite/65093
431         * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
432         (test01): Add explanatory comment.  Keep only the bd1 sub-test and
433         split out bd2, bd3, bd4, and bd5 sub-tests into...
434         * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
435         testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
436         testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
437         testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
438         New separate files with the old parts.
440 2015-02-18  Jonathan Wakely  <jwakely@redhat.com>
442         * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
443         surrogate pairs.
444         (utf16_in): Pass mode argument to write_utf16_code_point.
445         (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
446         native byte order.
447         * testsuite/22_locale/codecvt/char16_t.cc: New.
448         * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
450         * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
451         * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
453 2015-02-17  Rüdiger Sonderfeld  <ruediger@c-plusplus.de>
454             Jonathan Wakely  <jwakely@redhat.com>
456         * testsuite/22_locale/codecvt/char32_t.cc: New.
458 2015-02-17  Jonathan Wakely  <jwakely@redhat.com>
460         PR libstdc++/65085
461         * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
462         empty string gets null-terminated.
463         * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
465 2015-02-13  Matthew Wahab  <matthew.wahab@arm.com>
467         * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
468         mixed line-endings introduced in last change.
470 2015-02-12  Matthew Wahab  <matthew.wahab@arm.com>
472         * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
473         for __NEWLIB__ macro with a dejagnu set macro.
474         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
476 2015-02-04  Matthew Wahab  <matthew.wahab@arm.com>
478         PR libstdc++/64467
479         * testsuite/28_regex/traits/char/isctype.cc (test01):   Add newlib
480         special case for '\n'.
481         * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
483 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
485         * src/c++11/futex.cc: Do not define for gthr-single.h targets.
487 2015-02-01  Jonathan Wakely  <jwakely@redhat.com>
489         PR libstdc++/64883
490         * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
491         of deprecated.
492         * include/c_std/cstdio (gets): Likewise.
493         * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
494         with attributes used in darwin headers.
496 2015-01-29  Jakub Jelinek  <jakub@redhat.com>
498         * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
499         $vtv_cygmin = yes.  Initialize vtv_cygmin=no unconditionally first.
500         * configure: Regenerated.
502 2015-01-29  H.J. Lu  <hongjiu.lu@intel.com>
504         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
505         after vtv_cygmin is set.
506         * configure: Regenerated.
508 2015-01-29  Matthias Klose  <doko@ubuntu.com>
510         * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
511         unconditionally.
512         * configure: Regenerate.
514 2015-01-29  Caroline Tice  <cmtice@google.com>
516         Committing VTV Cywin/Ming patch for Patrick Wollgast
517         * configure: Regenerate.
518         * libsupc++/Makefile.in: Regenerate.
519         * src/Makefile.in: Regenerate.
521 2015-01-29  Jonathan Wakely  <jwakely@redhat.com>
523         * include/bits/atomic_base.h: Use __always_inline__ instead of
524         always_inline.
525         * include/bits/atomic_futex.h: Likewise.
526         * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
527         * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
528         __packed__ instead of packed.
529         * include/std/shared_mutex: Use __unused__ instead of unused.
530         * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
531         * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
532         * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
534 2015-01-28  Caroline Tice  <cmtice@google.com>
536         Committing VTV Cywin/Ming patch for Patrick Wollgast
537         * acinclude.m4: Define VTV_CYGMIN.
538         * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
539         and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
540         * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
541         for Cygwin and MinGW.
542         * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
543         VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
544         libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
546 2015-01-28  Jonathan Wakely  <jwakely@redhat.com>
548         PR libstdc++/64828
549         * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
550         * libsupc++/Makefile.in: Regenerate.
551         * src/c++11/Makefile.in: Regenerate.
553 2015-01-28  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
555         * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
556         check for unsupported.
557         (v3_target_compile_as_c): Likewise.
559 2015-01-28  Richard Biener  <rguenther@suse.de>
561         PR libstdc++/64798
562         * libsupc++/eh_alloc.cc (struct allocated_entry): Align
563         data member.
564         (pool::allocate): Adjust allocation size and alignment to
565         that change.
566         (pool::free): Adjust pointer offsetting.
568 2015-01-27  Jonathan Wakely  <jwakely@redhat.com>
570         PR libstdc++/64368
571         * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
572         shared_timed_mutex::try_lock_until): Only define when POSIX thread
573         timeouts option is supported.
574         (shared_timed_mutex::try_shared_lock_for,
575         shared_timed_mutex::try_shared_lock_until): Likewise.
577 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
579         PR libstdc++/64368
580         * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
581         numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
582         * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
583         and use cache's _M_grouping field.
584         (__numpunct_fill_cache): Likewise.
585         (__moneypunct_fill_cache): Improve comments.
587 2015-01-26  Jonathan Wakely  <jwakely@redhat.com>
589         * testsuite/23_containers/set/operations/2.cc: Add test for
590         non-transparent comparison function.
592 2015-01-25  Oleg Endo  <olegendo@gcc.gnu.org>
594         PR target/29366
595         * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): 
596         Remove SH4A inline asm and lock based implementations and use the
597         defaults from ext/atomicity.h.
599 2015-01-23  Jonathan Wakely  <jwakely@redhat.com>
601         * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
602         new std::string constructors for byname facets.
604 2015-01-22  Richard Biener  <rguenther@suse.de>
606         PR libstdc++/64535
607         * libsupc++/eh_alloc.cc: Include new.
608         (bitmask_type): Remove.
609         (one_buffer): Likewise.
610         (emergency_buffer): Likewise.
611         (emergency_used): Likewise.
612         (dependents_buffer): Likewise.
613         (dependents_used): Likewise.
614         (class pool): New custom fixed-size arena, variable size object
615         allocator.
616         (emergency_pool): New global.
617         (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
618         (__cxxabiv1::__cxa_free_exception): Likewise.
619         (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
620         (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
622 2015-01-22  Tim Shen  <timshen@google.com>
624         PR libstdc++/64680
625         * include/bits/regex.h (basic_regex<>::basic_regex,
626         basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
627         standard interface.
628         * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
630 2015-01-22  Tim Shen  <timshen@google.com>
632         PR libstdc++/64649
633         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
634         regex_traits<>::lookup_classname): Correctly narrow input chars.
635         * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
637 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
639         * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
641 2015-01-21  Jonathan Wakely  <jwakely@redhat.com>
643         * testsuite/29_atomics/atomic/64658.cc: Test stored value.
645 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
647         * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
648         * doc/xml/manual/status_cxx2014.xml: Update status.
649         * doc/html/manual/status.html: Regenerate.
651 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
653         PR libstdc++/64650
654         * include/experimental/optional (bad_optional_access): Add default
655         constructor.
656         * testsuite/experimental/optional/requirements.cc: Test for default
657         constructor.
659 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
661         * include/bits/stl_map.h (map::find<>, map::count<>,
662         map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
663         member function templates to perform heterogeneous lookup.
664         * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
665         multimap::lower_bound<>, multimap::upper_bound<>,
666         multimap::equal_range<>): Likewise.
667         * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
668         multiset::lower_bound<>, multiset::upper_bound<>,
669         multiset::equal_range<>): Likewise.
670         * include/bits/stl_set.h (set::find<>, set::count<>,
671         set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
672         * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
673         _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
674         _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
675         _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
676         * testsuite/23_containers/map/operations/2.cc: New.
677         * testsuite/23_containers/multimap/operations/2.cc: New.
678         * testsuite/23_containers/multiset/operations/2.cc: New.
679         * testsuite/23_containers/set/operations/2.cc: New.
681 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
683         * config/abi/pre/gnu.ver: Export new constructors.
684         * include/bits/codecvt.h (codecvt_byname): Add string constructor.
685         (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
686         specializations and declare explicit instantiations.
687         * include/bits/locale_classes.h (locale, collate_byname): Add string
688         constructors.
689         * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
690         Likewise.
691         * include/bits/locale_facets_nonio.h (time_get_byname,
692         time_put_byname, moneypunct_byname, messages_byname): Likewise.
693         * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
694         codecvt_byname<char32_t>): Define explicit instantiations.
695         * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
696         Instantiate string constructors.
697         (ctype_byname): Define string constructor.
698         * testsuite/22_locale/codecvt_byname/1.cc: New.
699         * testsuite/22_locale/collate_byname/1.cc: New.
700         * testsuite/22_locale/ctype_byname/2.cc: New.
701         * testsuite/22_locale/messages_byname/1.cc: New.
702         * testsuite/22_locale/moneypunct_byname/1.cc: New.
703         * testsuite/22_locale/numpunct_byname/1.cc: New.
705 2015-01-20  Jonathan Wakely  <jwakely@redhat.com>
707         PR libstdc++/64658
708         * include/std/atomic (atomic_init): Define.
709         * testsuite/29_atomics/atomic/64658.cc: New.
711 2015-01-19  Tim Shen  <timshen@google.com>
713         PR libstdc++/64649
714         * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
715         regex_traits<>::lookup_classname): Support forward iterators.
716         * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
717         * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
719 2015-01-19  Tim Shen  <timshen@google.com>
721         PR libstdc++/64584
722         PR libstdc++/64585
723         * include/bits/regex.h (basic_regex<>::basic_regex,
724         basic_regex<>::assign, basic_regex<>::imbue,
725         basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
726         imbuing basic_regex; Make assign() transactional against exception.
727         * include/bits/regex_compiler.h (__compile_nfa<>): Add back
728         __compile_nfa SFINAE.
729         * include/std/regex: Adjust include order to avoid __compile_nfa
730         forward declaration.
731         * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
732         * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
734 2015-01-19  Ville Voutilainen  <ville.voutilainen@gmail.com>
735             Jonathan Wakely  <jwakely@redhat.com>
737         * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
738         on overloads for arrays.
739         (cbegin, cend, rbegin, rend, crbegin, crend): New.
740         * testsuite/24_iterators/range_access_cpp14.cc: New.
742 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
744         PR libstdc++/64646
745         * include/bits/stl_algo.h (__is_permutation): Also test for reaching
746         end of the second range.
747         * testsuite/25_algorithms/is_permutation/64646.cc: New.
749 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
751         * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
752         * doc/html/manual/status.html: Regenerate.
754 2015-01-18  Jonathan Wakely  <jwakely@redhat.com>
756         * include/bits/atomic_futex.h: Use mutex and condition_variable when
757         atomic int is not lock-free. Make member variables private.
758         * src/c++11/futex.cc: Likewise.
760         * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
762 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
764         PR libstdc++/64638
765         * include/bits/atomic_futex.h: Use appropriate config macros for
766         availability of std::mutex, std::condition and std::chrono.
768 2015-01-17  Ville Voutilainen  <ville.voutilainen@gmail.com>
769             Jonathan Wakely  <jwakely@redhat.com>
771         * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
772         * doc/html/*: Regenerate.
774 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
776         DR 488
777         PR libstdc++/58357
778         * include/bits/algorithmfwd.h (rotate): Return an iterator.
779         * include/bits/stl_algo.h (rotate, __rotate): Likewise.
780         * testsuite/25_algorithms/rotate/dr488.cc: New.
781         * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
782         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
783         2.cc: Likewise.
784         * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
785         pod.cc: Likewise.
787 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
789         PR libstdc++/60940
790         * include/bits/atomic_base.h: Remove atomic integral typedefs as
791         synonyms for __atomic_base<int> etc.
792         * include/std/atomic: Make atomic_int a synonym for atomic<int> and
793         likewise for all atomic integral types.
794         * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
795         * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
797 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
799         PR libstdc++/56785
800         * include/std/tuple (_Tuple_impl): Remove zero-element specialization
801         and define one-element specialization.
802         * testsuite/20_util/tuple/56785.cc: New.
804 2015-01-17  Jonathan Wakely  <jwakely@redhat.com>
806         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
807         Remove unused header.
808         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
809         Likewise.
810         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
811         Likewise.
813 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
815         * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
816         * include/std/locale: Include new header.
817         * include/Makefile.am: Add it.
818         * include/Makefile.in: Regenerate.
819         * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
820         * testsuite/22_locale/conversions/string/1.cc: New.
821         * testsuite/22_locale/conversions/string/2.cc: New.
822         * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
823         * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
824         New.
826 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
828         * config/abi/pre/gnu.ver: Export new symbols.
829         * include/Makefile.am: Add codecvt.
830         * include/Makefile.in: Regenerate.
831         * include/std/codecvt: New header.
832         * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
833         __codecvt_utf8_utf16_base): Define specializations.
834         * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
835         * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
836         * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
837         New.
839 2015-01-16  Torvald Riegel  <triegel@redhat.com>
841         * src/c++11/futex.cc: New file.
842         * include/bits/atomic_futex.h: New file.
843         * include/std/future (__future_base::_State_baseV2): Use
844         atomic_futex_unsigned instead of mutex+condvar.
845         * src/c++11/futex.cc: Likewise.
846         * include/Makefile.am: Add atomic_futex.h.
847         * include/Makefile.in: Likewise.
848         * src/c++11/Makefile.am: Add futex.cc.
849         * src/c++11/Makefile.in: Likewise.
851 2015-01-16  Jonathan Wakely  <jwakely@redhat.com>
853         * acinclude.m4: Fix typo in comment.
854         * configure: Regenerate.
855         * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
856         codecvt<char16_t, char, mbstate_t>): Declare specializations.
857         * include/bits/locale_facets.h: Reserve space for new specializations.
858         * src/c++11/Makefile.am: Add codecvt.cc.
859         * src/c++11/Makefile.in: Regenerate.
860         * src/c++11/codecvt.cc: New.
861         * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
862         with -std=gnu++11.
863         * src/c++98/Makefile.in: Regenerate.
864         * src/c++98/locale_init.cc: Initialize new codecvt specializations.
865         * src/c++98/localename.cc: Likewise.
866         * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
867         * testsuite/22_locale/codecvt/utf8.cc: New.
868         * testsuite/22_locale/locale/cons/unicode.cc: Check that new
869         specializations are installed in locale objects.
871 2015-01-16  Torvald Riegel  <triegel@redhat.com>
873         * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
874         implementation.
876 2015-01-13  Jonathan Wakely  <jwakely@redhat.com>
878         PR libstdc++/64571
879         * config/abi/pre/gnu.ver: Export fstream functions using new string.
881 2015-01-12  Jonathan Wakely  <jwakely@redhat.com>
883         PR libstdc++/64560
884         * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
885         for RTTI support.
887         PR libstdc++/64553
888         * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
890 2015-01-10  Thomas Schwinge  <thomas@codesourcery.com>
892         * doc/xml/manual/parallel_mode.xml: Update for libgomp being
893         renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
894         Multi Processing Runtime Library".
896 2015-01-09  Jonathan Wakely  <jwakely@redhat.com>
898         PR libstdc++/64476
899         * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
900         is_assignable arguments.
901         * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
902         New.
904 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
906         * libsupc++/unwind-cxx.h: Revert previous commit.
908 2015-01-09  Andreas Tobler  <andreast@gcc.gnu.org>
910         * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
912 2015-01-09  Tim Shen  <timshen@google.com>
914         PR libstdc++/64239
915         * include/bits/regex.h (match_results<>::swap): Use std::swap
916         instead of swap.
917         * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
918         Likewise.
919         * testsuite/28_regex/match_results/swap.cc: New testcase.
921 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
923         PR libstdc++/60132
924         * include/std/type_traits (has_trivial_default_constructor,
925         has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
926         attribute.
927         * testsuite/20_util/has_trivial_copy_assign/requirements/
928         explicit_instantiation.cc: Use -Wno-deprecated.
929         * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
930         Likewise.
931         * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
932         * testsuite/20_util/has_trivial_copy_constructor/requirements/
933         explicit_instantiation.cc: Likewise.
934         * testsuite/20_util/has_trivial_copy_constructor/requirements/
935         typedefs.cc: Likewise.
936         * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
937         * testsuite/20_util/has_trivial_default_constructor/requirements/
938         explicit_instantiation.c: Likewise.
939         * testsuite/20_util/has_trivial_default_constructor/requirements/
940         typedefs.cc: Likewise.
941         * testsuite/20_util/has_trivial_default_constructor/value.cc:
942         Likewise.
943         * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
944         trait.
945         * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
946         * testsuite/util/testsuite_common_types.h: Likewise.
948 2015-01-08  Jonathan Wakely  <jwakely@redhat.com>
950         * include/bits/hashtable_policy.h: Use __bool_constant.
952 2015-01-07  Jonathan Wakely  <jwakely@redhat.com>
954         * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
955         * libsupc++/Makefile.in: Regenerate.
957 2015-01-06  Jonathan Wakely  <jwakely@redhat.com>
959         * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
961 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
963         Update copyright years.
965 2015-01-04  Jonathan Wakely  <jwakely@redhat.com>
967         PR libstdc++/64483
968         * testsuite/18_support/exception_ptr/64241.cc: Use
969         dg-require-atomic-builtins.
971 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
973         * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
974         date.
976 2015-01-02  Tim Shen  <timshen@google.com>
978         PR libstdc++/64475
979         * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
980         iterator, since the original one shouldn't be mutated.
982 2015-01-02  Bernd Edlinger  <bernd.edlinger@hotmail.de>
984         PR libstdc++/64422
985         * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
986         (string::insert): Likewise.
987         (string::replace): Likewise.
988         (wstring::erase): Likewise.
989         (wstring::insert): Likewise.
990         (wstring::replace): Likewise.
991         * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
993 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
995         PR libstdc++/64468
996         * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
998 2015-01-02  Jonathan Wakely  <jwakely@redhat.com>
1000         PR libstdc++/64438
1001         * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
1002         Revert removal of dg-require-string-conversions.
1003         * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1004         Likewise.
1005         * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1006         Likewise.
1007         * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1008         Likewise.
1009         * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1010         Likewise.
1011         * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1012         Likewise.
1013         * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1014         Likewise.
1015         * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1016         Likewise.
1017         * testsuite/21_strings/basic_string/numeric_conversions/char/
1018         stoull.cc: Likewise.
1019         * testsuite/21_strings/basic_string/numeric_conversions/char/
1020         to_string.cc: Likewise.
1022 Copyright (C) 2015 Free Software Foundation, Inc.
1024 Copying and distribution of this file, with or without modification,
1025 are permitted in any medium without royalty provided the copyright
1026 notice and this notice are preserved.