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