any (any_cast): Combine duplicate doxygen comments.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
2
3 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
4 * include/Makefile.am: Add new header.
5 * include/Makefile.in: Regenerate.
6 * include/experimental/any: New.
7 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
8 constructor.
9 * testsuite/experimental/any/assign/1.cc: New.
10 * testsuite/experimental/any/assign/2.cc: New.
11 * testsuite/experimental/any/cons/1.cc: New.
12 * testsuite/experimental/any/cons/2.cc: New.
13 * testsuite/experimental/any/cons/3.cc: New.
14 * testsuite/experimental/any/misc/any_cast.cc: New.
15 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
16 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
17 * testsuite/experimental/any/misc/swap.cc: New.
18 * testsuite/experimental/any/modifiers/1.cc: New.
19 * testsuite/experimental/any/observers/type.cc: New.
20
21 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
22 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
23 warnings.
24 * include/bits/shared_ptr.h (shared_ptr): Likewise.
25 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
26 Likewise.
27 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
28 Likewise.
29 * include/parallel/list_partition.h (__parallel::list_partition):
30 Likewise.
31 * include/std/iomanip (quoted): Likewise.
32 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
33
34 * doc/xml/api.xml: Link to more recent API docs.
35 * include/bits/allocator.h: Fix link in doxygen comment.
36 * include/bits/char_traits.h: Likewise.
37 * include/bits/ios_base.h: Likewise.
38 * include/bits/stl_map.h: Likewise.
39 * include/bits/stl_multimap.h: Likewise.
40 * include/bits/stl_multiset.h: Likewise.
41 * include/bits/stl_set.h: Likewise.
42 * include/bits/unordered_map.h: Likewise.
43 * include/bits/unordered_set.h: Likewise.
44 * include/ext/mt_allocator.h: Likewise.
45 * include/std/fstream: Likewise.
46 * include/std/iosfwd: Likewise.
47 * include/std/ostream: Likewise.
48 * include/std/sstream: Likewise.
49 * include/std/streambuf: Likewise.
50 * doc/html/*: Regenerate.
51
52 * include/experimental/any (any_cast): Combine duplicate doxygen
53 comments.
54 * include/experimental/string_view (basic_string_view): Update
55 doxygen comment.
56 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
57 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
58 (dynamic_bitset): Improve Doxygen comments.
59 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
60 comment.
61
62 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
63
64 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
65 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
66
67 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
68
69 PR libstdc++/61390
70 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
71 (bin_search_tree_traits): Do not redeclare template-parameters.
72 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
73
74 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
75
76 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
77 parameter for DocBook HTML generation.
78 * doc/Makefile.in: Regenerate.
79 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
80 * doc/xml/faq.xml: Update content and improve formatting.
81 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
82 * doc/xml/manual/allocator.xml: Add stable ID attribute.
83 * doc/xml/manual/bitmap_allocator.xml: Likewise.
84 * doc/xml/manual/build_hacking.xml: Likewise.
85 * doc/xml/manual/codecvt.xml: Change URL.
86 * doc/xml/manual/ctype.xml: Add stable ID attribute.
87 * doc/xml/manual/debug_mode.xml: Likewise.
88 * doc/xml/manual/documentation_hacking.xml: Likewise.
89 * doc/xml/manual/evolution.xml: Likewise.
90 * doc/xml/manual/extensions.xml: Likewise.
91 * doc/xml/manual/locale.xml: Likewise.
92 * doc/xml/manual/messages.xml: Make section id consistent, improve
93 markup, change URL.
94 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
95 * doc/xml/manual/profile_mode.xml: Likewise.
96 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
97 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
98 * doc/xml/manual/status_cxx2011.xml: Likewise.
99 * doc/xml/manual/status_cxx2014.xml: Likewise.
100 * doc/xml/manual/status_cxxtr1.xml: Likewise.
101 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
102 * doc/xml/manual/using.xml: Likewise.
103 * doc/html/*: Regenerate.
104
105 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
106
107 * include/tr1/beta_function.tcc: Fix spelling of include guard in
108 comment.
109
110 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
111
112 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
113
114 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
115
116 DR 2344 - std::quoted doesn't respect padding
117 * include/std/iomanip: Allow for padding in quoted inserters.
118 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
119 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
120
121 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
122
123 * testsuite/23_containers/map/operators/1.cc: Simplify test.
124
125 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
126
127 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
128 code example.
129 * doc/xml/manual/backwards_compatibility.xml
130 (backwards.second.stringstreams): Likewise.
131 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
132 change of default.
133 * doc/xml/manual/containers.xml (associative.bitset.type_string):
134 Replace <quote> in code example.
135 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
136 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
137 fix typos, improve markup.
138 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
139 <emphasis> with <replaceable>.
140 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
141 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
142 and remove newlines in string literal.
143
144 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
145
146 DR 1423
147 PR c++/52174
148 * testsuite/20_util/is_assignable/value.cc: Update.
149
150 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
151
152 * include/std/condition_variable (condition_variable_any::_Unlock): Do
153 not swallow __forced_unwind.
154 * include/std/future (__future_base::_Task_setter): Likewise.
155 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
156 promise and rethrow.
157 * include/std/mutex (try_lock): Likewise.
158 * testsuite/30_threads/async/forced_unwind.cc: New.
159 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
160
161 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
162 members to avoid wasted space when not using a cache.
163 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
164 * include/bits/regex_compiler.tcc
165 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
166 search on set.
167 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
168 New enumeration type to indicate match mode.
169 (__detail::_Executor::_State_info): New type holding members only
170 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
171 unique_ptr<bool[]>.
172 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
173 Replace template parameter with run-time function parameter.
174 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
175 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
176 implement DFS and BFS mode.
177 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
178 Split implementation into ...
179 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
180 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
181 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
182 argument instead of template argument.
183 (__detail::_Executor::_M_dfs): Likewise.
184 * include/bits/regex_scanner.tcc: Fix typos in comments.
185 * testsuite/performance/28_regex/range.cc: New.
186
187 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
188 Jonathan Wakely <jwakely@redhat.com>
189
190 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
191 helper struct.
192 (aligned_union): New struct (C++11).
193 (aligned_union_t): New type alias (C++14).
194 * doc/xml/manual/status_cxx2011.xml: Update.
195 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
196 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
197 line number.
198
199 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
200
201 PR libstdc++/61374
202 * include/experimental/string_view (operator basic_string): Correct
203 order of arguments.
204 (to_string): Replace with member function.
205 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
206 allow _M_str to be null.
207 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
208 default constructor semantics.
209 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
210 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
211 copyright dates. Remove unused header.
212 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
213 Likewise.
214 * testsuite/experimental/string_view/operations/data/char/1.cc:
215 Fix copyright dates. Adjust to new default constructor semantics.
216 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
217 Likewise.
218 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
219
220 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
221 (__uses_allocator_arg): Remove unused type.
222 (__uses_alloc0): Turn into a trivial type.
223 (__uses_alloc): Add missing template parameter in primary template.
224 (__uses_alloc_impl): Rename to __uses_alloc_t.
225
226 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
227
228 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
229 work with previous versions of Tcl.
230
231 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
232 Benjamin's old email address.
233
234 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
235 Paolo's address too.
236
237 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
238
239 * include/tr2/bool_set: Use UTF-8 for accented characters.
240 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
241 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
242 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
243
244 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
245
246 PR libstdc++/61329
247 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
248 inline specifier.
249 (_State_base::_M_dot): Likewise.
250
251 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
252
253 * include/profile/map.h: Fix typo in comment; minor formatting fix.
254 * include/profile/multimap.h: Likewise.
255 * include/profile/set.h: Likewise.
256 * include/profile/multiset.h: Likewise.
257
258 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
259
260 * include/profile/array: Clean useless white chars.
261 * include/profile/base.h: Likewise.
262 * include/profile/iterator_tracker.h: Likewise.
263 * include/profile/bitset: Code cleanup and remove not instrumented code.
264 * include/profile/deque: Likewise.
265 * include/profile/forward_list: Likewise.
266 * include/profile/list (std::__profile::_List_profile<>): New.
267 (std::__profile::list<>): Inherit from latter and adapt.
268 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
269 advise to match any ordered to unordered container conversion.
270 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
271 New.
272 * include/Makefile.am: Add latter.
273 * include/Makefile.in: Regenerate.
274 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
275 remove not instrumented code.
276 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
277 * include/profile/set.h (std::__profile::set<>): Likewise.
278 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
279 * include/profile/unordered_base.h: Add some line feed.
280 * include/profile/unordered_map: Clean useless white chars and replace
281 spaces with tabs.
282 * include/profile/unordered_set: Likewise.
283 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
284 (std::__profile::_Vector_profile_post<>): New.
285 (std::__profile::vector<>): Inherit from latter and adapt.
286
287 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
288
289 PR libstdc++/60793
290 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
291 dragonfly target selector to all tests that run on freebsd.
292
293 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
294 dragonfly.
295 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
296 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
297
298 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
299 selector.
300 * testsuite/30_threads/call_once/60497.cc: Likewise.
301 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
302 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
303 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
304 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
305 * testsuite/30_threads/promise/60966.cc: Likewise.
306 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
307 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
308 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
309 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
310 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
311 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
312 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
313 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
314 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
315 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
316 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
317 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
318 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
319 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
320 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
321 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
322 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
323
324 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
325
326 PR libstdc++/61143
327 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
328 usable state.
329 * testsuite/23_containers/unordered_set/61143.cc: New.
330 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
331
332 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
333
334 PR libstdc++/61269
335 * include/std/type_traits: Move include outside namespace std.
336 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
337 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
338 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
339 Likewise.
340
341 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
342 Fix warning.
343
344 2014-05-21 John Marino <gnugcc@marino.st>
345
346 * acinclude.m4 (*-*-dragonfly*): New target.
347 * configure: Regenerate.
348 * configure.host (*-*-dragonfly*): New target.
349 * config/locale/dragonfly/c_locale.cc: New.
350 * config/locale/dragonfly/ctype_members.cc: New.
351 * config/os/bsd/dragonfly/ctype_base.h: New.
352 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
353 * config/os/bsd/dragonfly/ctype_inline.h: New.
354 * config/os/bsd/dragonfly/os_defines.h: New.
355
356 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
357
358 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
359 libstdc++.exp imports those flags via getenv.
360 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
361 CXXFLAGS contains a '-O' flag.
362
363 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
364
365 PR libstdc++/61223
366 Revert:
367 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
368
369 PR libstdc++/60758
370 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
371 and add unwind directives.
372
373 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
374
375 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
376
377 2014-05-20 Tim Shen <timshen91@gmail.com>
378
379 PR libstdc++/61227
380 * include/bits/regex_compiler.h
381 (_BracketMatcher<>::_M_add_character_class): Add negative character
382 class support.
383 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
384 Likewise.
385 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
386 Add more testcases.
387
388 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
389
390 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
391
392 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
393
394 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
395 * libsupc++/new_opnt.cc: Likewise.
396
397 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
398
399 PR libstdc++/60966
400 * include/std/future (__future_base::_State_baseV2::_M_set_result):
401 Pass lock into _M_do_set and hold it until the function returns.
402 Signal condition variable after call_once completes.
403 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
404 signal here.
405 * testsuite/30_threads/promise/60966.cc: New.
406
407 2014-05-16 Iain Sandoe <iain@codesourcery.com>
408 Sandra Loosemore <sandra@codesourcery.com>
409
410 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
411 until after checking that the test is eligible to be run.
412
413 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
414
415 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
416 test for 32-bit target.
417 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
418 Likewise.
419 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
420 Fix test.
421
422 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
423
424 PR libstdc++/60758
425 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
426 and add unwind directives.
427
428 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
429
430 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
431 overflow.
432 * include/std/chrono (chrono_literals::__select_type::_Select_type):
433 Remove.
434 (chrono_literals::_Checked_integral_constant): Define.
435 Simplify UDL operator templates and check for overflow.
436 * testsuite/20_util/duration/literals/range.cc: New.
437
438 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
439 Jonathan Wakely <jwakely@redhat.com>
440
441 PR libstdc++/61166
442 * include/bits/parse_numbers.h: Use integral_constant to remove
443 duplication and simplify.
444 * testsuite/20_util/duration/literals/61166.cc: New.
445
446 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
447
448 PR libstdc++/60326
449 * include/std/type_traits (__make_unsigned, __make_signed): Define
450 specializations for wchar_t, char16_t and char32_t.
451 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
452 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
453 test for make_unsigned<volatile wchar_t>.
454 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
455 Likewise.
456 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
457 line number.
458 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
459 Likewise.
460 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
461 Likewise.
462
463 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
464
465 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
466 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
467 * include/std/utility (tuple_size, tuple_element): Likewise.
468 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
469 Adjust dg-error line number.
470
471 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
472
473 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
474 (__tuple_element_t): Define.
475 (tuple_element): Use __tuple_element_t.
476 (__cv_tuple_size): Define.
477 (tuple_size<cv _Tp>): Use __cv_tuple_size.
478 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
479 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
480 (__tuple_compare): Remove size check, re-order parameters.
481 (operator==, operator<): Use static_assert to check requirements.
482 * include/std/functional (__volget): use __tuple_element_t.
483 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
484 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
485
486 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
487
488 PR libstdc++/60497
489 * include/std/tuple (get, __tuple_compare): Qualify more calls to
490 prevent ADL. Cast comparison results to bool.
491 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
492 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
493
494 PR libstdc++/60497
495 * include/debug/array (get): Qualify call to other get overload.
496 * include/profile/array (get): Likewise.
497 * include/std/array (get): Likewise.
498 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
499 * include/std/mutex (unique_lock, call_once): Use __addressof.
500 (__unlock_impl): Remove unused template.
501 (__try_to_lock): Declare inline.
502 (__try_lock_impl::__do_try_lock): Qualify function calls.
503 (lock): Avoid narrowing conversion.
504 * testsuite/20_util/bind/60497.cc: New.
505 * testsuite/23_containers/array/element_access/60497.cc: New.
506 * testsuite/30_threads/call_once/60497.cc: New.
507 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
508
509 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
510
511 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
512 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
513 * acinclude.m4 (libtool_VERSION): Bump.
514 * configure: Regenerate.
515 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
516 * testsuite/28_regex/regex_error/base.cc: New.
517
518 2014-05-08 Joshua Gay <jgay@gnu.org>
519
520 PR libstdc++/61117
521 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
522 source" with "free software".
523 * doc/html/faq.html: Likewise.
524
525 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
526
527 PR libstdc++/57394
528 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
529 deleted for C++11.
530 (operator=(const ios_base&)): Likewise.
531 * include/std/streambuf: Remove trailing whitespace.
532 (basic_streambuf(const basic_streambuf&)): Fix initializer for
533 _M_out_end. Define as defaulted for C++11.
534 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
535 (swap(basic_streambuf&)): Define for C++11.
536 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
537
538 PR libstdc++/13860
539 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
540
541 * include/std/iostream: Fix URL in comment.
542 * src/c++98/ios_init.cc: Fix path in comment.
543
544 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
545
546 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
547 * configure: Regenerate.
548
549 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
550
551 PR libstdc++/61023
552 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
553 comparison function.
554 * testsuite/23_containers/set/cons/61023.cc: New.
555
556 PR libstdc++/61086
557 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
558 Remove.
559 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
560 arithmetic to obtain a mutable iterator from const_iterator.
561 * include/bits/vector.tcc (vector::insert): Likewise.
562 * include/debug/vector (vector::erase): Likewise.
563 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
564 Adjust dg-error line number.
565 * testsuite/23_containers/vector/requirements/dr438/
566 constructor_1_neg.cc: Likewise.
567 * testsuite/23_containers/vector/requirements/dr438/
568 constructor_2_neg.cc: Likewise.
569 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
570 Likewise.
571
572 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
573
574 * include/Makefile.in: Regenerate.
575
576 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
577
578 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
579 parameter to pass the 2 instances to check allocator equality.
580 * include/debug/safe_container.h: New, define _Safe_container<>.
581 * include/Makefile.am: Add previous.
582 * include/debug/deque (std::__debug::deque<>): Inherit
583 _Safe_container<>. Use default implementation for all special
584 functions.
585 * include/debug/forward_list (std::__debug::forward_list<>):
586 Likewise.
587 * include/debug/list (std::__debug::list<>): Likewise.
588 * include/debug/map.h (std::__debug::map<>): Likewise.
589 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
590 * include/debug/set.h (std::__debug::set<>): Likewise.
591 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
592 * include/debug/string (std::__debug::basic_string<>): Likewise.
593 * include/debug/unordered_map
594 (std::__debug::unordered_map<>): Likewise.
595 (std::__debug::unordered_multimap<>): Likewise.
596 * include/debug/unordered_set
597 (std::__debug::unordered_set<>): Likewise.
598 (std::__debug::unordered_multiset<>): Likewise.
599 * include/debug/vector (std::__debug::vector<>): Likewise.
600 * include/debug/safe_base.h (_Safe_sequence_base()): Add
601 noexcept.
602 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
603 (~_Safe_sequence_base()): Add noexcept.
604 * include/debug/safe_sequence.h
605 (std::__debug::_Safe_node_sequence<>): New.
606 * include/debug/safe_unordered_base.h
607 (_Safe_unordered_container_base()): Add noexcept.
608 (~_Safe_unordered_container_base()): Likewise.
609 (_M_swap(_Safe_unordered_container_base&)): Likewise.
610 * include/debug/safe_unordered_container.h:
611 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
612 (_Safe_unordered_container<>::_M_invalidate_all()): New.
613 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
614 qualifications.
615 * testsuite/util/debug/checks.h (check_construct1): Just implement
616 an invalid constructor invocation and no other operations
617 potentially not supported by some types of container.
618 (check_construct2): Likewise.
619 (check_construct3): Likewise.
620 * testsuite/23_containers/forward_list/allocator/move.cc: Add
621 check on iterators to make sure they are correctly moved in debug
622 mode.
623 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
624 Likewise.
625 * testsuite/23_containers/map/allocator/move.cc: Likewise.
626 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
627 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
628 * testsuite/23_containers/multimap/allocator/move_assign.cc:
629 Likewise.
630 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
631 * testsuite/23_containers/multiset/allocator/move_assign.cc:
632 Likewise.
633 * testsuite/23_containers/set/allocator/move.cc: Likewise.
634 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
635 * testsuite/23_containers/unordered_map/allocator/move.cc:
636 Likewise.
637 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
638 Likewise.
639 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
640 Likewise.
641 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
642 Likewise.
643 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
644 Likewise.
645 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
646 Likewise.
647 * testsuite/23_containers/unordered_set/allocator/move.cc:
648 Likewise.
649 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
650 Likewise.
651 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
652 New.
653 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
654 New.
655 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
656 New.
657 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
658 New.
659 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
660 New.
661 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
662 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
663 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
664 * testsuite/23_containers/map/debug/move_neg.cc: New.
665 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
666 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
667 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
668 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
669 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
670 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
671 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
672 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
673 * testsuite/23_containers/set/debug/move_neg.cc: New.
674 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
675 New.
676 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
677 New.
678 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
679 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
680 New.
681 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
682 New.
683 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
684 New.
685 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
686 New.
687 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
688 New.
689 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
690 New.
691 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
692 New.
693 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
694 New.
695 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
696 * testsuite/23_containers/vector/debug/move_neg.cc: New.
697
698 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
699
700 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
701 (CXXABI_1.3.9): Remove __float128 symbols.
702
703 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
704
705 PR libstdc++/59476
706 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
707 function to handle both C++03 and C++11 _Rb_tree_node implementations.
708 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
709 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
710 refer to...
711 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
712
713 PR libstdc++/61036
714 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
715 Check the correct type in the static assertion.
716 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
717
718 2014-04-27 Tim Shen <timshen91@gmail.com>
719
720 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
721 Add _S_opcode_repeat support to distingush a loop from
722 _S_opcode_alternative.
723 * include/bits/regex_automaton.tcc (_State_base::_M_print,
724 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
725 _StateSeq<>::_M_clone): Likewise.
726 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
727 Likewise.
728 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
729 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
730 Uglify local variable __i.
731 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
732 Use size_t instead of int to compare with vector::size().
733
734 2014-04-27 Tim Shen <timshen91@gmail.com>
735
736 * include/bits/regex_executor.h: Add _M_rep_count to track how
737 many times this repeat node are visited.
738 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
739 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
740 infinite loop.
741
742 2014-04-27 Tim Shen <timshen91@gmail.com>
743
744 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
745 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
746 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
747 * include/bits/regex_automaton.h: Remove quantifier counting variable.
748 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
749 Adjust debug NFA dump.
750
751 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
752
753 PR libstdc++/60710
754 * include/experimental/optional (operator!=): Implement in terms of
755 operator==.
756 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
757 * testsuite/experimental/optional/relops/2.cc: Likewise.
758 * testsuite/experimental/optional/relops/3.cc: Likewise.
759 * testsuite/experimental/optional/relops/4.cc: Likewise.
760 * testsuite/experimental/optional/relops/5.cc: Likewise.
761 * testsuite/experimental/optional/relops/6.cc: Likewise.
762
763 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
764
765 PR libstdc++/60958
766 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
767 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
768 comment.
769
770 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
771
772 * testsuite/util/testsuite_abi.cc (check_version): Update for
773 CXXABI_1.3.9.
774
775 2014-04-24 Tim Shen <timshen91@gmail.com>
776
777 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
778 Do _M_alt before _M_next.
779 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
780
781 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
782
783 PR libstdc++/43622
784 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
785 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
786 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
787
788 2014-04-24 Andreas Schwab <schwab@suse.de>
789
790 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
791 new CXXABI_1.3.9 symbols.
792
793 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
794
795 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
796 (CXXABI_1.3.9): New version.
797
798 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
799
800 PR libstdc++/43622
801 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
802 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
803 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
804
805 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
806
807 * configure.host: Remove solaris2.9 handling.
808 Change os_include_dir to os/solaris/solaris2.10.
809 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
810 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
811 * configure: Regenerate.
812 * config/abi/post/solaris2.9: Remove.
813 * config/os/solaris/solaris2.9: Rename to ...
814 * config/os/solaris/solaris2.10: ... this.
815 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
816 Remove.
817
818 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
819 Remove Solaris 9 reference.
820 * doc/html/manual/configure.html: Regenerate.
821
822 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
823 Remove *-*-solaris2.9 xfail.
824 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
825 Likewise.
826
827 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
828 xfail.
829
830 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
831
832 * include/std/functional (__is_location_invariant): Use __or_ helper.
833
834 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
835
836 PR libstdc++/60734
837 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
838
839 PR libstdc++/60695
840 * include/std/atomic (atomic<_Tp>): Add static assertion.
841 * testsuite/29_atomics/atomic/60695.cc: New.
842
843 PR libstdc++/60594
844 * include/std/functional (function::_Callable): Exclude own type
845 from the callable checks.
846 * testsuite/20_util/function/60594.cc: New.
847
848 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
849 const to constexpr member functions.
850
851 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
852 delegating constructor.
853 * include/bits/shared_ptr_base.h
854 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
855
856 * include/std/atomic: Uglify parameter names.
857
858 PR c++/60786
859 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
860 1.cc: Fix invalid explicit instantiations with unqualified names.
861 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
862 2.cc: Likweise.
863 * testsuite/20_util/tuple/53648.cc: Likweise.
864 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
865 Likewise.
866 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
867 Likewise.
868 * testsuite/23_containers/unordered_map/requirements/
869 debug_container.cc: Likewise.
870 * testsuite/23_containers/unordered_map/requirements/
871 explicit_instantiation/3.cc: Likewise.
872 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
873 Likewise.
874 * testsuite/23_containers/unordered_multimap/requirements/
875 explicit_instantiation/3.cc: Likewise.
876 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
877 Likewise.
878 * testsuite/23_containers/unordered_multiset/requirements/
879 explicit_instantiation/3.cc: Likewise.
880 * testsuite/23_containers/unordered_set/requirements/
881 debug_container.cc: Likewise.
882 * testsuite/23_containers/unordered_set/requirements/
883 explicit_instantiation/3.cc: Likewise.
884
885 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
886 not use uninitialized members in mem-initializers.
887 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
888 * testsuite/util/testsuite_common_types.h: Update comment.
889
890 * include/experimental/string_view: Fix inconsistent exception specs.
891
892 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
893 Remove name of unused parameter.
894
895 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
896
897 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
898 _Vector_base::_M_allocate): NullablePointer requirements do not
899 include initialization from literal zero, use value-initialization.
900 * include/bits/vector.tcc (vector::_M_insert_aux,
901 vector::_M_explace_back_aux): Likewise for assignment.
902
903 * include/bits/allocator.h (operator==, operator!=): Add exception
904 specifications.
905
906 PR libstdc++/60497
907 * include/std/tuple (get): Qualify calls to prevent ADL.
908 * testsuite/20_util/tuple/60497.cc: New.
909
910 * include/std/tuple (tuple_element_t): Define.
911 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
912 test.
913 * testsuite/20_util/tuple/tuple_element_t.cc: New.
914
915 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
916
917 PR libstdc++/59434
918 * include/bits/stl_iterator.h (move_iterator::reference,
919 move_iterator::operator*): Implement LWG 2106.
920 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
921
922 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
923
924 * include/std/complex (__complex_exp, pow): Specify the template
925 parameter in calls to std::polar, for expression templates.
926
927 2014-04-10 Andreas Schwab <schwab@suse.de>
928
929 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
930 symbols.
931 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
932 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
933
934 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
935
936 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
937
938 * testsuite/20_util/exchange/1.cc: Add missing return statements.
939 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
940 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
941 specifications.
942
943 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
944 Jack Howarth <howarth@bromo.med.uc.edu>
945
946 PR target/54407
947 * testsuite/30_threads/condition_variable/54185.cc: Skip for
948 darwin < 11.
949
950 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
951
952 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
953 Update link.
954 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
955 Fix broken links.
956 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
957 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
958 * doc/xml/manual/concurrency_extensions.xml
959 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
960 * doc/html/*: Regenerate.
961
962 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
963 Jonathan Wakely <jwakely@redhat.com>
964
965 PR libstdc++/60270
966 * include/std/iomanip (_Quoted_string operator>>): Do not clear
967 string if input is not quoted.
968 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
969
970 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
971
972 * libsupc++/eh_ptr.cc: Improve static_assert messages.
973
974 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
975
976 * testsuite/18_support/exception_ptr/60612-terminate.cc
977 (terminate, f): Wrap in _GLIBCXX_USE_C99.
978 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
979
980 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
981
982 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
983
984 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
985 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
986 Likewise.
987 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
988 Likewise.
989 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
990
991 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
992 Fix bad s/part/chapter/ substitutions.
993 * doc/xml/manual/io.xml (std.io): Likewise.
994 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
995 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
996
997 * doc/html/*: Regenerate.
998
999 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1000
1001 PR libstdc++/60612
1002 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1003 compatible with __cxa_exception.
1004 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1005 Fix typos in comments.
1006 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1007 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1008
1009 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
1010
1011 PR libstdc++/60658
1012 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1013 Use sizeof pointer type not the element type.
1014 * testsuite/29_atomics/atomic/60658.cc: New.
1015
1016 2014-03-24 Jakub Jelinek <jakub@redhat.com>
1017
1018 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1019 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1020 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1021 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1022 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1023 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1024 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1025 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1026 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1027 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1028 entries.
1029
1030 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1031
1032 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1033
1034 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
1035
1036 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1037 to delegated constructor.
1038 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1039 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1040 Likewise.
1041 (_Hashtable(
1042 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1043
1044 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1045
1046 PR libstdc++/60623
1047 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1048
1049 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
1050
1051 PR libstdc++/60587
1052 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1053 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1054 iterator category.
1055 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1056 from different types of debug container. Use _Is_contiguous_sequence
1057 instead of is_lvalue_reference.
1058 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1059 dereferencing past-the-end iterator.
1060 (__foreign_iterator_aux4): Use const value_type* instead of
1061 potentially user-defined const_pointer type.
1062 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1063 and pass end iterator to __gnu_debug::__foreign_iterator.
1064 (__glibcxx_check_insert_range_after): Likewise.
1065 (__glibcxx_check_max_load_factor): Fix comment.
1066 * include/debug/vector (_Is_contiguous_sequence): Define partial
1067 specializations.
1068 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1069 -std=gnu++11 option and unused header.
1070 * testsuite/23_containers/vector/debug/60587.cc: New.
1071 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1072
1073 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1074
1075 * crossconfig.m4: Support spu-*-elf* targets.
1076 * configure: Regenerate.
1077
1078 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
1079
1080 PR libstdc++/60564
1081 * include/std/future (__future_base::_Task_state<>): Change
1082 constructors to template functions using perfect forwarding.
1083 (__create_task_state): Use decayed type as stored task.
1084 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1085 * testsuite/30_threads/packaged_task/60564.cc: New.
1086
1087 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
1088
1089 * scripts/create_testsuite_files: Add testsuite/experimental in
1090 the list of folders to search for tests.
1091
1092 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1093
1094 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1095
1096 2014-03-15 Tim Shen <timshen91@gmail.com>
1097
1098 * include/bits/regex.h: Add/modify comments.
1099 * include/bits/regex_compiler.h: Likewise.
1100 * include/bits/regex_executor.h: Likewise.
1101 * include/bits/regex_executor.tcc: Likewise.
1102 * include/bits/regex_scanner.h: Likewise.
1103
1104 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
1105
1106 PR ipa/58721
1107 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1108 _ZNSt12system_errorC* symbols which are not exported on any target.
1109
1110 2014-03-12 Roland McGrath <mcgrathr@google.com>
1111 Mark Seaborn <mseaborn@google.com>
1112
1113 PR libstdc++/59392
1114 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1115 the address of a null pointer, not with a null pointer to pointer.
1116 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1117 * testsuite/18_support/bad_exception/59392.cc: New file.
1118
1119 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
1120
1121 PR libstdc++/60499
1122 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1123 Uglify name.
1124 * include/debug/map (map::operator=(map&&)): Likewise.
1125 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1126 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1127 * include/debug/set (set::operator=(set&&)): Likewise.
1128 * include/debug/unordered_map
1129 (unordered_map::operator=(unordered_map&&)): Likewise.
1130 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1131 * include/debug/unordered_set
1132 (unordered_set::operator=(unordered_set&&)): Likewise.
1133 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1134 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1135 * testsuite/23_containers/forward_list/debug/60499.cc: New
1136 * testsuite/23_containers/map/debug/60499.cc: New
1137 * testsuite/23_containers/multimap/debug/60499.cc: New
1138 * testsuite/23_containers/multiset/debug/60499.cc: New
1139 * testsuite/23_containers/set/debug/60499.cc: New
1140 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1141 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1142 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1143 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1144 * testsuite/23_containers/vector/debug/60499.cc: New
1145
1146 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1147
1148 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1149 for filesystem and fundamentals TS work items.
1150
1151 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1152
1153 PR c++/60376
1154 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1155 Adjust dg-error directives.
1156
1157 2014-02-26 Tim Shen <timshen91@gmail.com>
1158
1159 * include/bits/regex.tcc (match_results<>::format,
1160 regex_replace<>): Update __out after calling std::copy.
1161 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1162 Add testcase.
1163 * testsuite/28_regex/match_results/format.cc: Likewise.
1164
1165 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
1166
1167 PR libstdc++/60308
1168 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1169 allocator_type&)): Remove redundant call to _M_initialize_map.
1170 (deque::deque(const allocator_type&)): Initialize _Base with a
1171 constructor that calls _M_initialize_map.
1172
1173 Partial revert:
1174
1175 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1176 PR libstdc++/58338
1177 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1178 _M_initialize_map.
1179
1180 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1181
1182 Rename testsuite directory shared_mutex to shared_timed_mutex
1183 for consistency.
1184 * testsuite/30_threads/shared_mutex: Moved to...
1185 * testsuite/30_threads/shared_timed_mutex: ...here
1186
1187 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1188
1189 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1190 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1191 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1192 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1193 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1194 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1195 * testsuite/30_threads/shared_lock/requirements/
1196 explicit_instantiation.cc: Ditto.
1197 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1198 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1199 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1200 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1201 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1202 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1203 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1204 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1205 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1206 * testsuite/30_threads/shared_mutex/requirements/
1207 standard_layout.cc: Ditto.
1208 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1209 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1210 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1211 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1212 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1213
1214 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1215
1216 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1217 execution on i?86-*-solaris2.9, remove comment.
1218 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1219
1220 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1221
1222 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1223 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1224 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1225
1226 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
1227
1228 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1229 not use varargs when argument could be non-POD.
1230 (__alloctr_rebind_helper): Eliminate static const bool member by
1231 using true_type and false_type.
1232 (allocator_traits::__allocate_helper): Likewise.
1233 (allocator_traits::__construct_helper): Likewise.
1234 (allocator_traits::__destroy_helper): Likewise.
1235 (allocator_traits::__maxsize_helper): Likewise.
1236 (allocator_traits::__select_helper): Likewise.
1237 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1238 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1239 Remove redundant condition.
1240 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1241 Likewise.
1242 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1243 indirection through __alloc_traits.
1244 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1245 Eliminate static const bool members by using true_type and false_type.
1246 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1247 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1248 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1249 New.
1250 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1251
1252 PR libstdc++/59829
1253 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1254 (vector::_M_data_ptr): New overloaded functions to ensure empty
1255 vectors do not dereference the pointer.
1256 * testsuite/23_containers/vector/59829.cc: New.
1257 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1258 Adjust dg-error line number.
1259 * testsuite/23_containers/vector/requirements/dr438/
1260 constructor_1_neg.cc: Likewise.
1261 * testsuite/23_containers/vector/requirements/dr438/
1262 constructor_2_neg.cc: Likewise.
1263 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1264 Likewise.
1265
1266 PR libstdc++/21609
1267 * include/ext/array_allocator.h: Add deprecated attribute.
1268
1269 PR libstdc++/57226
1270 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1271 installation and use of python printers.
1272 * doc/xml/manual/status_cxx2011.xml: Update.
1273 * doc/html/*: Regenerate.
1274
1275 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
1276 Kyle Lippincott <spectral@google.com>
1277
1278 PR libstdc++/59656
1279 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1280 constructor and grant friendship to weak_ptr.
1281 (weak_ptr::lock()): Use new constructor.
1282 * include/bits/shared_ptr_base.h
1283 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1284 and define specializations.
1285 (__shared_count): Add new non-throwing constructor.
1286 (__shared_ptr): Add new non-throwing constructor and grant friendship
1287 to __weak_ptr.
1288 (__weak_ptr::lock()): Use new constructor.
1289 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1290 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1291
1292 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
1293
1294 PR libstdc++/59215
1295 * include/bits/shared_ptr_base.h
1296 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1297 load.
1298
1299 2014-01-27 Jason Merrill <jason@redhat.com>
1300
1301 Core DR 475
1302 PR c++/41174
1303 PR c++/59224
1304 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1305 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1306 (__cxa_allocate_exception): Don't set it here.
1307
1308 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
1309
1310 * include/bits/stl_map.h: Remove anachronistic comment.
1311 * include/bits/stl_multimap.h: Add whitespace.
1312 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1313 -std=gnu++11 instead of -std=c++11.
1314 * testsuite/23_containers/map/operators/2.cc: Likewise.
1315 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1316 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1317 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1318
1319 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1320 * configure: Regenerate.
1321
1322 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1323
1324 PR libstdc++/59531
1325 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1326 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1327
1328 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1329 Peter A. Bigot <pab@pabigot.com>
1330
1331 PR libstdc++/59531
1332 * include/experimental/string_view
1333 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1334 Correct copy start location.
1335
1336 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1337 Peter A. Bigot <pab@pabigot.com>
1338
1339 PR libstdc++/59530
1340 * include/experimental/string_view (operator[](size_type) const):
1341 Fix one-off index error in debug check.
1342 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1343 test basic_string_view at size().
1344 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1345
1346 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1347 Peter A. Bigot <pab@pabigot.com>
1348
1349 PR libstdc++/59529
1350 * include/experimental/string_view
1351 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1352 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1353 Comment out catch of out_of_range; No terminating null
1354 in basic_string_view. Check begin == end.
1355 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1356 Ditto.
1357
1358 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
1359
1360 PR libstdc++/59548
1361 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1362 constructor to prevent it being implicitly defined as deleted, but
1363 do not copy anything.
1364 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1365 Define copy and move constructors similar to _Safe_sequence_base's.
1366 * testsuite/23_containers/unordered_map/59548.cc: New.
1367
1368 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1369 Steve Ellcey <sellcey@mips.com>
1370
1371 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1372 function.
1373 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1374 * (configure, config.h.in): Regenerate.
1375 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1376
1377 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
1378
1379 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1380 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1381
1382 PR libstdc++/59872
1383 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1384 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1385 Likewise.
1386 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1387 Likewise.
1388 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1389 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1390 functions to perform moving or copying of elements from rvalue tree.
1391 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1392 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1393 * testsuite/23_containers/map/59872.cc: New.
1394 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1395
1396 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
1397
1398 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1399
1400 PR libstdc++/58764
1401 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1402 Split into separate default constructor and constructor taking
1403 allocator.
1404 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1405 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1406 Likewise.
1407 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1408 * include/debug/list (list::list(const _Allocator&)): Likewise.
1409 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1410 Likewise.
1411 * include/debug/multimap.h
1412 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1413 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1414 Likewise.
1415 * include/debug/multiset.h
1416 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1417 * include/debug/vector (vector::vector(const allocator_type&)):
1418 Likewise.
1419 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1420 * include/profile/list (list::list(const _Allocator&)): Likewise.
1421 * include/profile/map.h
1422 (map::map(const _Compare&, const _Allocator&)): Likewise.
1423 * include/profile/multimap.h
1424 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1425 * include/profile/set.h
1426 (set::set(const _Compare&, const _Allocator&)): Likewise.
1427 * include/profile/multiset.h
1428 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1429 * include/profile/vector (vector::vector(const _Allocator&)):
1430 Likewise.
1431 * testsuite/23_containers/deque/58764.cc: New.
1432 * testsuite/23_containers/list/58764.cc: New.
1433 * testsuite/23_containers/map/58764.cc: New.
1434 * testsuite/23_containers/multimap/58764.cc: New.
1435 * testsuite/23_containers/set/58764.cc: New.
1436 * testsuite/23_containers/multiset/58764.cc: New.
1437 * testsuite/23_containers/vector/58764.cc: New.
1438 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1439 Adjust dg-error line number.
1440 * testsuite/23_containers/deque/requirements/dr438/
1441 constructor_1_neg.cc: Likewise.
1442 * testsuite/23_containers/deque/requirements/dr438/
1443 constructor_2_neg.cc: Likewise.
1444 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1445 Likewise.
1446 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1447 Likewise.
1448 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1449 Likewise.
1450 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1451 Likewise.
1452 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1453 Likewise.
1454 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1455 Likewise.
1456 * testsuite/23_containers/vector/requirements/dr438/
1457 constructor_1_neg.cc: Likewise.
1458 * testsuite/23_containers/vector/requirements/dr438/
1459 constructor_2_neg.cc: Likewise.
1460 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1461 Likewise.
1462
1463 PR libstdc++/58764 (again)
1464 * include/bits/stl_list.h (list): Make default constructor's exception
1465 specification conditional.
1466 * include/bits/stl_vector.h (vector): Likewise.
1467 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1468 to default constructor.
1469 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1470 Adjust dg-error line number.
1471 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1472 Likewise.
1473 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1474 Likewise.
1475 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1476 Likewise.
1477 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1478 Likewise.
1479 * testsuite/23_containers/vector/requirements/dr438/
1480 constructor_1_neg.cc: Likewise.
1481 * testsuite/23_containers/vector/requirements/dr438/
1482 constructor_2_neg.cc: Likewise.
1483 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1484 Likewise.
1485
1486 2014-01-21 Tim Shen <timshen91@gmail.com>
1487
1488 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1489 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1490 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1491
1492 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
1493
1494 PR libstdc++/56267
1495 * include/bits/hashtable.h (__cache_default): Do not depend on
1496 whether the hash function is DefaultConstructible or CopyAssignable.
1497 (_Hashtable): Adjust static assertions.
1498 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1499 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1500 dg-error line number.
1501 * testsuite/23_containers/unordered_set/
1502 not_default_constructible_hash_neg.cc: Remove.
1503
1504 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
1505
1506 * scripts/create_testsuite_files: Add testsuite/experimental in
1507 the list of folders to search for tests.
1508 * include/experimental/string_view
1509 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1510 incompatible with constexpr qualifier.
1511 (basic_string_view<>::front()): Likewise.
1512 (basic_string_view<>::back()): Likewise.
1513 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1514 Merge dg-options directives into one.
1515 * testsuite/experimental/string_view/element_access/char/2.cc:
1516 Likewise. Remove invalid experimental namespace scope on
1517 string_view_type.
1518
1519 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1520
1521 PR libstdc++/56267
1522 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1523 friendship to _Local_iterator_base<..., false>.
1524 (_Local_iterator_base): Give protected access to all existing members.
1525 (_Local_iterator_base::_M_curr()): New public accessor.
1526 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1527 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1528 the lifetime of the _Hash_code_base explicitly.
1529 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1530 (_Local_iterator_base<..., false>): Define copy constructor and copy
1531 assignment operator that use new functions to manage _Hash_code_base.
1532 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1533 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1534 Use public API for _Local_iterator_base.
1535 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1536 * include/debug/unordered_map (__debug::unordered_map::erase(),
1537 __debug::unordered_multimap::erase()): Likewise.
1538 * include/debug/unordered_set (__debug::unordered_set::erase(),
1539 __debug::unordered_multiset::erase()): Likewise.
1540 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1541
1542 2014-01-19 Tim Shen <timshen91@gmail.com>
1543
1544 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1545 Fix parse error of multiple consecutive quantifiers like "a**".
1546 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1547 Likewise.
1548 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1549
1550 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1551
1552 * include/profile/set.h (set): Implement C++11 allocator-aware
1553 container requirements.
1554 * include/profile/map.h (map): Likewise.
1555 * include/profile/multiset.h (multiset): Likewise.
1556 * include/profile/multimap.h (multimap): Likewise.
1557 * include/profile/set.h
1558 (set::operator=(const set&)): Define as default in C++11 mode.
1559 (set::operator=(set&&)): Likewise.
1560 * include/profile/map.h
1561 (map::operator=(const map&)): Likewise.
1562 (map::operator=(map&&)): Likewise.
1563 * include/profile/multiset.h
1564 (multiset::operator=(const multiset&)): Likewise.
1565 (multiset::operator=(multiset&&)): Likewise.
1566 * include/profile/multimap.h
1567 (multimap::operator=(const multimap&)): Likewise.
1568 (multimap::operator=(multimap&&)): Likewise.
1569 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1570 Rely on the same operator from normal mode.
1571 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1572 Likewise.
1573 * include/profile/multiset.h
1574 (multiset::operator=(std::initializer_list<>)): Likewise.
1575 * include/profile/multimap.h
1576 (multimap::operator=(std::initializer_list<>)): Likewise.
1577 * include/profile/set.h (set::swap(set&)): Add noexcept
1578 specification.
1579 * include/profile/map.h (map::swap(map&)): Likewise.
1580 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1581 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1582
1583 2014-01-17 Tim Shen <timshen91@gmail.com>
1584
1585 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1586 use std::map.
1587 * include/bits/regex_automaton.h: Do not use std::set.
1588 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1589 _BracketMatcher<>::_M_add_collating_element(),
1590 _BracketMatcher<>::_M_add_equivalence_class(),
1591 _BracketMatcher<>::_M_make_range()): Likewise.
1592 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1593 Likewise.
1594 * include/bits/regex_executor.h: Do not use std::queue.
1595 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1596 _Executor<>::_M_dfs()): Likewise.
1597 * include/std/regex: Remove <map>, <set> and <queue>.
1598
1599 2014-01-17 Tim Shen <timshen91@gmail.com>
1600
1601 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1602 basic_regex<>::assign()): Change __compile_nfa to accept
1603 const _CharT* only.
1604 * include/bits/regex_compiler.h: Change _Compiler's template
1605 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1606 * include/bits/regex_compiler.tcc: Likewise.
1607
1608 2014-01-17 Tim Shen <timshen91@gmail.com>
1609
1610 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1611 templated.
1612 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1613 _ScannerBase from _Scanner; Change _Scanner's template argument from
1614 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1615 instead.
1616 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1617 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1618 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1619 Likewise.
1620 * include/std/regex: Add <cstring> for using strchr.
1621
1622 2014-01-17 Tim Shen <timshen91@gmail.com>
1623
1624 * bits/regex_automaton.tcc: Indentation fix.
1625 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1626 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1627 _BracketMatcher<>): Add bool option template parameters and
1628 specializations to make matching more efficient and space saving.
1629 * bits/regex_compiler.tcc: Likewise.
1630
1631 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1632
1633 PR libstdc++/59712
1634 * include/bits/hashtable_policy.h: Fix some long lines.
1635 * include/bits/hashtable.h (__hash_code_base_access): Define and
1636 use it to check its _M_bucket_index noexcept qualification. Use
1637 also in place of...
1638 (__access_protected_ctor): ...this.
1639 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1640 Adapt line number.
1641 * testsuite/23_containers/unordered_set/
1642 not_default_constructible_hash_neg.cc: Likewise.
1643
1644 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1645
1646 * include/debug/set.h (set): Implement C++11 allocator-aware
1647 container requirements.
1648 * include/debug/map.h (map): Likewise.
1649 * include/debug/multiset.h (multiset): Likewise.
1650 * include/debug/multimap.h (multimap): Likewise.
1651 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1652 fix implementation regarding management of safe iterators.
1653 * include/debug/map.h (map::operator=(map&&)): Likewise.
1654 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1655 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1656 Likewise.
1657 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1658 Rely on the same operator from normal mode.
1659 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1660 Likewise.
1661 * include/debug/multiset.h
1662 (multiset::operator=(std::initializer_list<>)): Likewise.
1663 * include/debug/multimap.h
1664 (multimap::operator=(std::initializer_list<>)): Likewise.
1665 * include/debug/set.h (set::swap(set&)): Add noexcept
1666 specification, add allocator equality check.
1667 * include/debug/map.h (map::swap(map&)): Likewise.
1668 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1669 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1670
1671 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1672
1673 PR libstdc++/59698
1674 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1675 and stylistic improvements.
1676 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1677 and update for C++11.
1678 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1679
1680 PR libstdc++/59687
1681 * doc/xml/manual/backwards_compatibility.xml
1682 (backwards.third.nocreate_noreplace): Correct and expand.
1683
1684 PR libstdc++/59699
1685 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1686
1687 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1688
1689 PR libstdc++/59738
1690 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1691 support for non-Movable types.
1692
1693 PR libstdc++/59680
1694 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1695
1696 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1697
1698 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1699 *this allocator instance when building temporary vector instance
1700 so that *this allocator does not get moved.
1701 * include/debug/safe_base.h
1702 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1703 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1704 move constructor from _Safe_sequence_base.
1705 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1706 safe iterators if the instance is moved.
1707 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1708 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1709 check on a vector iterator.
1710 * testsuite/23_containers/vector/allocator/move_assign.cc
1711 (test02): Likewise.
1712 (test03): New, test with a non-propagating allocator.
1713 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1714
1715 2014-01-07 Tim Shen <timshen91@gmail.com>
1716
1717 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1718 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1719 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1720 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1721 _BracketMatcher<>::_M_add_char(),
1722 _BracketMatcher<>::_M_add_collating_element(),
1723 _BracketMatcher<>::_M_add_equivalence_class(),
1724 _BracketMatcher<>::_M_add_character_class(),
1725 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1726 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1727 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1728 to template parameter; Add cache for _BracketMatcher. Adjust
1729 declarations from here...
1730 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1731 imbuing a regex will trigger a recompilation to rebuild the cache.
1732 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1733 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1734 different template bool parameters.
1735 * include/bits/regex_executor.h: Remove unnecessary declarations.
1736 * include/std/regex: Adjust including orders.
1737 * testsuite/28_regex/traits/char/user_defined.cc: New.
1738 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1739
1740 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1741
1742 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1743 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1744 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1745 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1746 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1747
1748 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1749
1750 Update copyright years
1751
1752 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1753
1754 * testsuite/18_support/new_handler.cc,
1755 testsuite/18_support/terminate_handler.cc,
1756 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1757 the copyright notice.
1758 \f
1759 Copyright (C) 2014 Free Software Foundation, Inc.
1760
1761 Copying and distribution of this file, with or without modification,
1762 are permitted in any medium without royalty provided the copyright
1763 notice and this notice are preserved.