1 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
4 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
5 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
7 * include/ext/alloc_traits.h: Fix comment.
9 * include/Makefile.am: Add new header.
10 * include/Makefile.in: Regenerate.
11 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
12 New RAII utilities for working with allocators.
13 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
14 __allocator_type typedef and use new __allocated_ptr type.
15 (_Sp_counted_ptr_inplace): Likewise.
16 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
17 __allocate_guarded to to simplify exception handling.
18 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
19 * include/std/future (_Result_alloc::_M_destroy): Likewise.
20 (_Result_alloc::_S_allocate_result): Likewise.
21 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
22 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
23 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
24 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
26 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
28 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
30 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
31 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
32 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
33 Remove unused typedef.
34 (time_get::do_get_monthname): Likewise.
35 * include/bits/stl_tree.h: Add system_header pragma.
36 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
37 redundant const-qualifier.
38 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
39 instead of _GLIBCXX_USE_CONSTEXPR.
41 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
43 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
44 * include/std/chrono (_Checked_integral_constant): Allow zero.
45 * testsuite/20_util/duration/literals/values.cc: Test non-positive
46 values and digit separators.
47 * include/experimental/any
50 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
51 apply the signed specifier to wchar_t.
52 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
53 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
54 cv-qualifier and size.
55 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
58 * include/experimental/any (any_v1): Rename namespace to
59 fundamentals_v1. Change string returned by bad_any_cast::what().
60 * include/experimental/optional (fundamentals_v1): Add namespace.
61 * include/experimental/string_view (fundamentals_v1): Likewise.
62 * testsuite/experimental/any/typedefs.cc: New.
63 * testsuite/experimental/optional/typedefs.cc: New.
64 * testsuite/experimental/string_view/typedefs.cc: New.
66 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
67 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
70 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
72 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
74 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
75 * include/Makefile.am: Add new header.
76 * include/Makefile.in: Regenerate.
77 * include/experimental/any: New.
78 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
80 * testsuite/experimental/any/assign/1.cc: New.
81 * testsuite/experimental/any/assign/2.cc: New.
82 * testsuite/experimental/any/cons/1.cc: New.
83 * testsuite/experimental/any/cons/2.cc: New.
84 * testsuite/experimental/any/cons/3.cc: New.
85 * testsuite/experimental/any/misc/any_cast.cc: New.
86 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
87 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
88 * testsuite/experimental/any/misc/swap.cc: New.
89 * testsuite/experimental/any/modifiers/1.cc: New.
90 * testsuite/experimental/any/observers/type.cc: New.
92 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
93 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
95 * include/bits/shared_ptr.h (shared_ptr): Likewise.
96 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
98 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
100 * include/parallel/list_partition.h (__parallel::list_partition):
102 * include/std/iomanip (quoted): Likewise.
103 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
105 * doc/xml/api.xml: Link to more recent API docs.
106 * include/bits/allocator.h: Fix link in doxygen comment.
107 * include/bits/char_traits.h: Likewise.
108 * include/bits/ios_base.h: Likewise.
109 * include/bits/stl_map.h: Likewise.
110 * include/bits/stl_multimap.h: Likewise.
111 * include/bits/stl_multiset.h: Likewise.
112 * include/bits/stl_set.h: Likewise.
113 * include/bits/unordered_map.h: Likewise.
114 * include/bits/unordered_set.h: Likewise.
115 * include/ext/mt_allocator.h: Likewise.
116 * include/std/fstream: Likewise.
117 * include/std/iosfwd: Likewise.
118 * include/std/ostream: Likewise.
119 * include/std/sstream: Likewise.
120 * include/std/streambuf: Likewise.
121 * doc/html/*: Regenerate.
123 * include/experimental/any (any_cast): Combine duplicate doxygen
125 * include/experimental/string_view (basic_string_view): Update
127 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
128 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
129 (dynamic_bitset): Improve Doxygen comments.
130 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
133 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
135 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
136 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
138 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
141 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
142 (bin_search_tree_traits): Do not redeclare template-parameters.
143 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
145 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
147 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
148 parameter for DocBook HTML generation.
149 * doc/Makefile.in: Regenerate.
150 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
151 * doc/xml/faq.xml: Update content and improve formatting.
152 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
153 * doc/xml/manual/allocator.xml: Add stable ID attribute.
154 * doc/xml/manual/bitmap_allocator.xml: Likewise.
155 * doc/xml/manual/build_hacking.xml: Likewise.
156 * doc/xml/manual/codecvt.xml: Change URL.
157 * doc/xml/manual/ctype.xml: Add stable ID attribute.
158 * doc/xml/manual/debug_mode.xml: Likewise.
159 * doc/xml/manual/documentation_hacking.xml: Likewise.
160 * doc/xml/manual/evolution.xml: Likewise.
161 * doc/xml/manual/extensions.xml: Likewise.
162 * doc/xml/manual/locale.xml: Likewise.
163 * doc/xml/manual/messages.xml: Make section id consistent, improve
165 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
166 * doc/xml/manual/profile_mode.xml: Likewise.
167 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
168 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
169 * doc/xml/manual/status_cxx2011.xml: Likewise.
170 * doc/xml/manual/status_cxx2014.xml: Likewise.
171 * doc/xml/manual/status_cxxtr1.xml: Likewise.
172 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
173 * doc/xml/manual/using.xml: Likewise.
174 * doc/html/*: Regenerate.
176 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
178 * include/tr1/beta_function.tcc: Fix spelling of include guard in
181 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
183 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
185 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
187 DR 2344 - std::quoted doesn't respect padding
188 * include/std/iomanip: Allow for padding in quoted inserters.
189 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
190 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
192 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
194 * testsuite/23_containers/map/operators/1.cc: Simplify test.
196 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
198 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
200 * doc/xml/manual/backwards_compatibility.xml
201 (backwards.second.stringstreams): Likewise.
202 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
204 * doc/xml/manual/containers.xml (associative.bitset.type_string):
205 Replace <quote> in code example.
206 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
207 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
208 fix typos, improve markup.
209 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
210 <emphasis> with <replaceable>.
211 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
212 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
213 and remove newlines in string literal.
215 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
219 * testsuite/20_util/is_assignable/value.cc: Update.
221 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
223 * include/std/condition_variable (condition_variable_any::_Unlock): Do
224 not swallow __forced_unwind.
225 * include/std/future (__future_base::_Task_setter): Likewise.
226 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
228 * include/std/mutex (try_lock): Likewise.
229 * testsuite/30_threads/async/forced_unwind.cc: New.
230 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
232 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
233 members to avoid wasted space when not using a cache.
234 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
235 * include/bits/regex_compiler.tcc
236 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
238 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
239 New enumeration type to indicate match mode.
240 (__detail::_Executor::_State_info): New type holding members only
241 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
243 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
244 Replace template parameter with run-time function parameter.
245 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
246 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
247 implement DFS and BFS mode.
248 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
249 Split implementation into ...
250 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
251 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
252 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
253 argument instead of template argument.
254 (__detail::_Executor::_M_dfs): Likewise.
255 * include/bits/regex_scanner.tcc: Fix typos in comments.
256 * testsuite/performance/28_regex/range.cc: New.
258 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
259 Jonathan Wakely <jwakely@redhat.com>
261 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
263 (aligned_union): New struct (C++11).
264 (aligned_union_t): New type alias (C++14).
265 * doc/xml/manual/status_cxx2011.xml: Update.
266 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
267 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
270 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
273 * include/experimental/string_view (operator basic_string): Correct
275 (to_string): Replace with member function.
276 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
277 allow _M_str to be null.
278 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
279 default constructor semantics.
280 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
281 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
282 copyright dates. Remove unused header.
283 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
285 * testsuite/experimental/string_view/operations/data/char/1.cc:
286 Fix copyright dates. Adjust to new default constructor semantics.
287 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
289 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
291 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
292 (__uses_allocator_arg): Remove unused type.
293 (__uses_alloc0): Turn into a trivial type.
294 (__uses_alloc): Add missing template parameter in primary template.
295 (__uses_alloc_impl): Rename to __uses_alloc_t.
297 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
299 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
300 work with previous versions of Tcl.
302 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
303 Benjamin's old email address.
305 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
308 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
310 * include/tr2/bool_set: Use UTF-8 for accented characters.
311 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
312 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
313 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
315 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
318 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
320 (_State_base::_M_dot): Likewise.
322 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
324 * include/profile/map.h: Fix typo in comment; minor formatting fix.
325 * include/profile/multimap.h: Likewise.
326 * include/profile/set.h: Likewise.
327 * include/profile/multiset.h: Likewise.
329 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
331 * include/profile/array: Clean useless white chars.
332 * include/profile/base.h: Likewise.
333 * include/profile/iterator_tracker.h: Likewise.
334 * include/profile/bitset: Code cleanup and remove not instrumented code.
335 * include/profile/deque: Likewise.
336 * include/profile/forward_list: Likewise.
337 * include/profile/list (std::__profile::_List_profile<>): New.
338 (std::__profile::list<>): Inherit from latter and adapt.
339 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
340 advise to match any ordered to unordered container conversion.
341 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
343 * include/Makefile.am: Add latter.
344 * include/Makefile.in: Regenerate.
345 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
346 remove not instrumented code.
347 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
348 * include/profile/set.h (std::__profile::set<>): Likewise.
349 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
350 * include/profile/unordered_base.h: Add some line feed.
351 * include/profile/unordered_map: Clean useless white chars and replace
353 * include/profile/unordered_set: Likewise.
354 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
355 (std::__profile::_Vector_profile_post<>): New.
356 (std::__profile::vector<>): Inherit from latter and adapt.
358 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
361 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
362 dragonfly target selector to all tests that run on freebsd.
364 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
366 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
367 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
369 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
371 * testsuite/30_threads/call_once/60497.cc: Likewise.
372 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
373 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
374 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
375 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
376 * testsuite/30_threads/promise/60966.cc: Likewise.
377 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
378 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
379 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
380 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
381 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
382 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
383 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
384 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
385 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
386 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
387 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
388 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
389 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
390 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
391 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
392 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
393 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
395 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
398 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
400 * testsuite/23_containers/unordered_set/61143.cc: New.
401 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
403 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
406 * include/std/type_traits: Move include outside namespace std.
407 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
408 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
409 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
412 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
415 2014-05-21 John Marino <gnugcc@marino.st>
417 * acinclude.m4 (*-*-dragonfly*): New target.
418 * configure: Regenerate.
419 * configure.host (*-*-dragonfly*): New target.
420 * config/locale/dragonfly/c_locale.cc: New.
421 * config/locale/dragonfly/ctype_members.cc: New.
422 * config/os/bsd/dragonfly/ctype_base.h: New.
423 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
424 * config/os/bsd/dragonfly/ctype_inline.h: New.
425 * config/os/bsd/dragonfly/os_defines.h: New.
427 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
429 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
430 libstdc++.exp imports those flags via getenv.
431 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
432 CXXFLAGS contains a '-O' flag.
434 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
438 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
441 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
442 and add unwind directives.
444 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
446 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
448 2014-05-20 Tim Shen <timshen91@gmail.com>
451 * include/bits/regex_compiler.h
452 (_BracketMatcher<>::_M_add_character_class): Add negative character
454 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
456 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
459 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
461 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
463 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
465 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
466 * libsupc++/new_opnt.cc: Likewise.
468 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
471 * include/std/future (__future_base::_State_baseV2::_M_set_result):
472 Pass lock into _M_do_set and hold it until the function returns.
473 Signal condition variable after call_once completes.
474 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
476 * testsuite/30_threads/promise/60966.cc: New.
478 2014-05-16 Iain Sandoe <iain@codesourcery.com>
479 Sandra Loosemore <sandra@codesourcery.com>
481 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
482 until after checking that the test is eligible to be run.
484 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
486 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
487 test for 32-bit target.
488 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
490 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
493 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
496 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
497 and add unwind directives.
499 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
501 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
503 * include/std/chrono (chrono_literals::__select_type::_Select_type):
505 (chrono_literals::_Checked_integral_constant): Define.
506 Simplify UDL operator templates and check for overflow.
507 * testsuite/20_util/duration/literals/range.cc: New.
509 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
510 Jonathan Wakely <jwakely@redhat.com>
513 * include/bits/parse_numbers.h: Use integral_constant to remove
514 duplication and simplify.
515 * testsuite/20_util/duration/literals/61166.cc: New.
517 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
520 * include/std/type_traits (__make_unsigned, __make_signed): Define
521 specializations for wchar_t, char16_t and char32_t.
522 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
523 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
524 test for make_unsigned<volatile wchar_t>.
525 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
527 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
529 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
531 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
534 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
536 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
537 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
538 * include/std/utility (tuple_size, tuple_element): Likewise.
539 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
540 Adjust dg-error line number.
542 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
544 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
545 (__tuple_element_t): Define.
546 (tuple_element): Use __tuple_element_t.
547 (__cv_tuple_size): Define.
548 (tuple_size<cv _Tp>): Use __cv_tuple_size.
549 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
550 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
551 (__tuple_compare): Remove size check, re-order parameters.
552 (operator==, operator<): Use static_assert to check requirements.
553 * include/std/functional (__volget): use __tuple_element_t.
554 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
555 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
557 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
560 * include/std/tuple (get, __tuple_compare): Qualify more calls to
561 prevent ADL. Cast comparison results to bool.
562 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
563 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
566 * include/debug/array (get): Qualify call to other get overload.
567 * include/profile/array (get): Likewise.
568 * include/std/array (get): Likewise.
569 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
570 * include/std/mutex (unique_lock, call_once): Use __addressof.
571 (__unlock_impl): Remove unused template.
572 (__try_to_lock): Declare inline.
573 (__try_lock_impl::__do_try_lock): Qualify function calls.
574 (lock): Avoid narrowing conversion.
575 * testsuite/20_util/bind/60497.cc: New.
576 * testsuite/23_containers/array/element_access/60497.cc: New.
577 * testsuite/30_threads/call_once/60497.cc: New.
578 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
580 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
582 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
583 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
584 * acinclude.m4 (libtool_VERSION): Bump.
585 * configure: Regenerate.
586 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
587 * testsuite/28_regex/regex_error/base.cc: New.
589 2014-05-08 Joshua Gay <jgay@gnu.org>
592 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
593 source" with "free software".
594 * doc/html/faq.html: Likewise.
596 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
599 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
601 (operator=(const ios_base&)): Likewise.
602 * include/std/streambuf: Remove trailing whitespace.
603 (basic_streambuf(const basic_streambuf&)): Fix initializer for
604 _M_out_end. Define as defaulted for C++11.
605 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
606 (swap(basic_streambuf&)): Define for C++11.
607 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
610 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
612 * include/std/iostream: Fix URL in comment.
613 * src/c++98/ios_init.cc: Fix path in comment.
615 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
617 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
618 * configure: Regenerate.
620 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
623 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
625 * testsuite/23_containers/set/cons/61023.cc: New.
628 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
630 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
631 arithmetic to obtain a mutable iterator from const_iterator.
632 * include/bits/vector.tcc (vector::insert): Likewise.
633 * include/debug/vector (vector::erase): Likewise.
634 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
635 Adjust dg-error line number.
636 * testsuite/23_containers/vector/requirements/dr438/
637 constructor_1_neg.cc: Likewise.
638 * testsuite/23_containers/vector/requirements/dr438/
639 constructor_2_neg.cc: Likewise.
640 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
643 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
645 * include/Makefile.in: Regenerate.
647 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
649 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
650 parameter to pass the 2 instances to check allocator equality.
651 * include/debug/safe_container.h: New, define _Safe_container<>.
652 * include/Makefile.am: Add previous.
653 * include/debug/deque (std::__debug::deque<>): Inherit
654 _Safe_container<>. Use default implementation for all special
656 * include/debug/forward_list (std::__debug::forward_list<>):
658 * include/debug/list (std::__debug::list<>): Likewise.
659 * include/debug/map.h (std::__debug::map<>): Likewise.
660 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
661 * include/debug/set.h (std::__debug::set<>): Likewise.
662 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
663 * include/debug/string (std::__debug::basic_string<>): Likewise.
664 * include/debug/unordered_map
665 (std::__debug::unordered_map<>): Likewise.
666 (std::__debug::unordered_multimap<>): Likewise.
667 * include/debug/unordered_set
668 (std::__debug::unordered_set<>): Likewise.
669 (std::__debug::unordered_multiset<>): Likewise.
670 * include/debug/vector (std::__debug::vector<>): Likewise.
671 * include/debug/safe_base.h (_Safe_sequence_base()): Add
673 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
674 (~_Safe_sequence_base()): Add noexcept.
675 * include/debug/safe_sequence.h
676 (std::__debug::_Safe_node_sequence<>): New.
677 * include/debug/safe_unordered_base.h
678 (_Safe_unordered_container_base()): Add noexcept.
679 (~_Safe_unordered_container_base()): Likewise.
680 (_M_swap(_Safe_unordered_container_base&)): Likewise.
681 * include/debug/safe_unordered_container.h:
682 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
683 (_Safe_unordered_container<>::_M_invalidate_all()): New.
684 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
686 * testsuite/util/debug/checks.h (check_construct1): Just implement
687 an invalid constructor invocation and no other operations
688 potentially not supported by some types of container.
689 (check_construct2): Likewise.
690 (check_construct3): Likewise.
691 * testsuite/23_containers/forward_list/allocator/move.cc: Add
692 check on iterators to make sure they are correctly moved in debug
694 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
696 * testsuite/23_containers/map/allocator/move.cc: Likewise.
697 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
698 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
699 * testsuite/23_containers/multimap/allocator/move_assign.cc:
701 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
702 * testsuite/23_containers/multiset/allocator/move_assign.cc:
704 * testsuite/23_containers/set/allocator/move.cc: Likewise.
705 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
706 * testsuite/23_containers/unordered_map/allocator/move.cc:
708 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
710 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
712 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
714 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
716 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
718 * testsuite/23_containers/unordered_set/allocator/move.cc:
720 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
722 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
724 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
726 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
728 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
730 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
732 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
733 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
734 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
735 * testsuite/23_containers/map/debug/move_neg.cc: New.
736 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
737 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
738 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
739 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
740 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
741 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
742 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
743 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
744 * testsuite/23_containers/set/debug/move_neg.cc: New.
745 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
747 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
749 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
750 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
752 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
754 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
756 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
758 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
760 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
762 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
764 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
766 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
767 * testsuite/23_containers/vector/debug/move_neg.cc: New.
769 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
771 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
772 (CXXABI_1.3.9): Remove __float128 symbols.
774 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
777 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
778 function to handle both C++03 and C++11 _Rb_tree_node implementations.
779 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
780 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
782 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
785 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
786 Check the correct type in the static assertion.
787 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
789 2014-04-27 Tim Shen <timshen91@gmail.com>
791 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
792 Add _S_opcode_repeat support to distingush a loop from
793 _S_opcode_alternative.
794 * include/bits/regex_automaton.tcc (_State_base::_M_print,
795 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
796 _StateSeq<>::_M_clone): Likewise.
797 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
799 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
800 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
801 Uglify local variable __i.
802 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
803 Use size_t instead of int to compare with vector::size().
805 2014-04-27 Tim Shen <timshen91@gmail.com>
807 * include/bits/regex_executor.h: Add _M_rep_count to track how
808 many times this repeat node are visited.
809 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
810 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
813 2014-04-27 Tim Shen <timshen91@gmail.com>
815 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
816 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
817 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
818 * include/bits/regex_automaton.h: Remove quantifier counting variable.
819 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
820 Adjust debug NFA dump.
822 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
825 * include/experimental/optional (operator!=): Implement in terms of
827 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
828 * testsuite/experimental/optional/relops/2.cc: Likewise.
829 * testsuite/experimental/optional/relops/3.cc: Likewise.
830 * testsuite/experimental/optional/relops/4.cc: Likewise.
831 * testsuite/experimental/optional/relops/5.cc: Likewise.
832 * testsuite/experimental/optional/relops/6.cc: Likewise.
834 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
837 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
838 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
841 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
843 * testsuite/util/testsuite_abi.cc (check_version): Update for
846 2014-04-24 Tim Shen <timshen91@gmail.com>
848 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
849 Do _M_alt before _M_next.
850 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
852 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
855 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
856 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
857 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
859 2014-04-24 Andreas Schwab <schwab@suse.de>
861 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
862 new CXXABI_1.3.9 symbols.
864 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
866 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
867 (CXXABI_1.3.9): New version.
869 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
872 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
873 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
874 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
876 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
878 * configure.host: Remove solaris2.9 handling.
879 Change os_include_dir to os/solaris/solaris2.10.
880 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
881 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
882 * configure: Regenerate.
883 * config/abi/post/solaris2.9: Remove.
884 * config/os/solaris/solaris2.9: Rename to ...
885 * config/os/solaris/solaris2.10: ... this.
886 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
889 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
890 Remove Solaris 9 reference.
891 * doc/html/manual/configure.html: Regenerate.
893 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
894 Remove *-*-solaris2.9 xfail.
895 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
898 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
901 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
903 * include/std/functional (__is_location_invariant): Use __or_ helper.
905 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
908 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
911 * include/std/atomic (atomic<_Tp>): Add static assertion.
912 * testsuite/29_atomics/atomic/60695.cc: New.
915 * include/std/functional (function::_Callable): Exclude own type
916 from the callable checks.
917 * testsuite/20_util/function/60594.cc: New.
919 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
920 const to constexpr member functions.
922 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
923 delegating constructor.
924 * include/bits/shared_ptr_base.h
925 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
927 * include/std/atomic: Uglify parameter names.
930 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
931 1.cc: Fix invalid explicit instantiations with unqualified names.
932 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
934 * testsuite/20_util/tuple/53648.cc: Likweise.
935 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
937 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
939 * testsuite/23_containers/unordered_map/requirements/
940 debug_container.cc: Likewise.
941 * testsuite/23_containers/unordered_map/requirements/
942 explicit_instantiation/3.cc: Likewise.
943 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
945 * testsuite/23_containers/unordered_multimap/requirements/
946 explicit_instantiation/3.cc: Likewise.
947 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
949 * testsuite/23_containers/unordered_multiset/requirements/
950 explicit_instantiation/3.cc: Likewise.
951 * testsuite/23_containers/unordered_set/requirements/
952 debug_container.cc: Likewise.
953 * testsuite/23_containers/unordered_set/requirements/
954 explicit_instantiation/3.cc: Likewise.
956 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
957 not use uninitialized members in mem-initializers.
958 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
959 * testsuite/util/testsuite_common_types.h: Update comment.
961 * include/experimental/string_view: Fix inconsistent exception specs.
963 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
964 Remove name of unused parameter.
966 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
968 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
969 _Vector_base::_M_allocate): NullablePointer requirements do not
970 include initialization from literal zero, use value-initialization.
971 * include/bits/vector.tcc (vector::_M_insert_aux,
972 vector::_M_explace_back_aux): Likewise for assignment.
974 * include/bits/allocator.h (operator==, operator!=): Add exception
978 * include/std/tuple (get): Qualify calls to prevent ADL.
979 * testsuite/20_util/tuple/60497.cc: New.
981 * include/std/tuple (tuple_element_t): Define.
982 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
984 * testsuite/20_util/tuple/tuple_element_t.cc: New.
986 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
989 * include/bits/stl_iterator.h (move_iterator::reference,
990 move_iterator::operator*): Implement LWG 2106.
991 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
993 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
995 * include/std/complex (__complex_exp, pow): Specify the template
996 parameter in calls to std::polar, for expression templates.
998 2014-04-10 Andreas Schwab <schwab@suse.de>
1000 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1002 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1003 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1005 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1007 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1009 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1010 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1011 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1014 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1015 Jack Howarth <howarth@bromo.med.uc.edu>
1018 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1021 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1023 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1025 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1027 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1028 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1029 * doc/xml/manual/concurrency_extensions.xml
1030 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1031 * doc/html/*: Regenerate.
1033 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1034 Jonathan Wakely <jwakely@redhat.com>
1037 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1038 string if input is not quoted.
1039 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1041 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1043 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1045 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1047 * testsuite/18_support/exception_ptr/60612-terminate.cc
1048 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1049 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1051 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1053 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1055 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1056 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1058 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1060 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1062 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1063 Fix bad s/part/chapter/ substitutions.
1064 * doc/xml/manual/io.xml (std.io): Likewise.
1065 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1066 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1068 * doc/html/*: Regenerate.
1070 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1073 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1074 compatible with __cxa_exception.
1075 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1076 Fix typos in comments.
1077 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1078 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1080 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1083 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1084 Use sizeof pointer type not the element type.
1085 * testsuite/29_atomics/atomic/60658.cc: New.
1087 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1089 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1090 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1091 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1092 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1093 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1094 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1095 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1096 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1097 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1098 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1101 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1103 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1105 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1107 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1108 to delegated constructor.
1109 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1110 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1113 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1115 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1118 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1120 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1123 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1124 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1126 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1127 from different types of debug container. Use _Is_contiguous_sequence
1128 instead of is_lvalue_reference.
1129 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1130 dereferencing past-the-end iterator.
1131 (__foreign_iterator_aux4): Use const value_type* instead of
1132 potentially user-defined const_pointer type.
1133 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1134 and pass end iterator to __gnu_debug::__foreign_iterator.
1135 (__glibcxx_check_insert_range_after): Likewise.
1136 (__glibcxx_check_max_load_factor): Fix comment.
1137 * include/debug/vector (_Is_contiguous_sequence): Define partial
1139 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1140 -std=gnu++11 option and unused header.
1141 * testsuite/23_containers/vector/debug/60587.cc: New.
1142 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1144 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1146 * crossconfig.m4: Support spu-*-elf* targets.
1147 * configure: Regenerate.
1149 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1152 * include/std/future (__future_base::_Task_state<>): Change
1153 constructors to template functions using perfect forwarding.
1154 (__create_task_state): Use decayed type as stored task.
1155 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1156 * testsuite/30_threads/packaged_task/60564.cc: New.
1158 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1160 * scripts/create_testsuite_files: Add testsuite/experimental in
1161 the list of folders to search for tests.
1163 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1165 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1167 2014-03-15 Tim Shen <timshen91@gmail.com>
1169 * include/bits/regex.h: Add/modify comments.
1170 * include/bits/regex_compiler.h: Likewise.
1171 * include/bits/regex_executor.h: Likewise.
1172 * include/bits/regex_executor.tcc: Likewise.
1173 * include/bits/regex_scanner.h: Likewise.
1175 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1178 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1179 _ZNSt12system_errorC* symbols which are not exported on any target.
1181 2014-03-12 Roland McGrath <mcgrathr@google.com>
1182 Mark Seaborn <mseaborn@google.com>
1185 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1186 the address of a null pointer, not with a null pointer to pointer.
1187 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1188 * testsuite/18_support/bad_exception/59392.cc: New file.
1190 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1193 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1195 * include/debug/map (map::operator=(map&&)): Likewise.
1196 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1197 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1198 * include/debug/set (set::operator=(set&&)): Likewise.
1199 * include/debug/unordered_map
1200 (unordered_map::operator=(unordered_map&&)): Likewise.
1201 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1202 * include/debug/unordered_set
1203 (unordered_set::operator=(unordered_set&&)): Likewise.
1204 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1205 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1206 * testsuite/23_containers/forward_list/debug/60499.cc: New
1207 * testsuite/23_containers/map/debug/60499.cc: New
1208 * testsuite/23_containers/multimap/debug/60499.cc: New
1209 * testsuite/23_containers/multiset/debug/60499.cc: New
1210 * testsuite/23_containers/set/debug/60499.cc: New
1211 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1212 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1213 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1214 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1215 * testsuite/23_containers/vector/debug/60499.cc: New
1217 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1219 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1220 for filesystem and fundamentals TS work items.
1222 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1225 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1226 Adjust dg-error directives.
1228 2014-02-26 Tim Shen <timshen91@gmail.com>
1230 * include/bits/regex.tcc (match_results<>::format,
1231 regex_replace<>): Update __out after calling std::copy.
1232 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1234 * testsuite/28_regex/match_results/format.cc: Likewise.
1236 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1239 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1240 allocator_type&)): Remove redundant call to _M_initialize_map.
1241 (deque::deque(const allocator_type&)): Initialize _Base with a
1242 constructor that calls _M_initialize_map.
1246 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1248 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1251 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1253 Rename testsuite directory shared_mutex to shared_timed_mutex
1255 * testsuite/30_threads/shared_mutex: Moved to...
1256 * testsuite/30_threads/shared_timed_mutex: ...here
1258 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1260 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1261 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1262 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1263 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1264 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1265 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1266 * testsuite/30_threads/shared_lock/requirements/
1267 explicit_instantiation.cc: Ditto.
1268 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1269 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1270 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1271 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1272 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1273 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1274 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1275 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1276 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1277 * testsuite/30_threads/shared_mutex/requirements/
1278 standard_layout.cc: Ditto.
1279 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1280 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1281 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1282 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1283 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1285 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1287 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1288 execution on i?86-*-solaris2.9, remove comment.
1289 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1291 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1293 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1294 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1295 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1297 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1299 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1300 not use varargs when argument could be non-POD.
1301 (__alloctr_rebind_helper): Eliminate static const bool member by
1302 using true_type and false_type.
1303 (allocator_traits::__allocate_helper): Likewise.
1304 (allocator_traits::__construct_helper): Likewise.
1305 (allocator_traits::__destroy_helper): Likewise.
1306 (allocator_traits::__maxsize_helper): Likewise.
1307 (allocator_traits::__select_helper): Likewise.
1308 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1309 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1310 Remove redundant condition.
1311 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1313 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1314 indirection through __alloc_traits.
1315 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1316 Eliminate static const bool members by using true_type and false_type.
1317 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1318 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1319 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1321 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1324 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1325 (vector::_M_data_ptr): New overloaded functions to ensure empty
1326 vectors do not dereference the pointer.
1327 * testsuite/23_containers/vector/59829.cc: New.
1328 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1329 Adjust dg-error line number.
1330 * testsuite/23_containers/vector/requirements/dr438/
1331 constructor_1_neg.cc: Likewise.
1332 * testsuite/23_containers/vector/requirements/dr438/
1333 constructor_2_neg.cc: Likewise.
1334 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1338 * include/ext/array_allocator.h: Add deprecated attribute.
1341 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1342 installation and use of python printers.
1343 * doc/xml/manual/status_cxx2011.xml: Update.
1344 * doc/html/*: Regenerate.
1346 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1347 Kyle Lippincott <spectral@google.com>
1350 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1351 constructor and grant friendship to weak_ptr.
1352 (weak_ptr::lock()): Use new constructor.
1353 * include/bits/shared_ptr_base.h
1354 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1355 and define specializations.
1356 (__shared_count): Add new non-throwing constructor.
1357 (__shared_ptr): Add new non-throwing constructor and grant friendship
1359 (__weak_ptr::lock()): Use new constructor.
1360 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1361 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1363 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1366 * include/bits/shared_ptr_base.h
1367 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1370 2014-01-27 Jason Merrill <jason@redhat.com>
1375 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1376 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1377 (__cxa_allocate_exception): Don't set it here.
1379 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1381 * include/bits/stl_map.h: Remove anachronistic comment.
1382 * include/bits/stl_multimap.h: Add whitespace.
1383 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1384 -std=gnu++11 instead of -std=c++11.
1385 * testsuite/23_containers/map/operators/2.cc: Likewise.
1386 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1387 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1388 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1390 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1391 * configure: Regenerate.
1393 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1396 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1397 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1399 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1400 Peter A. Bigot <pab@pabigot.com>
1403 * include/experimental/string_view
1404 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1405 Correct copy start location.
1407 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1408 Peter A. Bigot <pab@pabigot.com>
1411 * include/experimental/string_view (operator[](size_type) const):
1412 Fix one-off index error in debug check.
1413 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1414 test basic_string_view at size().
1415 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1417 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1418 Peter A. Bigot <pab@pabigot.com>
1421 * include/experimental/string_view
1422 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1423 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1424 Comment out catch of out_of_range; No terminating null
1425 in basic_string_view. Check begin == end.
1426 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1429 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1432 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1433 constructor to prevent it being implicitly defined as deleted, but
1434 do not copy anything.
1435 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1436 Define copy and move constructors similar to _Safe_sequence_base's.
1437 * testsuite/23_containers/unordered_map/59548.cc: New.
1439 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1440 Steve Ellcey <sellcey@mips.com>
1442 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1444 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1445 * (configure, config.h.in): Regenerate.
1446 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1448 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1450 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1451 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1454 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1455 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1457 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1459 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1460 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1461 functions to perform moving or copying of elements from rvalue tree.
1462 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1463 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1464 * testsuite/23_containers/map/59872.cc: New.
1465 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1467 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1469 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1472 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1473 Split into separate default constructor and constructor taking
1475 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1476 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1478 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1479 * include/debug/list (list::list(const _Allocator&)): Likewise.
1480 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1482 * include/debug/multimap.h
1483 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1484 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1486 * include/debug/multiset.h
1487 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1488 * include/debug/vector (vector::vector(const allocator_type&)):
1490 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1491 * include/profile/list (list::list(const _Allocator&)): Likewise.
1492 * include/profile/map.h
1493 (map::map(const _Compare&, const _Allocator&)): Likewise.
1494 * include/profile/multimap.h
1495 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1496 * include/profile/set.h
1497 (set::set(const _Compare&, const _Allocator&)): Likewise.
1498 * include/profile/multiset.h
1499 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1500 * include/profile/vector (vector::vector(const _Allocator&)):
1502 * testsuite/23_containers/deque/58764.cc: New.
1503 * testsuite/23_containers/list/58764.cc: New.
1504 * testsuite/23_containers/map/58764.cc: New.
1505 * testsuite/23_containers/multimap/58764.cc: New.
1506 * testsuite/23_containers/set/58764.cc: New.
1507 * testsuite/23_containers/multiset/58764.cc: New.
1508 * testsuite/23_containers/vector/58764.cc: New.
1509 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1510 Adjust dg-error line number.
1511 * testsuite/23_containers/deque/requirements/dr438/
1512 constructor_1_neg.cc: Likewise.
1513 * testsuite/23_containers/deque/requirements/dr438/
1514 constructor_2_neg.cc: Likewise.
1515 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1517 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1519 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1521 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1523 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1525 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1527 * testsuite/23_containers/vector/requirements/dr438/
1528 constructor_1_neg.cc: Likewise.
1529 * testsuite/23_containers/vector/requirements/dr438/
1530 constructor_2_neg.cc: Likewise.
1531 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1534 PR libstdc++/58764 (again)
1535 * include/bits/stl_list.h (list): Make default constructor's exception
1536 specification conditional.
1537 * include/bits/stl_vector.h (vector): Likewise.
1538 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1539 to default constructor.
1540 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1541 Adjust dg-error line number.
1542 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1544 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1546 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1548 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1550 * testsuite/23_containers/vector/requirements/dr438/
1551 constructor_1_neg.cc: Likewise.
1552 * testsuite/23_containers/vector/requirements/dr438/
1553 constructor_2_neg.cc: Likewise.
1554 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1557 2014-01-21 Tim Shen <timshen91@gmail.com>
1559 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1560 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1561 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1563 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1566 * include/bits/hashtable.h (__cache_default): Do not depend on
1567 whether the hash function is DefaultConstructible or CopyAssignable.
1568 (_Hashtable): Adjust static assertions.
1569 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1570 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1571 dg-error line number.
1572 * testsuite/23_containers/unordered_set/
1573 not_default_constructible_hash_neg.cc: Remove.
1575 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1577 * scripts/create_testsuite_files: Add testsuite/experimental in
1578 the list of folders to search for tests.
1579 * include/experimental/string_view
1580 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1581 incompatible with constexpr qualifier.
1582 (basic_string_view<>::front()): Likewise.
1583 (basic_string_view<>::back()): Likewise.
1584 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1585 Merge dg-options directives into one.
1586 * testsuite/experimental/string_view/element_access/char/2.cc:
1587 Likewise. Remove invalid experimental namespace scope on
1590 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1593 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1594 friendship to _Local_iterator_base<..., false>.
1595 (_Local_iterator_base): Give protected access to all existing members.
1596 (_Local_iterator_base::_M_curr()): New public accessor.
1597 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1598 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1599 the lifetime of the _Hash_code_base explicitly.
1600 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1601 (_Local_iterator_base<..., false>): Define copy constructor and copy
1602 assignment operator that use new functions to manage _Hash_code_base.
1603 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1604 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1605 Use public API for _Local_iterator_base.
1606 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1607 * include/debug/unordered_map (__debug::unordered_map::erase(),
1608 __debug::unordered_multimap::erase()): Likewise.
1609 * include/debug/unordered_set (__debug::unordered_set::erase(),
1610 __debug::unordered_multiset::erase()): Likewise.
1611 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1613 2014-01-19 Tim Shen <timshen91@gmail.com>
1615 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1616 Fix parse error of multiple consecutive quantifiers like "a**".
1617 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1619 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1621 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1623 * include/profile/set.h (set): Implement C++11 allocator-aware
1624 container requirements.
1625 * include/profile/map.h (map): Likewise.
1626 * include/profile/multiset.h (multiset): Likewise.
1627 * include/profile/multimap.h (multimap): Likewise.
1628 * include/profile/set.h
1629 (set::operator=(const set&)): Define as default in C++11 mode.
1630 (set::operator=(set&&)): Likewise.
1631 * include/profile/map.h
1632 (map::operator=(const map&)): Likewise.
1633 (map::operator=(map&&)): Likewise.
1634 * include/profile/multiset.h
1635 (multiset::operator=(const multiset&)): Likewise.
1636 (multiset::operator=(multiset&&)): Likewise.
1637 * include/profile/multimap.h
1638 (multimap::operator=(const multimap&)): Likewise.
1639 (multimap::operator=(multimap&&)): Likewise.
1640 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1641 Rely on the same operator from normal mode.
1642 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1644 * include/profile/multiset.h
1645 (multiset::operator=(std::initializer_list<>)): Likewise.
1646 * include/profile/multimap.h
1647 (multimap::operator=(std::initializer_list<>)): Likewise.
1648 * include/profile/set.h (set::swap(set&)): Add noexcept
1650 * include/profile/map.h (map::swap(map&)): Likewise.
1651 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1652 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1654 2014-01-17 Tim Shen <timshen91@gmail.com>
1656 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1658 * include/bits/regex_automaton.h: Do not use std::set.
1659 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1660 _BracketMatcher<>::_M_add_collating_element(),
1661 _BracketMatcher<>::_M_add_equivalence_class(),
1662 _BracketMatcher<>::_M_make_range()): Likewise.
1663 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1665 * include/bits/regex_executor.h: Do not use std::queue.
1666 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1667 _Executor<>::_M_dfs()): Likewise.
1668 * include/std/regex: Remove <map>, <set> and <queue>.
1670 2014-01-17 Tim Shen <timshen91@gmail.com>
1672 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1673 basic_regex<>::assign()): Change __compile_nfa to accept
1675 * include/bits/regex_compiler.h: Change _Compiler's template
1676 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1677 * include/bits/regex_compiler.tcc: Likewise.
1679 2014-01-17 Tim Shen <timshen91@gmail.com>
1681 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1683 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1684 _ScannerBase from _Scanner; Change _Scanner's template argument from
1685 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1687 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1688 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1689 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1691 * include/std/regex: Add <cstring> for using strchr.
1693 2014-01-17 Tim Shen <timshen91@gmail.com>
1695 * bits/regex_automaton.tcc: Indentation fix.
1696 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1697 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1698 _BracketMatcher<>): Add bool option template parameters and
1699 specializations to make matching more efficient and space saving.
1700 * bits/regex_compiler.tcc: Likewise.
1702 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1705 * include/bits/hashtable_policy.h: Fix some long lines.
1706 * include/bits/hashtable.h (__hash_code_base_access): Define and
1707 use it to check its _M_bucket_index noexcept qualification. Use
1709 (__access_protected_ctor): ...this.
1710 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1712 * testsuite/23_containers/unordered_set/
1713 not_default_constructible_hash_neg.cc: Likewise.
1715 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1717 * include/debug/set.h (set): Implement C++11 allocator-aware
1718 container requirements.
1719 * include/debug/map.h (map): Likewise.
1720 * include/debug/multiset.h (multiset): Likewise.
1721 * include/debug/multimap.h (multimap): Likewise.
1722 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1723 fix implementation regarding management of safe iterators.
1724 * include/debug/map.h (map::operator=(map&&)): Likewise.
1725 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1726 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1728 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1729 Rely on the same operator from normal mode.
1730 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1732 * include/debug/multiset.h
1733 (multiset::operator=(std::initializer_list<>)): Likewise.
1734 * include/debug/multimap.h
1735 (multimap::operator=(std::initializer_list<>)): Likewise.
1736 * include/debug/set.h (set::swap(set&)): Add noexcept
1737 specification, add allocator equality check.
1738 * include/debug/map.h (map::swap(map&)): Likewise.
1739 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1740 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1742 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1745 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1746 and stylistic improvements.
1747 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1748 and update for C++11.
1749 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1752 * doc/xml/manual/backwards_compatibility.xml
1753 (backwards.third.nocreate_noreplace): Correct and expand.
1756 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1758 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1761 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1762 support for non-Movable types.
1765 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1767 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1769 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1770 *this allocator instance when building temporary vector instance
1771 so that *this allocator does not get moved.
1772 * include/debug/safe_base.h
1773 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1774 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1775 move constructor from _Safe_sequence_base.
1776 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1777 safe iterators if the instance is moved.
1778 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1779 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1780 check on a vector iterator.
1781 * testsuite/23_containers/vector/allocator/move_assign.cc
1783 (test03): New, test with a non-propagating allocator.
1784 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1786 2014-01-07 Tim Shen <timshen91@gmail.com>
1788 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1789 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1790 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1791 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1792 _BracketMatcher<>::_M_add_char(),
1793 _BracketMatcher<>::_M_add_collating_element(),
1794 _BracketMatcher<>::_M_add_equivalence_class(),
1795 _BracketMatcher<>::_M_add_character_class(),
1796 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1797 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1798 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1799 to template parameter; Add cache for _BracketMatcher. Adjust
1800 declarations from here...
1801 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1802 imbuing a regex will trigger a recompilation to rebuild the cache.
1803 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1804 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1805 different template bool parameters.
1806 * include/bits/regex_executor.h: Remove unnecessary declarations.
1807 * include/std/regex: Adjust including orders.
1808 * testsuite/28_regex/traits/char/user_defined.cc: New.
1809 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1811 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1813 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1814 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1815 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1816 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1817 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1819 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1821 Update copyright years
1823 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1825 * testsuite/18_support/new_handler.cc,
1826 testsuite/18_support/terminate_handler.cc,
1827 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1828 the copyright notice.
1830 Copyright (C) 2014 Free Software Foundation, Inc.
1832 Copying and distribution of this file, with or without modification,
1833 are permitted in any medium without royalty provided the copyright
1834 notice and this notice are preserved.