1 2014-07-01 Tim Shen <timshen@google.com>
4 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
5 not just regex containing back-references.
6 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
7 exchange _M_next and _M_alt for alternative operator,
8 making matching from left to right.
9 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
10 Add position tracking fom DFS.
11 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
12 _Executor<>::_M_dfs): Likewise.
13 * include/bits/regex_scanner.h: Remove unused enum entry.
14 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
17 2014-06-30 Jason Merrill <jason@redhat.com>
19 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
22 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
25 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
29 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
31 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
33 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
35 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
37 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
40 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
42 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
43 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
44 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
46 * include/ext/alloc_traits.h: Fix comment.
48 * include/Makefile.am: Add new header.
49 * include/Makefile.in: Regenerate.
50 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
51 New RAII utilities for working with allocators.
52 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
53 __allocator_type typedef and use new __allocated_ptr type.
54 (_Sp_counted_ptr_inplace): Likewise.
55 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
56 __allocate_guarded to to simplify exception handling.
57 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
58 * include/std/future (_Result_alloc::_M_destroy): Likewise.
59 (_Result_alloc::_S_allocate_result): Likewise.
60 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
61 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
62 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
63 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
65 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
67 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
69 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
70 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
72 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
74 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
75 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
76 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
77 Remove unused typedef.
78 (time_get::do_get_monthname): Likewise.
79 * include/bits/stl_tree.h: Add system_header pragma.
80 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
81 redundant const-qualifier.
82 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
83 instead of _GLIBCXX_USE_CONSTEXPR.
85 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
87 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
88 * include/std/chrono (_Checked_integral_constant): Allow zero.
89 * testsuite/20_util/duration/literals/values.cc: Test non-positive
90 values and digit separators.
91 * include/experimental/any
94 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
95 apply the signed specifier to wchar_t.
96 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
97 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
98 cv-qualifier and size.
99 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
102 * include/experimental/any (any_v1): Rename namespace to
103 fundamentals_v1. Change string returned by bad_any_cast::what().
104 * include/experimental/optional (fundamentals_v1): Add namespace.
105 * include/experimental/string_view (fundamentals_v1): Likewise.
106 * testsuite/experimental/any/typedefs.cc: New.
107 * testsuite/experimental/optional/typedefs.cc: New.
108 * testsuite/experimental/string_view/typedefs.cc: New.
110 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
111 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
114 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
116 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
118 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
119 * include/Makefile.am: Add new header.
120 * include/Makefile.in: Regenerate.
121 * include/experimental/any: New.
122 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
124 * testsuite/experimental/any/assign/1.cc: New.
125 * testsuite/experimental/any/assign/2.cc: New.
126 * testsuite/experimental/any/cons/1.cc: New.
127 * testsuite/experimental/any/cons/2.cc: New.
128 * testsuite/experimental/any/cons/3.cc: New.
129 * testsuite/experimental/any/misc/any_cast.cc: New.
130 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
131 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
132 * testsuite/experimental/any/misc/swap.cc: New.
133 * testsuite/experimental/any/modifiers/1.cc: New.
134 * testsuite/experimental/any/observers/type.cc: New.
136 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
137 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
139 * include/bits/shared_ptr.h (shared_ptr): Likewise.
140 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
142 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
144 * include/parallel/list_partition.h (__parallel::list_partition):
146 * include/std/iomanip (quoted): Likewise.
147 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
149 * doc/xml/api.xml: Link to more recent API docs.
150 * include/bits/allocator.h: Fix link in doxygen comment.
151 * include/bits/char_traits.h: Likewise.
152 * include/bits/ios_base.h: Likewise.
153 * include/bits/stl_map.h: Likewise.
154 * include/bits/stl_multimap.h: Likewise.
155 * include/bits/stl_multiset.h: Likewise.
156 * include/bits/stl_set.h: Likewise.
157 * include/bits/unordered_map.h: Likewise.
158 * include/bits/unordered_set.h: Likewise.
159 * include/ext/mt_allocator.h: Likewise.
160 * include/std/fstream: Likewise.
161 * include/std/iosfwd: Likewise.
162 * include/std/ostream: Likewise.
163 * include/std/sstream: Likewise.
164 * include/std/streambuf: Likewise.
165 * doc/html/*: Regenerate.
167 * include/experimental/any (any_cast): Combine duplicate doxygen
169 * include/experimental/string_view (basic_string_view): Update
171 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
172 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
173 (dynamic_bitset): Improve Doxygen comments.
174 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
177 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
179 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
180 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
182 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
185 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
186 (bin_search_tree_traits): Do not redeclare template-parameters.
187 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
189 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
191 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
192 parameter for DocBook HTML generation.
193 * doc/Makefile.in: Regenerate.
194 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
195 * doc/xml/faq.xml: Update content and improve formatting.
196 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
197 * doc/xml/manual/allocator.xml: Add stable ID attribute.
198 * doc/xml/manual/bitmap_allocator.xml: Likewise.
199 * doc/xml/manual/build_hacking.xml: Likewise.
200 * doc/xml/manual/codecvt.xml: Change URL.
201 * doc/xml/manual/ctype.xml: Add stable ID attribute.
202 * doc/xml/manual/debug_mode.xml: Likewise.
203 * doc/xml/manual/documentation_hacking.xml: Likewise.
204 * doc/xml/manual/evolution.xml: Likewise.
205 * doc/xml/manual/extensions.xml: Likewise.
206 * doc/xml/manual/locale.xml: Likewise.
207 * doc/xml/manual/messages.xml: Make section id consistent, improve
209 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
210 * doc/xml/manual/profile_mode.xml: Likewise.
211 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
212 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
213 * doc/xml/manual/status_cxx2011.xml: Likewise.
214 * doc/xml/manual/status_cxx2014.xml: Likewise.
215 * doc/xml/manual/status_cxxtr1.xml: Likewise.
216 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
217 * doc/xml/manual/using.xml: Likewise.
218 * doc/html/*: Regenerate.
220 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
222 * include/tr1/beta_function.tcc: Fix spelling of include guard in
225 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
227 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
229 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
231 DR 2344 - std::quoted doesn't respect padding
232 * include/std/iomanip: Allow for padding in quoted inserters.
233 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
234 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
236 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
238 * testsuite/23_containers/map/operators/1.cc: Simplify test.
240 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
242 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
244 * doc/xml/manual/backwards_compatibility.xml
245 (backwards.second.stringstreams): Likewise.
246 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
248 * doc/xml/manual/containers.xml (associative.bitset.type_string):
249 Replace <quote> in code example.
250 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
251 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
252 fix typos, improve markup.
253 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
254 <emphasis> with <replaceable>.
255 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
256 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
257 and remove newlines in string literal.
259 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
263 * testsuite/20_util/is_assignable/value.cc: Update.
265 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
267 * include/std/condition_variable (condition_variable_any::_Unlock): Do
268 not swallow __forced_unwind.
269 * include/std/future (__future_base::_Task_setter): Likewise.
270 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
272 * include/std/mutex (try_lock): Likewise.
273 * testsuite/30_threads/async/forced_unwind.cc: New.
274 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
276 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
277 members to avoid wasted space when not using a cache.
278 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
279 * include/bits/regex_compiler.tcc
280 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
282 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
283 New enumeration type to indicate match mode.
284 (__detail::_Executor::_State_info): New type holding members only
285 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
287 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
288 Replace template parameter with run-time function parameter.
289 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
290 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
291 implement DFS and BFS mode.
292 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
293 Split implementation into ...
294 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
295 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
296 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
297 argument instead of template argument.
298 (__detail::_Executor::_M_dfs): Likewise.
299 * include/bits/regex_scanner.tcc: Fix typos in comments.
300 * testsuite/performance/28_regex/range.cc: New.
302 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
303 Jonathan Wakely <jwakely@redhat.com>
305 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
307 (aligned_union): New struct (C++11).
308 (aligned_union_t): New type alias (C++14).
309 * doc/xml/manual/status_cxx2011.xml: Update.
310 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
311 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
314 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
317 * include/experimental/string_view (operator basic_string): Correct
319 (to_string): Replace with member function.
320 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
321 allow _M_str to be null.
322 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
323 default constructor semantics.
324 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
325 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
326 copyright dates. Remove unused header.
327 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
329 * testsuite/experimental/string_view/operations/data/char/1.cc:
330 Fix copyright dates. Adjust to new default constructor semantics.
331 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
333 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
335 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
336 (__uses_allocator_arg): Remove unused type.
337 (__uses_alloc0): Turn into a trivial type.
338 (__uses_alloc): Add missing template parameter in primary template.
339 (__uses_alloc_impl): Rename to __uses_alloc_t.
341 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
343 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
344 work with previous versions of Tcl.
346 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
347 Benjamin's old email address.
349 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
352 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
354 * include/tr2/bool_set: Use UTF-8 for accented characters.
355 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
356 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
357 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
359 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
362 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
364 (_State_base::_M_dot): Likewise.
366 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
368 * include/profile/map.h: Fix typo in comment; minor formatting fix.
369 * include/profile/multimap.h: Likewise.
370 * include/profile/set.h: Likewise.
371 * include/profile/multiset.h: Likewise.
373 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
375 * include/profile/array: Clean useless white chars.
376 * include/profile/base.h: Likewise.
377 * include/profile/iterator_tracker.h: Likewise.
378 * include/profile/bitset: Code cleanup and remove not instrumented code.
379 * include/profile/deque: Likewise.
380 * include/profile/forward_list: Likewise.
381 * include/profile/list (std::__profile::_List_profile<>): New.
382 (std::__profile::list<>): Inherit from latter and adapt.
383 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
384 advise to match any ordered to unordered container conversion.
385 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
387 * include/Makefile.am: Add latter.
388 * include/Makefile.in: Regenerate.
389 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
390 remove not instrumented code.
391 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
392 * include/profile/set.h (std::__profile::set<>): Likewise.
393 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
394 * include/profile/unordered_base.h: Add some line feed.
395 * include/profile/unordered_map: Clean useless white chars and replace
397 * include/profile/unordered_set: Likewise.
398 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
399 (std::__profile::_Vector_profile_post<>): New.
400 (std::__profile::vector<>): Inherit from latter and adapt.
402 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
405 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
406 dragonfly target selector to all tests that run on freebsd.
408 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
410 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
411 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
413 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
415 * testsuite/30_threads/call_once/60497.cc: Likewise.
416 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
417 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
418 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
419 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
420 * testsuite/30_threads/promise/60966.cc: Likewise.
421 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
422 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
423 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
424 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
425 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
426 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
427 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
428 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
429 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
430 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
431 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
432 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
433 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
434 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
435 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
436 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
437 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
439 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
442 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
444 * testsuite/23_containers/unordered_set/61143.cc: New.
445 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
447 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
450 * include/std/type_traits: Move include outside namespace std.
451 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
452 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
453 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
456 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
459 2014-05-21 John Marino <gnugcc@marino.st>
461 * acinclude.m4 (*-*-dragonfly*): New target.
462 * configure: Regenerate.
463 * configure.host (*-*-dragonfly*): New target.
464 * config/locale/dragonfly/c_locale.cc: New.
465 * config/locale/dragonfly/ctype_members.cc: New.
466 * config/os/bsd/dragonfly/ctype_base.h: New.
467 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
468 * config/os/bsd/dragonfly/ctype_inline.h: New.
469 * config/os/bsd/dragonfly/os_defines.h: New.
471 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
473 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
474 libstdc++.exp imports those flags via getenv.
475 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
476 CXXFLAGS contains a '-O' flag.
478 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
482 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
485 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
486 and add unwind directives.
488 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
490 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
492 2014-05-20 Tim Shen <timshen91@gmail.com>
495 * include/bits/regex_compiler.h
496 (_BracketMatcher<>::_M_add_character_class): Add negative character
498 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
500 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
503 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
505 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
507 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
509 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
510 * libsupc++/new_opnt.cc: Likewise.
512 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
515 * include/std/future (__future_base::_State_baseV2::_M_set_result):
516 Pass lock into _M_do_set and hold it until the function returns.
517 Signal condition variable after call_once completes.
518 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
520 * testsuite/30_threads/promise/60966.cc: New.
522 2014-05-16 Iain Sandoe <iain@codesourcery.com>
523 Sandra Loosemore <sandra@codesourcery.com>
525 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
526 until after checking that the test is eligible to be run.
528 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
530 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
531 test for 32-bit target.
532 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
534 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
537 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
540 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
541 and add unwind directives.
543 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
545 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
547 * include/std/chrono (chrono_literals::__select_type::_Select_type):
549 (chrono_literals::_Checked_integral_constant): Define.
550 Simplify UDL operator templates and check for overflow.
551 * testsuite/20_util/duration/literals/range.cc: New.
553 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
554 Jonathan Wakely <jwakely@redhat.com>
557 * include/bits/parse_numbers.h: Use integral_constant to remove
558 duplication and simplify.
559 * testsuite/20_util/duration/literals/61166.cc: New.
561 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
564 * include/std/type_traits (__make_unsigned, __make_signed): Define
565 specializations for wchar_t, char16_t and char32_t.
566 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
567 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
568 test for make_unsigned<volatile wchar_t>.
569 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
571 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
573 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
575 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
578 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
580 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
581 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
582 * include/std/utility (tuple_size, tuple_element): Likewise.
583 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
584 Adjust dg-error line number.
586 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
588 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
589 (__tuple_element_t): Define.
590 (tuple_element): Use __tuple_element_t.
591 (__cv_tuple_size): Define.
592 (tuple_size<cv _Tp>): Use __cv_tuple_size.
593 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
594 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
595 (__tuple_compare): Remove size check, re-order parameters.
596 (operator==, operator<): Use static_assert to check requirements.
597 * include/std/functional (__volget): use __tuple_element_t.
598 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
599 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
601 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
604 * include/std/tuple (get, __tuple_compare): Qualify more calls to
605 prevent ADL. Cast comparison results to bool.
606 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
607 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
610 * include/debug/array (get): Qualify call to other get overload.
611 * include/profile/array (get): Likewise.
612 * include/std/array (get): Likewise.
613 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
614 * include/std/mutex (unique_lock, call_once): Use __addressof.
615 (__unlock_impl): Remove unused template.
616 (__try_to_lock): Declare inline.
617 (__try_lock_impl::__do_try_lock): Qualify function calls.
618 (lock): Avoid narrowing conversion.
619 * testsuite/20_util/bind/60497.cc: New.
620 * testsuite/23_containers/array/element_access/60497.cc: New.
621 * testsuite/30_threads/call_once/60497.cc: New.
622 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
624 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
626 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
627 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
628 * acinclude.m4 (libtool_VERSION): Bump.
629 * configure: Regenerate.
630 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
631 * testsuite/28_regex/regex_error/base.cc: New.
633 2014-05-08 Joshua Gay <jgay@gnu.org>
636 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
637 source" with "free software".
638 * doc/html/faq.html: Likewise.
640 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
643 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
645 (operator=(const ios_base&)): Likewise.
646 * include/std/streambuf: Remove trailing whitespace.
647 (basic_streambuf(const basic_streambuf&)): Fix initializer for
648 _M_out_end. Define as defaulted for C++11.
649 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
650 (swap(basic_streambuf&)): Define for C++11.
651 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
654 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
656 * include/std/iostream: Fix URL in comment.
657 * src/c++98/ios_init.cc: Fix path in comment.
659 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
661 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
662 * configure: Regenerate.
664 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
667 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
669 * testsuite/23_containers/set/cons/61023.cc: New.
672 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
674 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
675 arithmetic to obtain a mutable iterator from const_iterator.
676 * include/bits/vector.tcc (vector::insert): Likewise.
677 * include/debug/vector (vector::erase): Likewise.
678 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
679 Adjust dg-error line number.
680 * testsuite/23_containers/vector/requirements/dr438/
681 constructor_1_neg.cc: Likewise.
682 * testsuite/23_containers/vector/requirements/dr438/
683 constructor_2_neg.cc: Likewise.
684 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
687 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
689 * include/Makefile.in: Regenerate.
691 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
693 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
694 parameter to pass the 2 instances to check allocator equality.
695 * include/debug/safe_container.h: New, define _Safe_container<>.
696 * include/Makefile.am: Add previous.
697 * include/debug/deque (std::__debug::deque<>): Inherit
698 _Safe_container<>. Use default implementation for all special
700 * include/debug/forward_list (std::__debug::forward_list<>):
702 * include/debug/list (std::__debug::list<>): Likewise.
703 * include/debug/map.h (std::__debug::map<>): Likewise.
704 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
705 * include/debug/set.h (std::__debug::set<>): Likewise.
706 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
707 * include/debug/string (std::__debug::basic_string<>): Likewise.
708 * include/debug/unordered_map
709 (std::__debug::unordered_map<>): Likewise.
710 (std::__debug::unordered_multimap<>): Likewise.
711 * include/debug/unordered_set
712 (std::__debug::unordered_set<>): Likewise.
713 (std::__debug::unordered_multiset<>): Likewise.
714 * include/debug/vector (std::__debug::vector<>): Likewise.
715 * include/debug/safe_base.h (_Safe_sequence_base()): Add
717 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
718 (~_Safe_sequence_base()): Add noexcept.
719 * include/debug/safe_sequence.h
720 (std::__debug::_Safe_node_sequence<>): New.
721 * include/debug/safe_unordered_base.h
722 (_Safe_unordered_container_base()): Add noexcept.
723 (~_Safe_unordered_container_base()): Likewise.
724 (_M_swap(_Safe_unordered_container_base&)): Likewise.
725 * include/debug/safe_unordered_container.h:
726 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
727 (_Safe_unordered_container<>::_M_invalidate_all()): New.
728 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
730 * testsuite/util/debug/checks.h (check_construct1): Just implement
731 an invalid constructor invocation and no other operations
732 potentially not supported by some types of container.
733 (check_construct2): Likewise.
734 (check_construct3): Likewise.
735 * testsuite/23_containers/forward_list/allocator/move.cc: Add
736 check on iterators to make sure they are correctly moved in debug
738 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
740 * testsuite/23_containers/map/allocator/move.cc: Likewise.
741 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
742 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
743 * testsuite/23_containers/multimap/allocator/move_assign.cc:
745 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
746 * testsuite/23_containers/multiset/allocator/move_assign.cc:
748 * testsuite/23_containers/set/allocator/move.cc: Likewise.
749 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
750 * testsuite/23_containers/unordered_map/allocator/move.cc:
752 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
754 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
756 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
758 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
760 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
762 * testsuite/23_containers/unordered_set/allocator/move.cc:
764 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
766 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
768 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
770 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
772 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
774 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
776 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
777 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
778 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
779 * testsuite/23_containers/map/debug/move_neg.cc: New.
780 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
781 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
782 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
783 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
784 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
785 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
786 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
787 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
788 * testsuite/23_containers/set/debug/move_neg.cc: New.
789 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
791 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
793 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
794 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
796 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
798 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
800 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
802 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
804 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
806 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
808 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
810 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
811 * testsuite/23_containers/vector/debug/move_neg.cc: New.
813 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
815 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
816 (CXXABI_1.3.9): Remove __float128 symbols.
818 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
821 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
822 function to handle both C++03 and C++11 _Rb_tree_node implementations.
823 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
824 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
826 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
829 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
830 Check the correct type in the static assertion.
831 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
833 2014-04-27 Tim Shen <timshen91@gmail.com>
835 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
836 Add _S_opcode_repeat support to distingush a loop from
837 _S_opcode_alternative.
838 * include/bits/regex_automaton.tcc (_State_base::_M_print,
839 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
840 _StateSeq<>::_M_clone): Likewise.
841 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
843 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
844 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
845 Uglify local variable __i.
846 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
847 Use size_t instead of int to compare with vector::size().
849 2014-04-27 Tim Shen <timshen91@gmail.com>
851 * include/bits/regex_executor.h: Add _M_rep_count to track how
852 many times this repeat node are visited.
853 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
854 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
857 2014-04-27 Tim Shen <timshen91@gmail.com>
859 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
860 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
861 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
862 * include/bits/regex_automaton.h: Remove quantifier counting variable.
863 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
864 Adjust debug NFA dump.
866 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
869 * include/experimental/optional (operator!=): Implement in terms of
871 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
872 * testsuite/experimental/optional/relops/2.cc: Likewise.
873 * testsuite/experimental/optional/relops/3.cc: Likewise.
874 * testsuite/experimental/optional/relops/4.cc: Likewise.
875 * testsuite/experimental/optional/relops/5.cc: Likewise.
876 * testsuite/experimental/optional/relops/6.cc: Likewise.
878 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
881 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
882 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
885 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
887 * testsuite/util/testsuite_abi.cc (check_version): Update for
890 2014-04-24 Tim Shen <timshen91@gmail.com>
892 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
893 Do _M_alt before _M_next.
894 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
896 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
899 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
900 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
901 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
903 2014-04-24 Andreas Schwab <schwab@suse.de>
905 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
906 new CXXABI_1.3.9 symbols.
908 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
910 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
911 (CXXABI_1.3.9): New version.
913 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
916 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
917 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
918 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
920 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
922 * configure.host: Remove solaris2.9 handling.
923 Change os_include_dir to os/solaris/solaris2.10.
924 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
925 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
926 * configure: Regenerate.
927 * config/abi/post/solaris2.9: Remove.
928 * config/os/solaris/solaris2.9: Rename to ...
929 * config/os/solaris/solaris2.10: ... this.
930 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
933 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
934 Remove Solaris 9 reference.
935 * doc/html/manual/configure.html: Regenerate.
937 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
938 Remove *-*-solaris2.9 xfail.
939 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
942 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
945 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
947 * include/std/functional (__is_location_invariant): Use __or_ helper.
949 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
952 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
955 * include/std/atomic (atomic<_Tp>): Add static assertion.
956 * testsuite/29_atomics/atomic/60695.cc: New.
959 * include/std/functional (function::_Callable): Exclude own type
960 from the callable checks.
961 * testsuite/20_util/function/60594.cc: New.
963 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
964 const to constexpr member functions.
966 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
967 delegating constructor.
968 * include/bits/shared_ptr_base.h
969 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
971 * include/std/atomic: Uglify parameter names.
974 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
975 1.cc: Fix invalid explicit instantiations with unqualified names.
976 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
978 * testsuite/20_util/tuple/53648.cc: Likweise.
979 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
981 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
983 * testsuite/23_containers/unordered_map/requirements/
984 debug_container.cc: Likewise.
985 * testsuite/23_containers/unordered_map/requirements/
986 explicit_instantiation/3.cc: Likewise.
987 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
989 * testsuite/23_containers/unordered_multimap/requirements/
990 explicit_instantiation/3.cc: Likewise.
991 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
993 * testsuite/23_containers/unordered_multiset/requirements/
994 explicit_instantiation/3.cc: Likewise.
995 * testsuite/23_containers/unordered_set/requirements/
996 debug_container.cc: Likewise.
997 * testsuite/23_containers/unordered_set/requirements/
998 explicit_instantiation/3.cc: Likewise.
1000 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1001 not use uninitialized members in mem-initializers.
1002 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1003 * testsuite/util/testsuite_common_types.h: Update comment.
1005 * include/experimental/string_view: Fix inconsistent exception specs.
1007 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1008 Remove name of unused parameter.
1010 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1012 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1013 _Vector_base::_M_allocate): NullablePointer requirements do not
1014 include initialization from literal zero, use value-initialization.
1015 * include/bits/vector.tcc (vector::_M_insert_aux,
1016 vector::_M_explace_back_aux): Likewise for assignment.
1018 * include/bits/allocator.h (operator==, operator!=): Add exception
1022 * include/std/tuple (get): Qualify calls to prevent ADL.
1023 * testsuite/20_util/tuple/60497.cc: New.
1025 * include/std/tuple (tuple_element_t): Define.
1026 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1028 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1030 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1033 * include/bits/stl_iterator.h (move_iterator::reference,
1034 move_iterator::operator*): Implement LWG 2106.
1035 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1037 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1039 * include/std/complex (__complex_exp, pow): Specify the template
1040 parameter in calls to std::polar, for expression templates.
1042 2014-04-10 Andreas Schwab <schwab@suse.de>
1044 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1046 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1047 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1049 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1051 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1053 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1054 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1055 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1058 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1059 Jack Howarth <howarth@bromo.med.uc.edu>
1062 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1065 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1067 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1069 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1071 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1072 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1073 * doc/xml/manual/concurrency_extensions.xml
1074 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1075 * doc/html/*: Regenerate.
1077 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1078 Jonathan Wakely <jwakely@redhat.com>
1081 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1082 string if input is not quoted.
1083 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1085 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1087 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1089 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1091 * testsuite/18_support/exception_ptr/60612-terminate.cc
1092 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1093 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1095 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1097 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1099 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1100 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1102 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1104 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1106 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1107 Fix bad s/part/chapter/ substitutions.
1108 * doc/xml/manual/io.xml (std.io): Likewise.
1109 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1110 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1112 * doc/html/*: Regenerate.
1114 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1117 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1118 compatible with __cxa_exception.
1119 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1120 Fix typos in comments.
1121 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1122 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1124 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1127 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1128 Use sizeof pointer type not the element type.
1129 * testsuite/29_atomics/atomic/60658.cc: New.
1131 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1133 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1134 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1135 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1136 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1137 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1138 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1139 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1140 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1141 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1142 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1145 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1147 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1149 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1151 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1152 to delegated constructor.
1153 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1154 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1157 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1159 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1162 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1164 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1167 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1168 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1170 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1171 from different types of debug container. Use _Is_contiguous_sequence
1172 instead of is_lvalue_reference.
1173 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1174 dereferencing past-the-end iterator.
1175 (__foreign_iterator_aux4): Use const value_type* instead of
1176 potentially user-defined const_pointer type.
1177 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1178 and pass end iterator to __gnu_debug::__foreign_iterator.
1179 (__glibcxx_check_insert_range_after): Likewise.
1180 (__glibcxx_check_max_load_factor): Fix comment.
1181 * include/debug/vector (_Is_contiguous_sequence): Define partial
1183 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1184 -std=gnu++11 option and unused header.
1185 * testsuite/23_containers/vector/debug/60587.cc: New.
1186 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1188 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1190 * crossconfig.m4: Support spu-*-elf* targets.
1191 * configure: Regenerate.
1193 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1196 * include/std/future (__future_base::_Task_state<>): Change
1197 constructors to template functions using perfect forwarding.
1198 (__create_task_state): Use decayed type as stored task.
1199 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1200 * testsuite/30_threads/packaged_task/60564.cc: New.
1202 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1204 * scripts/create_testsuite_files: Add testsuite/experimental in
1205 the list of folders to search for tests.
1207 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1209 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1211 2014-03-15 Tim Shen <timshen91@gmail.com>
1213 * include/bits/regex.h: Add/modify comments.
1214 * include/bits/regex_compiler.h: Likewise.
1215 * include/bits/regex_executor.h: Likewise.
1216 * include/bits/regex_executor.tcc: Likewise.
1217 * include/bits/regex_scanner.h: Likewise.
1219 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1222 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1223 _ZNSt12system_errorC* symbols which are not exported on any target.
1225 2014-03-12 Roland McGrath <mcgrathr@google.com>
1226 Mark Seaborn <mseaborn@google.com>
1229 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1230 the address of a null pointer, not with a null pointer to pointer.
1231 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1232 * testsuite/18_support/bad_exception/59392.cc: New file.
1234 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1237 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1239 * include/debug/map (map::operator=(map&&)): Likewise.
1240 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1241 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1242 * include/debug/set (set::operator=(set&&)): Likewise.
1243 * include/debug/unordered_map
1244 (unordered_map::operator=(unordered_map&&)): Likewise.
1245 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1246 * include/debug/unordered_set
1247 (unordered_set::operator=(unordered_set&&)): Likewise.
1248 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1249 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1250 * testsuite/23_containers/forward_list/debug/60499.cc: New
1251 * testsuite/23_containers/map/debug/60499.cc: New
1252 * testsuite/23_containers/multimap/debug/60499.cc: New
1253 * testsuite/23_containers/multiset/debug/60499.cc: New
1254 * testsuite/23_containers/set/debug/60499.cc: New
1255 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1256 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1257 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1258 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1259 * testsuite/23_containers/vector/debug/60499.cc: New
1261 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1263 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1264 for filesystem and fundamentals TS work items.
1266 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1269 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1270 Adjust dg-error directives.
1272 2014-02-26 Tim Shen <timshen91@gmail.com>
1274 * include/bits/regex.tcc (match_results<>::format,
1275 regex_replace<>): Update __out after calling std::copy.
1276 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1278 * testsuite/28_regex/match_results/format.cc: Likewise.
1280 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1283 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1284 allocator_type&)): Remove redundant call to _M_initialize_map.
1285 (deque::deque(const allocator_type&)): Initialize _Base with a
1286 constructor that calls _M_initialize_map.
1290 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1292 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1295 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1297 Rename testsuite directory shared_mutex to shared_timed_mutex
1299 * testsuite/30_threads/shared_mutex: Moved to...
1300 * testsuite/30_threads/shared_timed_mutex: ...here
1302 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1304 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1305 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1306 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1307 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1308 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1309 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1310 * testsuite/30_threads/shared_lock/requirements/
1311 explicit_instantiation.cc: Ditto.
1312 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1313 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1314 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1315 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1316 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1317 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1318 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1319 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1320 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1321 * testsuite/30_threads/shared_mutex/requirements/
1322 standard_layout.cc: Ditto.
1323 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1324 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1325 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1326 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1327 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1329 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1331 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1332 execution on i?86-*-solaris2.9, remove comment.
1333 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1335 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1337 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1338 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1339 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1341 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1343 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1344 not use varargs when argument could be non-POD.
1345 (__alloctr_rebind_helper): Eliminate static const bool member by
1346 using true_type and false_type.
1347 (allocator_traits::__allocate_helper): Likewise.
1348 (allocator_traits::__construct_helper): Likewise.
1349 (allocator_traits::__destroy_helper): Likewise.
1350 (allocator_traits::__maxsize_helper): Likewise.
1351 (allocator_traits::__select_helper): Likewise.
1352 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1353 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1354 Remove redundant condition.
1355 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1357 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1358 indirection through __alloc_traits.
1359 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1360 Eliminate static const bool members by using true_type and false_type.
1361 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1362 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1363 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1365 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1368 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1369 (vector::_M_data_ptr): New overloaded functions to ensure empty
1370 vectors do not dereference the pointer.
1371 * testsuite/23_containers/vector/59829.cc: New.
1372 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1373 Adjust dg-error line number.
1374 * testsuite/23_containers/vector/requirements/dr438/
1375 constructor_1_neg.cc: Likewise.
1376 * testsuite/23_containers/vector/requirements/dr438/
1377 constructor_2_neg.cc: Likewise.
1378 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1382 * include/ext/array_allocator.h: Add deprecated attribute.
1385 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1386 installation and use of python printers.
1387 * doc/xml/manual/status_cxx2011.xml: Update.
1388 * doc/html/*: Regenerate.
1390 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1391 Kyle Lippincott <spectral@google.com>
1394 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1395 constructor and grant friendship to weak_ptr.
1396 (weak_ptr::lock()): Use new constructor.
1397 * include/bits/shared_ptr_base.h
1398 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1399 and define specializations.
1400 (__shared_count): Add new non-throwing constructor.
1401 (__shared_ptr): Add new non-throwing constructor and grant friendship
1403 (__weak_ptr::lock()): Use new constructor.
1404 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1405 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1407 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1410 * include/bits/shared_ptr_base.h
1411 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1414 2014-01-27 Jason Merrill <jason@redhat.com>
1419 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1420 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1421 (__cxa_allocate_exception): Don't set it here.
1423 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1425 * include/bits/stl_map.h: Remove anachronistic comment.
1426 * include/bits/stl_multimap.h: Add whitespace.
1427 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1428 -std=gnu++11 instead of -std=c++11.
1429 * testsuite/23_containers/map/operators/2.cc: Likewise.
1430 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1431 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1432 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1434 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1435 * configure: Regenerate.
1437 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1440 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1441 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1443 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1444 Peter A. Bigot <pab@pabigot.com>
1447 * include/experimental/string_view
1448 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1449 Correct copy start location.
1451 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1452 Peter A. Bigot <pab@pabigot.com>
1455 * include/experimental/string_view (operator[](size_type) const):
1456 Fix one-off index error in debug check.
1457 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1458 test basic_string_view at size().
1459 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1461 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1462 Peter A. Bigot <pab@pabigot.com>
1465 * include/experimental/string_view
1466 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1467 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1468 Comment out catch of out_of_range; No terminating null
1469 in basic_string_view. Check begin == end.
1470 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1473 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1476 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1477 constructor to prevent it being implicitly defined as deleted, but
1478 do not copy anything.
1479 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1480 Define copy and move constructors similar to _Safe_sequence_base's.
1481 * testsuite/23_containers/unordered_map/59548.cc: New.
1483 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1484 Steve Ellcey <sellcey@mips.com>
1486 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1488 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1489 * (configure, config.h.in): Regenerate.
1490 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1492 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1494 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1495 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1498 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1499 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1501 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1503 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1504 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1505 functions to perform moving or copying of elements from rvalue tree.
1506 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1507 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1508 * testsuite/23_containers/map/59872.cc: New.
1509 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1511 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1513 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1516 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1517 Split into separate default constructor and constructor taking
1519 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1520 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1522 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1523 * include/debug/list (list::list(const _Allocator&)): Likewise.
1524 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1526 * include/debug/multimap.h
1527 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1528 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1530 * include/debug/multiset.h
1531 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1532 * include/debug/vector (vector::vector(const allocator_type&)):
1534 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1535 * include/profile/list (list::list(const _Allocator&)): Likewise.
1536 * include/profile/map.h
1537 (map::map(const _Compare&, const _Allocator&)): Likewise.
1538 * include/profile/multimap.h
1539 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1540 * include/profile/set.h
1541 (set::set(const _Compare&, const _Allocator&)): Likewise.
1542 * include/profile/multiset.h
1543 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1544 * include/profile/vector (vector::vector(const _Allocator&)):
1546 * testsuite/23_containers/deque/58764.cc: New.
1547 * testsuite/23_containers/list/58764.cc: New.
1548 * testsuite/23_containers/map/58764.cc: New.
1549 * testsuite/23_containers/multimap/58764.cc: New.
1550 * testsuite/23_containers/set/58764.cc: New.
1551 * testsuite/23_containers/multiset/58764.cc: New.
1552 * testsuite/23_containers/vector/58764.cc: New.
1553 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1554 Adjust dg-error line number.
1555 * testsuite/23_containers/deque/requirements/dr438/
1556 constructor_1_neg.cc: Likewise.
1557 * testsuite/23_containers/deque/requirements/dr438/
1558 constructor_2_neg.cc: Likewise.
1559 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1561 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1563 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1565 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1567 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1569 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1571 * testsuite/23_containers/vector/requirements/dr438/
1572 constructor_1_neg.cc: Likewise.
1573 * testsuite/23_containers/vector/requirements/dr438/
1574 constructor_2_neg.cc: Likewise.
1575 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1578 PR libstdc++/58764 (again)
1579 * include/bits/stl_list.h (list): Make default constructor's exception
1580 specification conditional.
1581 * include/bits/stl_vector.h (vector): Likewise.
1582 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1583 to default constructor.
1584 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1585 Adjust dg-error line number.
1586 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1588 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1590 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1592 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1594 * testsuite/23_containers/vector/requirements/dr438/
1595 constructor_1_neg.cc: Likewise.
1596 * testsuite/23_containers/vector/requirements/dr438/
1597 constructor_2_neg.cc: Likewise.
1598 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1601 2014-01-21 Tim Shen <timshen91@gmail.com>
1603 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1604 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1605 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1607 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1610 * include/bits/hashtable.h (__cache_default): Do not depend on
1611 whether the hash function is DefaultConstructible or CopyAssignable.
1612 (_Hashtable): Adjust static assertions.
1613 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1614 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1615 dg-error line number.
1616 * testsuite/23_containers/unordered_set/
1617 not_default_constructible_hash_neg.cc: Remove.
1619 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1621 * scripts/create_testsuite_files: Add testsuite/experimental in
1622 the list of folders to search for tests.
1623 * include/experimental/string_view
1624 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1625 incompatible with constexpr qualifier.
1626 (basic_string_view<>::front()): Likewise.
1627 (basic_string_view<>::back()): Likewise.
1628 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1629 Merge dg-options directives into one.
1630 * testsuite/experimental/string_view/element_access/char/2.cc:
1631 Likewise. Remove invalid experimental namespace scope on
1634 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1637 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1638 friendship to _Local_iterator_base<..., false>.
1639 (_Local_iterator_base): Give protected access to all existing members.
1640 (_Local_iterator_base::_M_curr()): New public accessor.
1641 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1642 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1643 the lifetime of the _Hash_code_base explicitly.
1644 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1645 (_Local_iterator_base<..., false>): Define copy constructor and copy
1646 assignment operator that use new functions to manage _Hash_code_base.
1647 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1648 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1649 Use public API for _Local_iterator_base.
1650 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1651 * include/debug/unordered_map (__debug::unordered_map::erase(),
1652 __debug::unordered_multimap::erase()): Likewise.
1653 * include/debug/unordered_set (__debug::unordered_set::erase(),
1654 __debug::unordered_multiset::erase()): Likewise.
1655 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1657 2014-01-19 Tim Shen <timshen91@gmail.com>
1659 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1660 Fix parse error of multiple consecutive quantifiers like "a**".
1661 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1663 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1665 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1667 * include/profile/set.h (set): Implement C++11 allocator-aware
1668 container requirements.
1669 * include/profile/map.h (map): Likewise.
1670 * include/profile/multiset.h (multiset): Likewise.
1671 * include/profile/multimap.h (multimap): Likewise.
1672 * include/profile/set.h
1673 (set::operator=(const set&)): Define as default in C++11 mode.
1674 (set::operator=(set&&)): Likewise.
1675 * include/profile/map.h
1676 (map::operator=(const map&)): Likewise.
1677 (map::operator=(map&&)): Likewise.
1678 * include/profile/multiset.h
1679 (multiset::operator=(const multiset&)): Likewise.
1680 (multiset::operator=(multiset&&)): Likewise.
1681 * include/profile/multimap.h
1682 (multimap::operator=(const multimap&)): Likewise.
1683 (multimap::operator=(multimap&&)): Likewise.
1684 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1685 Rely on the same operator from normal mode.
1686 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1688 * include/profile/multiset.h
1689 (multiset::operator=(std::initializer_list<>)): Likewise.
1690 * include/profile/multimap.h
1691 (multimap::operator=(std::initializer_list<>)): Likewise.
1692 * include/profile/set.h (set::swap(set&)): Add noexcept
1694 * include/profile/map.h (map::swap(map&)): Likewise.
1695 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1696 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1698 2014-01-17 Tim Shen <timshen91@gmail.com>
1700 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1702 * include/bits/regex_automaton.h: Do not use std::set.
1703 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1704 _BracketMatcher<>::_M_add_collating_element(),
1705 _BracketMatcher<>::_M_add_equivalence_class(),
1706 _BracketMatcher<>::_M_make_range()): Likewise.
1707 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1709 * include/bits/regex_executor.h: Do not use std::queue.
1710 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1711 _Executor<>::_M_dfs()): Likewise.
1712 * include/std/regex: Remove <map>, <set> and <queue>.
1714 2014-01-17 Tim Shen <timshen91@gmail.com>
1716 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1717 basic_regex<>::assign()): Change __compile_nfa to accept
1719 * include/bits/regex_compiler.h: Change _Compiler's template
1720 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1721 * include/bits/regex_compiler.tcc: Likewise.
1723 2014-01-17 Tim Shen <timshen91@gmail.com>
1725 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1727 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1728 _ScannerBase from _Scanner; Change _Scanner's template argument from
1729 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1731 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1732 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1733 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1735 * include/std/regex: Add <cstring> for using strchr.
1737 2014-01-17 Tim Shen <timshen91@gmail.com>
1739 * bits/regex_automaton.tcc: Indentation fix.
1740 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1741 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1742 _BracketMatcher<>): Add bool option template parameters and
1743 specializations to make matching more efficient and space saving.
1744 * bits/regex_compiler.tcc: Likewise.
1746 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1749 * include/bits/hashtable_policy.h: Fix some long lines.
1750 * include/bits/hashtable.h (__hash_code_base_access): Define and
1751 use it to check its _M_bucket_index noexcept qualification. Use
1753 (__access_protected_ctor): ...this.
1754 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1756 * testsuite/23_containers/unordered_set/
1757 not_default_constructible_hash_neg.cc: Likewise.
1759 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1761 * include/debug/set.h (set): Implement C++11 allocator-aware
1762 container requirements.
1763 * include/debug/map.h (map): Likewise.
1764 * include/debug/multiset.h (multiset): Likewise.
1765 * include/debug/multimap.h (multimap): Likewise.
1766 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1767 fix implementation regarding management of safe iterators.
1768 * include/debug/map.h (map::operator=(map&&)): Likewise.
1769 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1770 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1772 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1773 Rely on the same operator from normal mode.
1774 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1776 * include/debug/multiset.h
1777 (multiset::operator=(std::initializer_list<>)): Likewise.
1778 * include/debug/multimap.h
1779 (multimap::operator=(std::initializer_list<>)): Likewise.
1780 * include/debug/set.h (set::swap(set&)): Add noexcept
1781 specification, add allocator equality check.
1782 * include/debug/map.h (map::swap(map&)): Likewise.
1783 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1784 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1786 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1789 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1790 and stylistic improvements.
1791 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1792 and update for C++11.
1793 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1796 * doc/xml/manual/backwards_compatibility.xml
1797 (backwards.third.nocreate_noreplace): Correct and expand.
1800 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1802 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1805 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1806 support for non-Movable types.
1809 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1811 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1813 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1814 *this allocator instance when building temporary vector instance
1815 so that *this allocator does not get moved.
1816 * include/debug/safe_base.h
1817 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1818 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1819 move constructor from _Safe_sequence_base.
1820 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1821 safe iterators if the instance is moved.
1822 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1823 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1824 check on a vector iterator.
1825 * testsuite/23_containers/vector/allocator/move_assign.cc
1827 (test03): New, test with a non-propagating allocator.
1828 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1830 2014-01-07 Tim Shen <timshen91@gmail.com>
1832 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1833 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1834 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1835 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1836 _BracketMatcher<>::_M_add_char(),
1837 _BracketMatcher<>::_M_add_collating_element(),
1838 _BracketMatcher<>::_M_add_equivalence_class(),
1839 _BracketMatcher<>::_M_add_character_class(),
1840 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1841 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1842 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1843 to template parameter; Add cache for _BracketMatcher. Adjust
1844 declarations from here...
1845 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1846 imbuing a regex will trigger a recompilation to rebuild the cache.
1847 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1848 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1849 different template bool parameters.
1850 * include/bits/regex_executor.h: Remove unnecessary declarations.
1851 * include/std/regex: Adjust including orders.
1852 * testsuite/28_regex/traits/char/user_defined.cc: New.
1853 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1855 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1857 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1858 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1859 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1860 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1861 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1863 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1865 Update copyright years
1867 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1869 * testsuite/18_support/new_handler.cc,
1870 testsuite/18_support/terminate_handler.cc,
1871 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1872 the copyright notice.
1874 Copyright (C) 2014 Free Software Foundation, Inc.
1876 Copying and distribution of this file, with or without modification,
1877 are permitted in any medium without royalty provided the copyright
1878 notice and this notice are preserved.