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