1 2014-07-01 Tim Shen <timshen@google.com>
5 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
6 a NFA state limit. If it's exceeded, regex_constants::error_space
8 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
9 map (which is sparse) instead of vector. This reduce n times clones'
10 cost from O(n^2) to O(n).
11 * include/std/regex: Add map dependency.
12 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
15 2014-07-01 Tim Shen <timshen@google.com>
18 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
19 not just regex containing back-references.
20 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
21 exchange _M_next and _M_alt for alternative operator,
22 making matching from left to right.
23 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
24 Add position tracking fom DFS.
25 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
26 _Executor<>::_M_dfs): Likewise.
27 * include/bits/regex_scanner.h: Remove unused enum entry.
28 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
31 2014-06-30 Jason Merrill <jason@redhat.com>
33 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
36 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
39 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
40 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
43 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
45 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
47 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
49 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
51 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
54 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
56 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
57 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
58 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
60 * include/ext/alloc_traits.h: Fix comment.
62 * include/Makefile.am: Add new header.
63 * include/Makefile.in: Regenerate.
64 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
65 New RAII utilities for working with allocators.
66 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
67 __allocator_type typedef and use new __allocated_ptr type.
68 (_Sp_counted_ptr_inplace): Likewise.
69 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
70 __allocate_guarded to to simplify exception handling.
71 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
72 * include/std/future (_Result_alloc::_M_destroy): Likewise.
73 (_Result_alloc::_S_allocate_result): Likewise.
74 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
75 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
76 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
77 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
79 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
81 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
83 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
84 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
86 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
88 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
89 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
90 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
91 Remove unused typedef.
92 (time_get::do_get_monthname): Likewise.
93 * include/bits/stl_tree.h: Add system_header pragma.
94 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
95 redundant const-qualifier.
96 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
97 instead of _GLIBCXX_USE_CONSTEXPR.
99 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
101 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
102 * include/std/chrono (_Checked_integral_constant): Allow zero.
103 * testsuite/20_util/duration/literals/values.cc: Test non-positive
104 values and digit separators.
105 * include/experimental/any
108 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
109 apply the signed specifier to wchar_t.
110 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
111 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
112 cv-qualifier and size.
113 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
116 * include/experimental/any (any_v1): Rename namespace to
117 fundamentals_v1. Change string returned by bad_any_cast::what().
118 * include/experimental/optional (fundamentals_v1): Add namespace.
119 * include/experimental/string_view (fundamentals_v1): Likewise.
120 * testsuite/experimental/any/typedefs.cc: New.
121 * testsuite/experimental/optional/typedefs.cc: New.
122 * testsuite/experimental/string_view/typedefs.cc: New.
124 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
125 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
128 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
130 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
132 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
133 * include/Makefile.am: Add new header.
134 * include/Makefile.in: Regenerate.
135 * include/experimental/any: New.
136 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
138 * testsuite/experimental/any/assign/1.cc: New.
139 * testsuite/experimental/any/assign/2.cc: New.
140 * testsuite/experimental/any/cons/1.cc: New.
141 * testsuite/experimental/any/cons/2.cc: New.
142 * testsuite/experimental/any/cons/3.cc: New.
143 * testsuite/experimental/any/misc/any_cast.cc: New.
144 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
145 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
146 * testsuite/experimental/any/misc/swap.cc: New.
147 * testsuite/experimental/any/modifiers/1.cc: New.
148 * testsuite/experimental/any/observers/type.cc: New.
150 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
151 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
153 * include/bits/shared_ptr.h (shared_ptr): Likewise.
154 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
156 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
158 * include/parallel/list_partition.h (__parallel::list_partition):
160 * include/std/iomanip (quoted): Likewise.
161 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
163 * doc/xml/api.xml: Link to more recent API docs.
164 * include/bits/allocator.h: Fix link in doxygen comment.
165 * include/bits/char_traits.h: Likewise.
166 * include/bits/ios_base.h: Likewise.
167 * include/bits/stl_map.h: Likewise.
168 * include/bits/stl_multimap.h: Likewise.
169 * include/bits/stl_multiset.h: Likewise.
170 * include/bits/stl_set.h: Likewise.
171 * include/bits/unordered_map.h: Likewise.
172 * include/bits/unordered_set.h: Likewise.
173 * include/ext/mt_allocator.h: Likewise.
174 * include/std/fstream: Likewise.
175 * include/std/iosfwd: Likewise.
176 * include/std/ostream: Likewise.
177 * include/std/sstream: Likewise.
178 * include/std/streambuf: Likewise.
179 * doc/html/*: Regenerate.
181 * include/experimental/any (any_cast): Combine duplicate doxygen
183 * include/experimental/string_view (basic_string_view): Update
185 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
186 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
187 (dynamic_bitset): Improve Doxygen comments.
188 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
191 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
193 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
194 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
196 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
199 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
200 (bin_search_tree_traits): Do not redeclare template-parameters.
201 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
203 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
205 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
206 parameter for DocBook HTML generation.
207 * doc/Makefile.in: Regenerate.
208 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
209 * doc/xml/faq.xml: Update content and improve formatting.
210 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
211 * doc/xml/manual/allocator.xml: Add stable ID attribute.
212 * doc/xml/manual/bitmap_allocator.xml: Likewise.
213 * doc/xml/manual/build_hacking.xml: Likewise.
214 * doc/xml/manual/codecvt.xml: Change URL.
215 * doc/xml/manual/ctype.xml: Add stable ID attribute.
216 * doc/xml/manual/debug_mode.xml: Likewise.
217 * doc/xml/manual/documentation_hacking.xml: Likewise.
218 * doc/xml/manual/evolution.xml: Likewise.
219 * doc/xml/manual/extensions.xml: Likewise.
220 * doc/xml/manual/locale.xml: Likewise.
221 * doc/xml/manual/messages.xml: Make section id consistent, improve
223 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
224 * doc/xml/manual/profile_mode.xml: Likewise.
225 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
226 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
227 * doc/xml/manual/status_cxx2011.xml: Likewise.
228 * doc/xml/manual/status_cxx2014.xml: Likewise.
229 * doc/xml/manual/status_cxxtr1.xml: Likewise.
230 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
231 * doc/xml/manual/using.xml: Likewise.
232 * doc/html/*: Regenerate.
234 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
236 * include/tr1/beta_function.tcc: Fix spelling of include guard in
239 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
241 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
243 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
245 DR 2344 - std::quoted doesn't respect padding
246 * include/std/iomanip: Allow for padding in quoted inserters.
247 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
248 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
250 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
252 * testsuite/23_containers/map/operators/1.cc: Simplify test.
254 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
256 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
258 * doc/xml/manual/backwards_compatibility.xml
259 (backwards.second.stringstreams): Likewise.
260 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
262 * doc/xml/manual/containers.xml (associative.bitset.type_string):
263 Replace <quote> in code example.
264 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
265 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
266 fix typos, improve markup.
267 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
268 <emphasis> with <replaceable>.
269 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
270 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
271 and remove newlines in string literal.
273 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
277 * testsuite/20_util/is_assignable/value.cc: Update.
279 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
281 * include/std/condition_variable (condition_variable_any::_Unlock): Do
282 not swallow __forced_unwind.
283 * include/std/future (__future_base::_Task_setter): Likewise.
284 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
286 * include/std/mutex (try_lock): Likewise.
287 * testsuite/30_threads/async/forced_unwind.cc: New.
288 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
290 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
291 members to avoid wasted space when not using a cache.
292 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
293 * include/bits/regex_compiler.tcc
294 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
296 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
297 New enumeration type to indicate match mode.
298 (__detail::_Executor::_State_info): New type holding members only
299 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
301 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
302 Replace template parameter with run-time function parameter.
303 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
304 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
305 implement DFS and BFS mode.
306 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
307 Split implementation into ...
308 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
309 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
310 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
311 argument instead of template argument.
312 (__detail::_Executor::_M_dfs): Likewise.
313 * include/bits/regex_scanner.tcc: Fix typos in comments.
314 * testsuite/performance/28_regex/range.cc: New.
316 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
317 Jonathan Wakely <jwakely@redhat.com>
319 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
321 (aligned_union): New struct (C++11).
322 (aligned_union_t): New type alias (C++14).
323 * doc/xml/manual/status_cxx2011.xml: Update.
324 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
325 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
328 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
331 * include/experimental/string_view (operator basic_string): Correct
333 (to_string): Replace with member function.
334 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
335 allow _M_str to be null.
336 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
337 default constructor semantics.
338 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
339 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
340 copyright dates. Remove unused header.
341 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
343 * testsuite/experimental/string_view/operations/data/char/1.cc:
344 Fix copyright dates. Adjust to new default constructor semantics.
345 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
347 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
349 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
350 (__uses_allocator_arg): Remove unused type.
351 (__uses_alloc0): Turn into a trivial type.
352 (__uses_alloc): Add missing template parameter in primary template.
353 (__uses_alloc_impl): Rename to __uses_alloc_t.
355 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
357 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
358 work with previous versions of Tcl.
360 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
361 Benjamin's old email address.
363 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
366 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
368 * include/tr2/bool_set: Use UTF-8 for accented characters.
369 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
370 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
371 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
373 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
376 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
378 (_State_base::_M_dot): Likewise.
380 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
382 * include/profile/map.h: Fix typo in comment; minor formatting fix.
383 * include/profile/multimap.h: Likewise.
384 * include/profile/set.h: Likewise.
385 * include/profile/multiset.h: Likewise.
387 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
389 * include/profile/array: Clean useless white chars.
390 * include/profile/base.h: Likewise.
391 * include/profile/iterator_tracker.h: Likewise.
392 * include/profile/bitset: Code cleanup and remove not instrumented code.
393 * include/profile/deque: Likewise.
394 * include/profile/forward_list: Likewise.
395 * include/profile/list (std::__profile::_List_profile<>): New.
396 (std::__profile::list<>): Inherit from latter and adapt.
397 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
398 advise to match any ordered to unordered container conversion.
399 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
401 * include/Makefile.am: Add latter.
402 * include/Makefile.in: Regenerate.
403 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
404 remove not instrumented code.
405 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
406 * include/profile/set.h (std::__profile::set<>): Likewise.
407 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
408 * include/profile/unordered_base.h: Add some line feed.
409 * include/profile/unordered_map: Clean useless white chars and replace
411 * include/profile/unordered_set: Likewise.
412 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
413 (std::__profile::_Vector_profile_post<>): New.
414 (std::__profile::vector<>): Inherit from latter and adapt.
416 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
419 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
420 dragonfly target selector to all tests that run on freebsd.
422 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
424 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
425 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
427 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
429 * testsuite/30_threads/call_once/60497.cc: Likewise.
430 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
431 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
432 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
433 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
434 * testsuite/30_threads/promise/60966.cc: Likewise.
435 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
436 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
437 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
438 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
439 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
440 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
441 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
442 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
443 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
444 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
445 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
446 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
447 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
448 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
449 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
450 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
451 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
453 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
456 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
458 * testsuite/23_containers/unordered_set/61143.cc: New.
459 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
461 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
464 * include/std/type_traits: Move include outside namespace std.
465 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
466 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
467 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
470 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
473 2014-05-21 John Marino <gnugcc@marino.st>
475 * acinclude.m4 (*-*-dragonfly*): New target.
476 * configure: Regenerate.
477 * configure.host (*-*-dragonfly*): New target.
478 * config/locale/dragonfly/c_locale.cc: New.
479 * config/locale/dragonfly/ctype_members.cc: New.
480 * config/os/bsd/dragonfly/ctype_base.h: New.
481 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
482 * config/os/bsd/dragonfly/ctype_inline.h: New.
483 * config/os/bsd/dragonfly/os_defines.h: New.
485 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
487 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
488 libstdc++.exp imports those flags via getenv.
489 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
490 CXXFLAGS contains a '-O' flag.
492 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
496 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
499 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
500 and add unwind directives.
502 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
504 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
506 2014-05-20 Tim Shen <timshen91@gmail.com>
509 * include/bits/regex_compiler.h
510 (_BracketMatcher<>::_M_add_character_class): Add negative character
512 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
514 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
517 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
519 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
521 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
523 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
524 * libsupc++/new_opnt.cc: Likewise.
526 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
529 * include/std/future (__future_base::_State_baseV2::_M_set_result):
530 Pass lock into _M_do_set and hold it until the function returns.
531 Signal condition variable after call_once completes.
532 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
534 * testsuite/30_threads/promise/60966.cc: New.
536 2014-05-16 Iain Sandoe <iain@codesourcery.com>
537 Sandra Loosemore <sandra@codesourcery.com>
539 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
540 until after checking that the test is eligible to be run.
542 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
544 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
545 test for 32-bit target.
546 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
548 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
551 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
554 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
555 and add unwind directives.
557 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
559 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
561 * include/std/chrono (chrono_literals::__select_type::_Select_type):
563 (chrono_literals::_Checked_integral_constant): Define.
564 Simplify UDL operator templates and check for overflow.
565 * testsuite/20_util/duration/literals/range.cc: New.
567 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
568 Jonathan Wakely <jwakely@redhat.com>
571 * include/bits/parse_numbers.h: Use integral_constant to remove
572 duplication and simplify.
573 * testsuite/20_util/duration/literals/61166.cc: New.
575 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
578 * include/std/type_traits (__make_unsigned, __make_signed): Define
579 specializations for wchar_t, char16_t and char32_t.
580 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
581 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
582 test for make_unsigned<volatile wchar_t>.
583 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
585 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
587 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
589 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
592 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
594 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
595 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
596 * include/std/utility (tuple_size, tuple_element): Likewise.
597 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
598 Adjust dg-error line number.
600 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
602 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
603 (__tuple_element_t): Define.
604 (tuple_element): Use __tuple_element_t.
605 (__cv_tuple_size): Define.
606 (tuple_size<cv _Tp>): Use __cv_tuple_size.
607 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
608 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
609 (__tuple_compare): Remove size check, re-order parameters.
610 (operator==, operator<): Use static_assert to check requirements.
611 * include/std/functional (__volget): use __tuple_element_t.
612 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
613 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
615 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
618 * include/std/tuple (get, __tuple_compare): Qualify more calls to
619 prevent ADL. Cast comparison results to bool.
620 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
621 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
624 * include/debug/array (get): Qualify call to other get overload.
625 * include/profile/array (get): Likewise.
626 * include/std/array (get): Likewise.
627 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
628 * include/std/mutex (unique_lock, call_once): Use __addressof.
629 (__unlock_impl): Remove unused template.
630 (__try_to_lock): Declare inline.
631 (__try_lock_impl::__do_try_lock): Qualify function calls.
632 (lock): Avoid narrowing conversion.
633 * testsuite/20_util/bind/60497.cc: New.
634 * testsuite/23_containers/array/element_access/60497.cc: New.
635 * testsuite/30_threads/call_once/60497.cc: New.
636 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
638 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
640 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
641 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
642 * acinclude.m4 (libtool_VERSION): Bump.
643 * configure: Regenerate.
644 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
645 * testsuite/28_regex/regex_error/base.cc: New.
647 2014-05-08 Joshua Gay <jgay@gnu.org>
650 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
651 source" with "free software".
652 * doc/html/faq.html: Likewise.
654 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
657 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
659 (operator=(const ios_base&)): Likewise.
660 * include/std/streambuf: Remove trailing whitespace.
661 (basic_streambuf(const basic_streambuf&)): Fix initializer for
662 _M_out_end. Define as defaulted for C++11.
663 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
664 (swap(basic_streambuf&)): Define for C++11.
665 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
668 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
670 * include/std/iostream: Fix URL in comment.
671 * src/c++98/ios_init.cc: Fix path in comment.
673 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
675 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
676 * configure: Regenerate.
678 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
681 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
683 * testsuite/23_containers/set/cons/61023.cc: New.
686 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
688 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
689 arithmetic to obtain a mutable iterator from const_iterator.
690 * include/bits/vector.tcc (vector::insert): Likewise.
691 * include/debug/vector (vector::erase): Likewise.
692 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
693 Adjust dg-error line number.
694 * testsuite/23_containers/vector/requirements/dr438/
695 constructor_1_neg.cc: Likewise.
696 * testsuite/23_containers/vector/requirements/dr438/
697 constructor_2_neg.cc: Likewise.
698 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
701 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
703 * include/Makefile.in: Regenerate.
705 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
707 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
708 parameter to pass the 2 instances to check allocator equality.
709 * include/debug/safe_container.h: New, define _Safe_container<>.
710 * include/Makefile.am: Add previous.
711 * include/debug/deque (std::__debug::deque<>): Inherit
712 _Safe_container<>. Use default implementation for all special
714 * include/debug/forward_list (std::__debug::forward_list<>):
716 * include/debug/list (std::__debug::list<>): Likewise.
717 * include/debug/map.h (std::__debug::map<>): Likewise.
718 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
719 * include/debug/set.h (std::__debug::set<>): Likewise.
720 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
721 * include/debug/string (std::__debug::basic_string<>): Likewise.
722 * include/debug/unordered_map
723 (std::__debug::unordered_map<>): Likewise.
724 (std::__debug::unordered_multimap<>): Likewise.
725 * include/debug/unordered_set
726 (std::__debug::unordered_set<>): Likewise.
727 (std::__debug::unordered_multiset<>): Likewise.
728 * include/debug/vector (std::__debug::vector<>): Likewise.
729 * include/debug/safe_base.h (_Safe_sequence_base()): Add
731 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
732 (~_Safe_sequence_base()): Add noexcept.
733 * include/debug/safe_sequence.h
734 (std::__debug::_Safe_node_sequence<>): New.
735 * include/debug/safe_unordered_base.h
736 (_Safe_unordered_container_base()): Add noexcept.
737 (~_Safe_unordered_container_base()): Likewise.
738 (_M_swap(_Safe_unordered_container_base&)): Likewise.
739 * include/debug/safe_unordered_container.h:
740 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
741 (_Safe_unordered_container<>::_M_invalidate_all()): New.
742 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
744 * testsuite/util/debug/checks.h (check_construct1): Just implement
745 an invalid constructor invocation and no other operations
746 potentially not supported by some types of container.
747 (check_construct2): Likewise.
748 (check_construct3): Likewise.
749 * testsuite/23_containers/forward_list/allocator/move.cc: Add
750 check on iterators to make sure they are correctly moved in debug
752 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
754 * testsuite/23_containers/map/allocator/move.cc: Likewise.
755 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
756 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
757 * testsuite/23_containers/multimap/allocator/move_assign.cc:
759 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
760 * testsuite/23_containers/multiset/allocator/move_assign.cc:
762 * testsuite/23_containers/set/allocator/move.cc: Likewise.
763 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
764 * testsuite/23_containers/unordered_map/allocator/move.cc:
766 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
768 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
770 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
772 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
774 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
776 * testsuite/23_containers/unordered_set/allocator/move.cc:
778 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
780 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
782 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
784 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
786 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
788 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
790 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
791 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
792 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
793 * testsuite/23_containers/map/debug/move_neg.cc: New.
794 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
795 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
796 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
797 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
798 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
799 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
800 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
801 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
802 * testsuite/23_containers/set/debug/move_neg.cc: New.
803 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
805 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
807 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
808 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
810 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
812 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
814 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
816 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
818 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
820 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
822 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
824 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
825 * testsuite/23_containers/vector/debug/move_neg.cc: New.
827 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
829 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
830 (CXXABI_1.3.9): Remove __float128 symbols.
832 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
835 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
836 function to handle both C++03 and C++11 _Rb_tree_node implementations.
837 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
838 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
840 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
843 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
844 Check the correct type in the static assertion.
845 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
847 2014-04-27 Tim Shen <timshen91@gmail.com>
849 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
850 Add _S_opcode_repeat support to distingush a loop from
851 _S_opcode_alternative.
852 * include/bits/regex_automaton.tcc (_State_base::_M_print,
853 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
854 _StateSeq<>::_M_clone): Likewise.
855 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
857 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
858 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
859 Uglify local variable __i.
860 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
861 Use size_t instead of int to compare with vector::size().
863 2014-04-27 Tim Shen <timshen91@gmail.com>
865 * include/bits/regex_executor.h: Add _M_rep_count to track how
866 many times this repeat node are visited.
867 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
868 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
871 2014-04-27 Tim Shen <timshen91@gmail.com>
873 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
874 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
875 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
876 * include/bits/regex_automaton.h: Remove quantifier counting variable.
877 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
878 Adjust debug NFA dump.
880 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
883 * include/experimental/optional (operator!=): Implement in terms of
885 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
886 * testsuite/experimental/optional/relops/2.cc: Likewise.
887 * testsuite/experimental/optional/relops/3.cc: Likewise.
888 * testsuite/experimental/optional/relops/4.cc: Likewise.
889 * testsuite/experimental/optional/relops/5.cc: Likewise.
890 * testsuite/experimental/optional/relops/6.cc: Likewise.
892 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
895 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
896 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
899 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
901 * testsuite/util/testsuite_abi.cc (check_version): Update for
904 2014-04-24 Tim Shen <timshen91@gmail.com>
906 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
907 Do _M_alt before _M_next.
908 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
910 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
913 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
914 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
915 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
917 2014-04-24 Andreas Schwab <schwab@suse.de>
919 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
920 new CXXABI_1.3.9 symbols.
922 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
924 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
925 (CXXABI_1.3.9): New version.
927 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
930 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
931 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
932 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
934 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
936 * configure.host: Remove solaris2.9 handling.
937 Change os_include_dir to os/solaris/solaris2.10.
938 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
939 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
940 * configure: Regenerate.
941 * config/abi/post/solaris2.9: Remove.
942 * config/os/solaris/solaris2.9: Rename to ...
943 * config/os/solaris/solaris2.10: ... this.
944 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
947 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
948 Remove Solaris 9 reference.
949 * doc/html/manual/configure.html: Regenerate.
951 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
952 Remove *-*-solaris2.9 xfail.
953 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
956 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
959 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
961 * include/std/functional (__is_location_invariant): Use __or_ helper.
963 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
966 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
969 * include/std/atomic (atomic<_Tp>): Add static assertion.
970 * testsuite/29_atomics/atomic/60695.cc: New.
973 * include/std/functional (function::_Callable): Exclude own type
974 from the callable checks.
975 * testsuite/20_util/function/60594.cc: New.
977 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
978 const to constexpr member functions.
980 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
981 delegating constructor.
982 * include/bits/shared_ptr_base.h
983 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
985 * include/std/atomic: Uglify parameter names.
988 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
989 1.cc: Fix invalid explicit instantiations with unqualified names.
990 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
992 * testsuite/20_util/tuple/53648.cc: Likweise.
993 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
995 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
997 * testsuite/23_containers/unordered_map/requirements/
998 debug_container.cc: Likewise.
999 * testsuite/23_containers/unordered_map/requirements/
1000 explicit_instantiation/3.cc: Likewise.
1001 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1003 * testsuite/23_containers/unordered_multimap/requirements/
1004 explicit_instantiation/3.cc: Likewise.
1005 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1007 * testsuite/23_containers/unordered_multiset/requirements/
1008 explicit_instantiation/3.cc: Likewise.
1009 * testsuite/23_containers/unordered_set/requirements/
1010 debug_container.cc: Likewise.
1011 * testsuite/23_containers/unordered_set/requirements/
1012 explicit_instantiation/3.cc: Likewise.
1014 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1015 not use uninitialized members in mem-initializers.
1016 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1017 * testsuite/util/testsuite_common_types.h: Update comment.
1019 * include/experimental/string_view: Fix inconsistent exception specs.
1021 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1022 Remove name of unused parameter.
1024 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1026 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1027 _Vector_base::_M_allocate): NullablePointer requirements do not
1028 include initialization from literal zero, use value-initialization.
1029 * include/bits/vector.tcc (vector::_M_insert_aux,
1030 vector::_M_explace_back_aux): Likewise for assignment.
1032 * include/bits/allocator.h (operator==, operator!=): Add exception
1036 * include/std/tuple (get): Qualify calls to prevent ADL.
1037 * testsuite/20_util/tuple/60497.cc: New.
1039 * include/std/tuple (tuple_element_t): Define.
1040 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1042 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1044 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1047 * include/bits/stl_iterator.h (move_iterator::reference,
1048 move_iterator::operator*): Implement LWG 2106.
1049 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1051 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1053 * include/std/complex (__complex_exp, pow): Specify the template
1054 parameter in calls to std::polar, for expression templates.
1056 2014-04-10 Andreas Schwab <schwab@suse.de>
1058 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1060 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1061 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1063 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1065 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1067 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1068 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1069 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1072 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1073 Jack Howarth <howarth@bromo.med.uc.edu>
1076 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1079 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1081 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1083 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1085 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1086 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1087 * doc/xml/manual/concurrency_extensions.xml
1088 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1089 * doc/html/*: Regenerate.
1091 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1092 Jonathan Wakely <jwakely@redhat.com>
1095 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1096 string if input is not quoted.
1097 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1099 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1101 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1103 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1105 * testsuite/18_support/exception_ptr/60612-terminate.cc
1106 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1107 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1109 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1111 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1113 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1114 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1116 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1118 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1120 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1121 Fix bad s/part/chapter/ substitutions.
1122 * doc/xml/manual/io.xml (std.io): Likewise.
1123 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1124 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1126 * doc/html/*: Regenerate.
1128 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1131 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1132 compatible with __cxa_exception.
1133 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1134 Fix typos in comments.
1135 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1136 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1138 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1141 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1142 Use sizeof pointer type not the element type.
1143 * testsuite/29_atomics/atomic/60658.cc: New.
1145 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1147 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1148 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1149 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1150 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1151 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1152 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1153 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1154 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1155 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1156 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1159 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1161 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1163 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1165 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1166 to delegated constructor.
1167 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1168 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1171 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1173 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1176 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1178 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1181 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1182 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1184 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1185 from different types of debug container. Use _Is_contiguous_sequence
1186 instead of is_lvalue_reference.
1187 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1188 dereferencing past-the-end iterator.
1189 (__foreign_iterator_aux4): Use const value_type* instead of
1190 potentially user-defined const_pointer type.
1191 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1192 and pass end iterator to __gnu_debug::__foreign_iterator.
1193 (__glibcxx_check_insert_range_after): Likewise.
1194 (__glibcxx_check_max_load_factor): Fix comment.
1195 * include/debug/vector (_Is_contiguous_sequence): Define partial
1197 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1198 -std=gnu++11 option and unused header.
1199 * testsuite/23_containers/vector/debug/60587.cc: New.
1200 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1202 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1204 * crossconfig.m4: Support spu-*-elf* targets.
1205 * configure: Regenerate.
1207 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1210 * include/std/future (__future_base::_Task_state<>): Change
1211 constructors to template functions using perfect forwarding.
1212 (__create_task_state): Use decayed type as stored task.
1213 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1214 * testsuite/30_threads/packaged_task/60564.cc: New.
1216 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1218 * scripts/create_testsuite_files: Add testsuite/experimental in
1219 the list of folders to search for tests.
1221 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1223 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1225 2014-03-15 Tim Shen <timshen91@gmail.com>
1227 * include/bits/regex.h: Add/modify comments.
1228 * include/bits/regex_compiler.h: Likewise.
1229 * include/bits/regex_executor.h: Likewise.
1230 * include/bits/regex_executor.tcc: Likewise.
1231 * include/bits/regex_scanner.h: Likewise.
1233 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1236 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1237 _ZNSt12system_errorC* symbols which are not exported on any target.
1239 2014-03-12 Roland McGrath <mcgrathr@google.com>
1240 Mark Seaborn <mseaborn@google.com>
1243 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1244 the address of a null pointer, not with a null pointer to pointer.
1245 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1246 * testsuite/18_support/bad_exception/59392.cc: New file.
1248 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1251 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1253 * include/debug/map (map::operator=(map&&)): Likewise.
1254 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1255 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1256 * include/debug/set (set::operator=(set&&)): Likewise.
1257 * include/debug/unordered_map
1258 (unordered_map::operator=(unordered_map&&)): Likewise.
1259 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1260 * include/debug/unordered_set
1261 (unordered_set::operator=(unordered_set&&)): Likewise.
1262 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1263 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1264 * testsuite/23_containers/forward_list/debug/60499.cc: New
1265 * testsuite/23_containers/map/debug/60499.cc: New
1266 * testsuite/23_containers/multimap/debug/60499.cc: New
1267 * testsuite/23_containers/multiset/debug/60499.cc: New
1268 * testsuite/23_containers/set/debug/60499.cc: New
1269 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1270 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1271 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1272 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1273 * testsuite/23_containers/vector/debug/60499.cc: New
1275 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1277 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1278 for filesystem and fundamentals TS work items.
1280 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1283 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1284 Adjust dg-error directives.
1286 2014-02-26 Tim Shen <timshen91@gmail.com>
1288 * include/bits/regex.tcc (match_results<>::format,
1289 regex_replace<>): Update __out after calling std::copy.
1290 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1292 * testsuite/28_regex/match_results/format.cc: Likewise.
1294 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1297 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1298 allocator_type&)): Remove redundant call to _M_initialize_map.
1299 (deque::deque(const allocator_type&)): Initialize _Base with a
1300 constructor that calls _M_initialize_map.
1304 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1306 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1309 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1311 Rename testsuite directory shared_mutex to shared_timed_mutex
1313 * testsuite/30_threads/shared_mutex: Moved to...
1314 * testsuite/30_threads/shared_timed_mutex: ...here
1316 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1318 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1319 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1320 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1321 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1322 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1323 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1324 * testsuite/30_threads/shared_lock/requirements/
1325 explicit_instantiation.cc: Ditto.
1326 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1327 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1328 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1329 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1330 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1331 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1332 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1333 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1334 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1335 * testsuite/30_threads/shared_mutex/requirements/
1336 standard_layout.cc: Ditto.
1337 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1338 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1339 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1340 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1341 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1343 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1345 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1346 execution on i?86-*-solaris2.9, remove comment.
1347 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1349 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1351 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1352 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1353 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1355 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1357 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1358 not use varargs when argument could be non-POD.
1359 (__alloctr_rebind_helper): Eliminate static const bool member by
1360 using true_type and false_type.
1361 (allocator_traits::__allocate_helper): Likewise.
1362 (allocator_traits::__construct_helper): Likewise.
1363 (allocator_traits::__destroy_helper): Likewise.
1364 (allocator_traits::__maxsize_helper): Likewise.
1365 (allocator_traits::__select_helper): Likewise.
1366 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1367 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1368 Remove redundant condition.
1369 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1371 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1372 indirection through __alloc_traits.
1373 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1374 Eliminate static const bool members by using true_type and false_type.
1375 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1376 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1377 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1379 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1382 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1383 (vector::_M_data_ptr): New overloaded functions to ensure empty
1384 vectors do not dereference the pointer.
1385 * testsuite/23_containers/vector/59829.cc: New.
1386 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1387 Adjust dg-error line number.
1388 * testsuite/23_containers/vector/requirements/dr438/
1389 constructor_1_neg.cc: Likewise.
1390 * testsuite/23_containers/vector/requirements/dr438/
1391 constructor_2_neg.cc: Likewise.
1392 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1396 * include/ext/array_allocator.h: Add deprecated attribute.
1399 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1400 installation and use of python printers.
1401 * doc/xml/manual/status_cxx2011.xml: Update.
1402 * doc/html/*: Regenerate.
1404 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1405 Kyle Lippincott <spectral@google.com>
1408 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1409 constructor and grant friendship to weak_ptr.
1410 (weak_ptr::lock()): Use new constructor.
1411 * include/bits/shared_ptr_base.h
1412 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1413 and define specializations.
1414 (__shared_count): Add new non-throwing constructor.
1415 (__shared_ptr): Add new non-throwing constructor and grant friendship
1417 (__weak_ptr::lock()): Use new constructor.
1418 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1419 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1421 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1424 * include/bits/shared_ptr_base.h
1425 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1428 2014-01-27 Jason Merrill <jason@redhat.com>
1433 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1434 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1435 (__cxa_allocate_exception): Don't set it here.
1437 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1439 * include/bits/stl_map.h: Remove anachronistic comment.
1440 * include/bits/stl_multimap.h: Add whitespace.
1441 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1442 -std=gnu++11 instead of -std=c++11.
1443 * testsuite/23_containers/map/operators/2.cc: Likewise.
1444 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1445 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1446 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1448 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1449 * configure: Regenerate.
1451 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1454 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1455 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1457 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1458 Peter A. Bigot <pab@pabigot.com>
1461 * include/experimental/string_view
1462 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1463 Correct copy start location.
1465 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1466 Peter A. Bigot <pab@pabigot.com>
1469 * include/experimental/string_view (operator[](size_type) const):
1470 Fix one-off index error in debug check.
1471 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1472 test basic_string_view at size().
1473 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1475 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1476 Peter A. Bigot <pab@pabigot.com>
1479 * include/experimental/string_view
1480 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1481 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1482 Comment out catch of out_of_range; No terminating null
1483 in basic_string_view. Check begin == end.
1484 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1487 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1490 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1491 constructor to prevent it being implicitly defined as deleted, but
1492 do not copy anything.
1493 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1494 Define copy and move constructors similar to _Safe_sequence_base's.
1495 * testsuite/23_containers/unordered_map/59548.cc: New.
1497 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1498 Steve Ellcey <sellcey@mips.com>
1500 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1502 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1503 * (configure, config.h.in): Regenerate.
1504 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1506 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1508 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1509 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1512 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1513 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1515 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1517 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1518 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1519 functions to perform moving or copying of elements from rvalue tree.
1520 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1521 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1522 * testsuite/23_containers/map/59872.cc: New.
1523 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1525 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1527 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1530 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1531 Split into separate default constructor and constructor taking
1533 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1534 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1536 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1537 * include/debug/list (list::list(const _Allocator&)): Likewise.
1538 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1540 * include/debug/multimap.h
1541 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1542 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1544 * include/debug/multiset.h
1545 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1546 * include/debug/vector (vector::vector(const allocator_type&)):
1548 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1549 * include/profile/list (list::list(const _Allocator&)): Likewise.
1550 * include/profile/map.h
1551 (map::map(const _Compare&, const _Allocator&)): Likewise.
1552 * include/profile/multimap.h
1553 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1554 * include/profile/set.h
1555 (set::set(const _Compare&, const _Allocator&)): Likewise.
1556 * include/profile/multiset.h
1557 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1558 * include/profile/vector (vector::vector(const _Allocator&)):
1560 * testsuite/23_containers/deque/58764.cc: New.
1561 * testsuite/23_containers/list/58764.cc: New.
1562 * testsuite/23_containers/map/58764.cc: New.
1563 * testsuite/23_containers/multimap/58764.cc: New.
1564 * testsuite/23_containers/set/58764.cc: New.
1565 * testsuite/23_containers/multiset/58764.cc: New.
1566 * testsuite/23_containers/vector/58764.cc: New.
1567 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1568 Adjust dg-error line number.
1569 * testsuite/23_containers/deque/requirements/dr438/
1570 constructor_1_neg.cc: Likewise.
1571 * testsuite/23_containers/deque/requirements/dr438/
1572 constructor_2_neg.cc: Likewise.
1573 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1575 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1577 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1579 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1581 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1583 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1585 * testsuite/23_containers/vector/requirements/dr438/
1586 constructor_1_neg.cc: Likewise.
1587 * testsuite/23_containers/vector/requirements/dr438/
1588 constructor_2_neg.cc: Likewise.
1589 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1592 PR libstdc++/58764 (again)
1593 * include/bits/stl_list.h (list): Make default constructor's exception
1594 specification conditional.
1595 * include/bits/stl_vector.h (vector): Likewise.
1596 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1597 to default constructor.
1598 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1599 Adjust dg-error line number.
1600 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1602 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1604 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1606 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1608 * testsuite/23_containers/vector/requirements/dr438/
1609 constructor_1_neg.cc: Likewise.
1610 * testsuite/23_containers/vector/requirements/dr438/
1611 constructor_2_neg.cc: Likewise.
1612 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1615 2014-01-21 Tim Shen <timshen91@gmail.com>
1617 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1618 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1619 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1621 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1624 * include/bits/hashtable.h (__cache_default): Do not depend on
1625 whether the hash function is DefaultConstructible or CopyAssignable.
1626 (_Hashtable): Adjust static assertions.
1627 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1628 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1629 dg-error line number.
1630 * testsuite/23_containers/unordered_set/
1631 not_default_constructible_hash_neg.cc: Remove.
1633 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1635 * scripts/create_testsuite_files: Add testsuite/experimental in
1636 the list of folders to search for tests.
1637 * include/experimental/string_view
1638 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1639 incompatible with constexpr qualifier.
1640 (basic_string_view<>::front()): Likewise.
1641 (basic_string_view<>::back()): Likewise.
1642 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1643 Merge dg-options directives into one.
1644 * testsuite/experimental/string_view/element_access/char/2.cc:
1645 Likewise. Remove invalid experimental namespace scope on
1648 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1651 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1652 friendship to _Local_iterator_base<..., false>.
1653 (_Local_iterator_base): Give protected access to all existing members.
1654 (_Local_iterator_base::_M_curr()): New public accessor.
1655 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1656 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1657 the lifetime of the _Hash_code_base explicitly.
1658 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1659 (_Local_iterator_base<..., false>): Define copy constructor and copy
1660 assignment operator that use new functions to manage _Hash_code_base.
1661 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1662 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1663 Use public API for _Local_iterator_base.
1664 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1665 * include/debug/unordered_map (__debug::unordered_map::erase(),
1666 __debug::unordered_multimap::erase()): Likewise.
1667 * include/debug/unordered_set (__debug::unordered_set::erase(),
1668 __debug::unordered_multiset::erase()): Likewise.
1669 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1671 2014-01-19 Tim Shen <timshen91@gmail.com>
1673 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1674 Fix parse error of multiple consecutive quantifiers like "a**".
1675 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1677 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1679 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1681 * include/profile/set.h (set): Implement C++11 allocator-aware
1682 container requirements.
1683 * include/profile/map.h (map): Likewise.
1684 * include/profile/multiset.h (multiset): Likewise.
1685 * include/profile/multimap.h (multimap): Likewise.
1686 * include/profile/set.h
1687 (set::operator=(const set&)): Define as default in C++11 mode.
1688 (set::operator=(set&&)): Likewise.
1689 * include/profile/map.h
1690 (map::operator=(const map&)): Likewise.
1691 (map::operator=(map&&)): Likewise.
1692 * include/profile/multiset.h
1693 (multiset::operator=(const multiset&)): Likewise.
1694 (multiset::operator=(multiset&&)): Likewise.
1695 * include/profile/multimap.h
1696 (multimap::operator=(const multimap&)): Likewise.
1697 (multimap::operator=(multimap&&)): Likewise.
1698 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1699 Rely on the same operator from normal mode.
1700 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1702 * include/profile/multiset.h
1703 (multiset::operator=(std::initializer_list<>)): Likewise.
1704 * include/profile/multimap.h
1705 (multimap::operator=(std::initializer_list<>)): Likewise.
1706 * include/profile/set.h (set::swap(set&)): Add noexcept
1708 * include/profile/map.h (map::swap(map&)): Likewise.
1709 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1710 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1712 2014-01-17 Tim Shen <timshen91@gmail.com>
1714 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1716 * include/bits/regex_automaton.h: Do not use std::set.
1717 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1718 _BracketMatcher<>::_M_add_collating_element(),
1719 _BracketMatcher<>::_M_add_equivalence_class(),
1720 _BracketMatcher<>::_M_make_range()): Likewise.
1721 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1723 * include/bits/regex_executor.h: Do not use std::queue.
1724 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1725 _Executor<>::_M_dfs()): Likewise.
1726 * include/std/regex: Remove <map>, <set> and <queue>.
1728 2014-01-17 Tim Shen <timshen91@gmail.com>
1730 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1731 basic_regex<>::assign()): Change __compile_nfa to accept
1733 * include/bits/regex_compiler.h: Change _Compiler's template
1734 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1735 * include/bits/regex_compiler.tcc: Likewise.
1737 2014-01-17 Tim Shen <timshen91@gmail.com>
1739 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1741 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1742 _ScannerBase from _Scanner; Change _Scanner's template argument from
1743 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1745 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1746 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1747 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1749 * include/std/regex: Add <cstring> for using strchr.
1751 2014-01-17 Tim Shen <timshen91@gmail.com>
1753 * bits/regex_automaton.tcc: Indentation fix.
1754 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1755 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1756 _BracketMatcher<>): Add bool option template parameters and
1757 specializations to make matching more efficient and space saving.
1758 * bits/regex_compiler.tcc: Likewise.
1760 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1763 * include/bits/hashtable_policy.h: Fix some long lines.
1764 * include/bits/hashtable.h (__hash_code_base_access): Define and
1765 use it to check its _M_bucket_index noexcept qualification. Use
1767 (__access_protected_ctor): ...this.
1768 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1770 * testsuite/23_containers/unordered_set/
1771 not_default_constructible_hash_neg.cc: Likewise.
1773 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1775 * include/debug/set.h (set): Implement C++11 allocator-aware
1776 container requirements.
1777 * include/debug/map.h (map): Likewise.
1778 * include/debug/multiset.h (multiset): Likewise.
1779 * include/debug/multimap.h (multimap): Likewise.
1780 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1781 fix implementation regarding management of safe iterators.
1782 * include/debug/map.h (map::operator=(map&&)): Likewise.
1783 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1784 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1786 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1787 Rely on the same operator from normal mode.
1788 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1790 * include/debug/multiset.h
1791 (multiset::operator=(std::initializer_list<>)): Likewise.
1792 * include/debug/multimap.h
1793 (multimap::operator=(std::initializer_list<>)): Likewise.
1794 * include/debug/set.h (set::swap(set&)): Add noexcept
1795 specification, add allocator equality check.
1796 * include/debug/map.h (map::swap(map&)): Likewise.
1797 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1798 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1800 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1803 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1804 and stylistic improvements.
1805 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1806 and update for C++11.
1807 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1810 * doc/xml/manual/backwards_compatibility.xml
1811 (backwards.third.nocreate_noreplace): Correct and expand.
1814 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1816 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1819 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1820 support for non-Movable types.
1823 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1825 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1827 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1828 *this allocator instance when building temporary vector instance
1829 so that *this allocator does not get moved.
1830 * include/debug/safe_base.h
1831 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1832 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1833 move constructor from _Safe_sequence_base.
1834 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1835 safe iterators if the instance is moved.
1836 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1837 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1838 check on a vector iterator.
1839 * testsuite/23_containers/vector/allocator/move_assign.cc
1841 (test03): New, test with a non-propagating allocator.
1842 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1844 2014-01-07 Tim Shen <timshen91@gmail.com>
1846 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1847 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1848 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1849 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1850 _BracketMatcher<>::_M_add_char(),
1851 _BracketMatcher<>::_M_add_collating_element(),
1852 _BracketMatcher<>::_M_add_equivalence_class(),
1853 _BracketMatcher<>::_M_add_character_class(),
1854 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1855 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1856 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1857 to template parameter; Add cache for _BracketMatcher. Adjust
1858 declarations from here...
1859 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1860 imbuing a regex will trigger a recompilation to rebuild the cache.
1861 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1862 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1863 different template bool parameters.
1864 * include/bits/regex_executor.h: Remove unnecessary declarations.
1865 * include/std/regex: Adjust including orders.
1866 * testsuite/28_regex/traits/char/user_defined.cc: New.
1867 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1869 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1871 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1872 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1873 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1874 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1875 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1877 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1879 Update copyright years
1881 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1883 * testsuite/18_support/new_handler.cc,
1884 testsuite/18_support/terminate_handler.cc,
1885 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1886 the copyright notice.
1888 Copyright (C) 2014 Free Software Foundation, Inc.
1890 Copying and distribution of this file, with or without modification,
1891 are permitted in any medium without royalty provided the copyright
1892 notice and this notice are preserved.