re PR libstdc++/61117 (Manual uses term open source but should say free software)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-05-08 Joshua Gay <jgay@gnu.org>
2
3 PR libstdc++/61117
4 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
5 source" with "free software".
6 * doc/html/faq.html: Likewise.
7
8 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
9
10 PR libstdc++/57394
11 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
12 deleted for C++11.
13 (operator=(const ios_base&)): Likewise.
14 * include/std/streambuf: Remove trailing whitespace.
15 (basic_streambuf(const basic_streambuf&)): Fix initializer for
16 _M_out_end. Define as defaulted for C++11.
17 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
18 (swap(basic_streambuf&)): Define for C++11.
19 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
20
21 PR libstdc++/13860
22 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
23
24 * include/std/iostream: Fix URL in comment.
25 * src/c++98/ios_init.cc: Fix path in comment.
26
27 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
28
29 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
30 * configure: Regenerate.
31
32 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
33
34 PR libstdc++/61023
35 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
36 comparison function.
37 * testsuite/23_containers/set/cons/61023.cc: New.
38
39 PR libstdc++/61086
40 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
41 Remove.
42 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
43 arithmetic to obtain a mutable iterator from const_iterator.
44 * include/bits/vector.tcc (vector::insert): Likewise.
45 * include/debug/vector (vector::erase): Likewise.
46 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
47 Adjust dg-error line number.
48 * testsuite/23_containers/vector/requirements/dr438/
49 constructor_1_neg.cc: Likewise.
50 * testsuite/23_containers/vector/requirements/dr438/
51 constructor_2_neg.cc: Likewise.
52 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
53 Likewise.
54
55 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
56
57 * include/Makefile.in: Regenerate.
58
59 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
60
61 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
62 parameter to pass the 2 instances to check allocator equality.
63 * include/debug/safe_container.h: New, define _Safe_container<>.
64 * include/Makefile.am: Add previous.
65 * include/debug/deque (std::__debug::deque<>): Inherit
66 _Safe_container<>. Use default implementation for all special
67 functions.
68 * include/debug/forward_list (std::__debug::forward_list<>):
69 Likewise.
70 * include/debug/list (std::__debug::list<>): Likewise.
71 * include/debug/map.h (std::__debug::map<>): Likewise.
72 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
73 * include/debug/set.h (std::__debug::set<>): Likewise.
74 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
75 * include/debug/string (std::__debug::basic_string<>): Likewise.
76 * include/debug/unordered_map
77 (std::__debug::unordered_map<>): Likewise.
78 (std::__debug::unordered_multimap<>): Likewise.
79 * include/debug/unordered_set
80 (std::__debug::unordered_set<>): Likewise.
81 (std::__debug::unordered_multiset<>): Likewise.
82 * include/debug/vector (std::__debug::vector<>): Likewise.
83 * include/debug/safe_base.h (_Safe_sequence_base()): Add
84 noexcept.
85 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
86 (~_Safe_sequence_base()): Add noexcept.
87 * include/debug/safe_sequence.h
88 (std::__debug::_Safe_node_sequence<>): New.
89 * include/debug/safe_unordered_base.h
90 (_Safe_unordered_container_base()): Add noexcept.
91 (~_Safe_unordered_container_base()): Likewise.
92 (_M_swap(_Safe_unordered_container_base&)): Likewise.
93 * include/debug/safe_unordered_container.h:
94 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
95 (_Safe_unordered_container<>::_M_invalidate_all()): New.
96 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
97 qualifications.
98 * testsuite/util/debug/checks.h (check_construct1): Just implement
99 an invalid constructor invocation and no other operations
100 potentially not supported by some types of container.
101 (check_construct2): Likewise.
102 (check_construct3): Likewise.
103 * testsuite/23_containers/forward_list/allocator/move.cc: Add
104 check on iterators to make sure they are correctly moved in debug
105 mode.
106 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
107 Likewise.
108 * testsuite/23_containers/map/allocator/move.cc: Likewise.
109 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
110 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
111 * testsuite/23_containers/multimap/allocator/move_assign.cc:
112 Likewise.
113 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
114 * testsuite/23_containers/multiset/allocator/move_assign.cc:
115 Likewise.
116 * testsuite/23_containers/set/allocator/move.cc: Likewise.
117 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
118 * testsuite/23_containers/unordered_map/allocator/move.cc:
119 Likewise.
120 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
121 Likewise.
122 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
123 Likewise.
124 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
125 Likewise.
126 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
127 Likewise.
128 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
129 Likewise.
130 * testsuite/23_containers/unordered_set/allocator/move.cc:
131 Likewise.
132 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
133 Likewise.
134 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
135 New.
136 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
137 New.
138 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
139 New.
140 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
141 New.
142 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
143 New.
144 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
145 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
146 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
147 * testsuite/23_containers/map/debug/move_neg.cc: New.
148 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
149 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
150 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
151 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
152 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
153 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
154 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
155 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
156 * testsuite/23_containers/set/debug/move_neg.cc: New.
157 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
158 New.
159 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
160 New.
161 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
162 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
163 New.
164 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
165 New.
166 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
167 New.
168 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
169 New.
170 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
171 New.
172 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
173 New.
174 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
175 New.
176 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
177 New.
178 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
179 * testsuite/23_containers/vector/debug/move_neg.cc: New.
180
181 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
182
183 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
184 (CXXABI_1.3.9): Remove __float128 symbols.
185
186 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
187
188 PR libstdc++/59476
189 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
190 function to handle both C++03 and C++11 _Rb_tree_node implementations.
191 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
192 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
193 refer to...
194 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
195
196 PR libstdc++/61036
197 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
198 Check the correct type in the static assertion.
199 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
200
201 2014-04-27 Tim Shen <timshen91@gmail.com>
202
203 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
204 Add _S_opcode_repeat support to distingush a loop from
205 _S_opcode_alternative.
206 * include/bits/regex_automaton.tcc (_State_base::_M_print,
207 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
208 _StateSeq<>::_M_clone): Likewise.
209 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
210 Likewise.
211 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
212 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
213 Uglify local variable __i.
214 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
215 Use size_t instead of int to compare with vector::size().
216
217 2014-04-27 Tim Shen <timshen91@gmail.com>
218
219 * include/bits/regex_executor.h: Add _M_rep_count to track how
220 many times this repeat node are visited.
221 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
222 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
223 infinite loop.
224
225 2014-04-27 Tim Shen <timshen91@gmail.com>
226
227 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
228 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
229 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
230 * include/bits/regex_automaton.h: Remove quantifier counting variable.
231 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
232 Adjust debug NFA dump.
233
234 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
235
236 PR libstdc++/60710
237 * include/experimental/optional (operator!=): Implement in terms of
238 operator==.
239 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
240 * testsuite/experimental/optional/relops/2.cc: Likewise.
241 * testsuite/experimental/optional/relops/3.cc: Likewise.
242 * testsuite/experimental/optional/relops/4.cc: Likewise.
243 * testsuite/experimental/optional/relops/5.cc: Likewise.
244 * testsuite/experimental/optional/relops/6.cc: Likewise.
245
246 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
247
248 PR libstdc++/60958
249 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
250 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
251 comment.
252
253 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
254
255 * testsuite/util/testsuite_abi.cc (check_version): Update for
256 CXXABI_1.3.9.
257
258 2014-04-24 Tim Shen <timshen91@gmail.com>
259
260 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
261 Do _M_alt before _M_next.
262 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
263
264 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
265
266 PR libstdc++/43622
267 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
268 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
269 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
270
271 2014-04-24 Andreas Schwab <schwab@suse.de>
272
273 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
274 new CXXABI_1.3.9 symbols.
275
276 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
277
278 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
279 (CXXABI_1.3.9): New version.
280
281 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
282
283 PR libstdc++/43622
284 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
285 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
286 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
287
288 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
289
290 * configure.host: Remove solaris2.9 handling.
291 Change os_include_dir to os/solaris/solaris2.10.
292 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
293 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
294 * configure: Regenerate.
295 * config/abi/post/solaris2.9: Remove.
296 * config/os/solaris/solaris2.9: Rename to ...
297 * config/os/solaris/solaris2.10: ... this.
298 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
299 Remove.
300
301 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
302 Remove Solaris 9 reference.
303 * doc/html/manual/configure.html: Regenerate.
304
305 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
306 Remove *-*-solaris2.9 xfail.
307 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
308 Likewise.
309
310 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
311 xfail.
312
313 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
314
315 * include/std/functional (__is_location_invariant): Use __or_ helper.
316
317 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
318
319 PR libstdc++/60734
320 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
321
322 PR libstdc++/60695
323 * include/std/atomic (atomic<_Tp>): Add static assertion.
324 * testsuite/29_atomics/atomic/60695.cc: New.
325
326 PR libstdc++/60594
327 * include/std/functional (function::_Callable): Exclude own type
328 from the callable checks.
329 * testsuite/20_util/function/60594.cc: New.
330
331 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
332 const to constexpr member functions.
333
334 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
335 delegating constructor.
336 * include/bits/shared_ptr_base.h
337 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
338
339 * include/std/atomic: Uglify parameter names.
340
341 PR c++/60786
342 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
343 1.cc: Fix invalid explicit instantiations with unqualified names.
344 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
345 2.cc: Likweise.
346 * testsuite/20_util/tuple/53648.cc: Likweise.
347 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
348 Likewise.
349 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
350 Likewise.
351 * testsuite/23_containers/unordered_map/requirements/
352 debug_container.cc: Likewise.
353 * testsuite/23_containers/unordered_map/requirements/
354 explicit_instantiation/3.cc: Likewise.
355 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
356 Likewise.
357 * testsuite/23_containers/unordered_multimap/requirements/
358 explicit_instantiation/3.cc: Likewise.
359 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
360 Likewise.
361 * testsuite/23_containers/unordered_multiset/requirements/
362 explicit_instantiation/3.cc: Likewise.
363 * testsuite/23_containers/unordered_set/requirements/
364 debug_container.cc: Likewise.
365 * testsuite/23_containers/unordered_set/requirements/
366 explicit_instantiation/3.cc: Likewise.
367
368 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
369 not use uninitialized members in mem-initializers.
370 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
371 * testsuite/util/testsuite_common_types.h: Update comment.
372
373 * include/experimental/string_view: Fix inconsistent exception specs.
374
375 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
376 Remove name of unused parameter.
377
378 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
379
380 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
381 _Vector_base::_M_allocate): NullablePointer requirements do not
382 include initialization from literal zero, use value-initialization.
383 * include/bits/vector.tcc (vector::_M_insert_aux,
384 vector::_M_explace_back_aux): Likewise for assignment.
385
386 * include/bits/allocator.h (operator==, operator!=): Add exception
387 specifications.
388
389 PR libstdc++/60497
390 * include/std/tuple (get): Qualify calls to prevent ADL.
391 * testsuite/20_util/tuple/60497.cc: New.
392
393 * include/std/tuple (tuple_element_t): Define.
394 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
395 test.
396 * testsuite/20_util/tuple/tuple_element_t.cc: New.
397
398 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
399
400 PR libstdc++/59434
401 * include/bits/stl_iterator.h (move_iterator::reference,
402 move_iterator::operator*): Implement LWG 2106.
403 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
404
405 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
406
407 * include/std/complex (__complex_exp, pow): Specify the template
408 parameter in calls to std::polar, for expression templates.
409
410 2014-04-10 Andreas Schwab <schwab@suse.de>
411
412 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
413 symbols.
414 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
415 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
416
417 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
418
419 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
420
421 * testsuite/20_util/exchange/1.cc: Add missing return statements.
422 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
423 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
424 specifications.
425
426 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
427 Jack Howarth <howarth@bromo.med.uc.edu>
428
429 PR target/54407
430 * testsuite/30_threads/condition_variable/54185.cc: Skip for
431 darwin < 11.
432
433 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
434
435 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
436 Update link.
437 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
438 Fix broken links.
439 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
440 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
441 * doc/xml/manual/concurrency_extensions.xml
442 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
443 * doc/html/*: Regenerate.
444
445 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
446 Jonathan Wakely <jwakely@redhat.com>
447
448 PR libstdc++/60270
449 * include/std/iomanip (_Quoted_string operator>>): Do not clear
450 string if input is not quoted.
451 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
452
453 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
454
455 * libsupc++/eh_ptr.cc: Improve static_assert messages.
456
457 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
458
459 * testsuite/18_support/exception_ptr/60612-terminate.cc
460 (terminate, f): Wrap in _GLIBCXX_USE_C99.
461 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
462
463 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
464
465 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
466
467 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
468 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
469 Likewise.
470 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
471 Likewise.
472 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
473
474 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
475 Fix bad s/part/chapter/ substitutions.
476 * doc/xml/manual/io.xml (std.io): Likewise.
477 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
478 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
479
480 * doc/html/*: Regenerate.
481
482 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
483
484 PR libstdc++/60612
485 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
486 compatible with __cxa_exception.
487 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
488 Fix typos in comments.
489 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
490 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
491
492 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
493
494 PR libstdc++/60658
495 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
496 Use sizeof pointer type not the element type.
497 * testsuite/29_atomics/atomic/60658.cc: New.
498
499 2014-03-24 Jakub Jelinek <jakub@redhat.com>
500
501 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
502 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
503 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
504 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
505 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
506 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
507 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
508 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
509 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
510 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
511 entries.
512
513 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
514
515 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
516
517 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
518
519 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
520 to delegated constructor.
521 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
522 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
523 Likewise.
524 (_Hashtable(
525 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
526
527 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
528
529 PR libstdc++/60623
530 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
531
532 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
533
534 PR libstdc++/60587
535 * include/debug/functions.h (_Is_contiguous_sequence): Define.
536 (__foreign_iterator): Accept additional iterator. Do not dispatch on
537 iterator category.
538 (__foreign_iterator_aux2): Likewise. Add overload for iterators
539 from different types of debug container. Use _Is_contiguous_sequence
540 instead of is_lvalue_reference.
541 (__foreign_iterator_aux3): Accept additional iterator. Avoid
542 dereferencing past-the-end iterator.
543 (__foreign_iterator_aux4): Use const value_type* instead of
544 potentially user-defined const_pointer type.
545 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
546 and pass end iterator to __gnu_debug::__foreign_iterator.
547 (__glibcxx_check_insert_range_after): Likewise.
548 (__glibcxx_check_max_load_factor): Fix comment.
549 * include/debug/vector (_Is_contiguous_sequence): Define partial
550 specializations.
551 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
552 -std=gnu++11 option and unused header.
553 * testsuite/23_containers/vector/debug/60587.cc: New.
554 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
555
556 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
557
558 * crossconfig.m4: Support spu-*-elf* targets.
559 * configure: Regenerate.
560
561 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
562
563 PR libstdc++/60564
564 * include/std/future (__future_base::_Task_state<>): Change
565 constructors to template functions using perfect forwarding.
566 (__create_task_state): Use decayed type as stored task.
567 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
568 * testsuite/30_threads/packaged_task/60564.cc: New.
569
570 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
571
572 * scripts/create_testsuite_files: Add testsuite/experimental in
573 the list of folders to search for tests.
574
575 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
576
577 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
578
579 2014-03-15 Tim Shen <timshen91@gmail.com>
580
581 * include/bits/regex.h: Add/modify comments.
582 * include/bits/regex_compiler.h: Likewise.
583 * include/bits/regex_executor.h: Likewise.
584 * include/bits/regex_executor.tcc: Likewise.
585 * include/bits/regex_scanner.h: Likewise.
586
587 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
588
589 PR ipa/58721
590 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
591 _ZNSt12system_errorC* symbols which are not exported on any target.
592
593 2014-03-12 Roland McGrath <mcgrathr@google.com>
594 Mark Seaborn <mseaborn@google.com>
595
596 PR libstdc++/59392
597 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
598 the address of a null pointer, not with a null pointer to pointer.
599 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
600 * testsuite/18_support/bad_exception/59392.cc: New file.
601
602 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
603
604 PR libstdc++/60499
605 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
606 Uglify name.
607 * include/debug/map (map::operator=(map&&)): Likewise.
608 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
609 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
610 * include/debug/set (set::operator=(set&&)): Likewise.
611 * include/debug/unordered_map
612 (unordered_map::operator=(unordered_map&&)): Likewise.
613 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
614 * include/debug/unordered_set
615 (unordered_set::operator=(unordered_set&&)): Likewise.
616 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
617 * include/debug/vector (vector::operator=(vector&&)): Likewise.
618 * testsuite/23_containers/forward_list/debug/60499.cc: New
619 * testsuite/23_containers/map/debug/60499.cc: New
620 * testsuite/23_containers/multimap/debug/60499.cc: New
621 * testsuite/23_containers/multiset/debug/60499.cc: New
622 * testsuite/23_containers/set/debug/60499.cc: New
623 * testsuite/23_containers/unordered_map/debug/60499.cc: New
624 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
625 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
626 * testsuite/23_containers/unordered_set/debug/60499.cc: New
627 * testsuite/23_containers/vector/debug/60499.cc: New
628
629 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
630
631 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
632 for filesystem and fundamentals TS work items.
633
634 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
635
636 PR c++/60376
637 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
638 Adjust dg-error directives.
639
640 2014-02-26 Tim Shen <timshen91@gmail.com>
641
642 * include/bits/regex.tcc (match_results<>::format,
643 regex_replace<>): Update __out after calling std::copy.
644 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
645 Add testcase.
646 * testsuite/28_regex/match_results/format.cc: Likewise.
647
648 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
649
650 PR libstdc++/60308
651 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
652 allocator_type&)): Remove redundant call to _M_initialize_map.
653 (deque::deque(const allocator_type&)): Initialize _Base with a
654 constructor that calls _M_initialize_map.
655
656 Partial revert:
657
658 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
659 PR libstdc++/58338
660 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
661 _M_initialize_map.
662
663 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
664
665 Rename testsuite directory shared_mutex to shared_timed_mutex
666 for consistency.
667 * testsuite/30_threads/shared_mutex: Moved to...
668 * testsuite/30_threads/shared_timed_mutex: ...here
669
670 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
671
672 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
673 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
674 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
675 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
676 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
677 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
678 * testsuite/30_threads/shared_lock/requirements/
679 explicit_instantiation.cc: Ditto.
680 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
681 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
682 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
683 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
684 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
685 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
686 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
687 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
688 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
689 * testsuite/30_threads/shared_mutex/requirements/
690 standard_layout.cc: Ditto.
691 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
692 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
693 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
694 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
695 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
696
697 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
698
699 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
700 execution on i?86-*-solaris2.9, remove comment.
701 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
702
703 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
704
705 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
706 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
707 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
708
709 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
710
711 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
712 not use varargs when argument could be non-POD.
713 (__alloctr_rebind_helper): Eliminate static const bool member by
714 using true_type and false_type.
715 (allocator_traits::__allocate_helper): Likewise.
716 (allocator_traits::__construct_helper): Likewise.
717 (allocator_traits::__destroy_helper): Likewise.
718 (allocator_traits::__maxsize_helper): Likewise.
719 (allocator_traits::__select_helper): Likewise.
720 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
721 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
722 Remove redundant condition.
723 * include/bits/stl_vector.h (vector::operator=(const vector&)):
724 Likewise.
725 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
726 indirection through __alloc_traits.
727 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
728 Eliminate static const bool members by using true_type and false_type.
729 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
730 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
731 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
732 New.
733 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
734
735 PR libstdc++/59829
736 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
737 (vector::_M_data_ptr): New overloaded functions to ensure empty
738 vectors do not dereference the pointer.
739 * testsuite/23_containers/vector/59829.cc: New.
740 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
741 Adjust dg-error line number.
742 * testsuite/23_containers/vector/requirements/dr438/
743 constructor_1_neg.cc: Likewise.
744 * testsuite/23_containers/vector/requirements/dr438/
745 constructor_2_neg.cc: Likewise.
746 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
747 Likewise.
748
749 PR libstdc++/21609
750 * include/ext/array_allocator.h: Add deprecated attribute.
751
752 PR libstdc++/57226
753 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
754 installation and use of python printers.
755 * doc/xml/manual/status_cxx2011.xml: Update.
756 * doc/html/*: Regenerate.
757
758 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
759 Kyle Lippincott <spectral@google.com>
760
761 PR libstdc++/59656
762 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
763 constructor and grant friendship to weak_ptr.
764 (weak_ptr::lock()): Use new constructor.
765 * include/bits/shared_ptr_base.h
766 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
767 and define specializations.
768 (__shared_count): Add new non-throwing constructor.
769 (__shared_ptr): Add new non-throwing constructor and grant friendship
770 to __weak_ptr.
771 (__weak_ptr::lock()): Use new constructor.
772 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
773 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
774
775 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
776
777 PR libstdc++/59215
778 * include/bits/shared_ptr_base.h
779 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
780 load.
781
782 2014-01-27 Jason Merrill <jason@redhat.com>
783
784 Core DR 475
785 PR c++/41174
786 PR c++/59224
787 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
788 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
789 (__cxa_allocate_exception): Don't set it here.
790
791 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
792
793 * include/bits/stl_map.h: Remove anachronistic comment.
794 * include/bits/stl_multimap.h: Add whitespace.
795 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
796 -std=gnu++11 instead of -std=c++11.
797 * testsuite/23_containers/map/operators/2.cc: Likewise.
798 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
799 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
800 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
801
802 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
803 * configure: Regenerate.
804
805 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
806
807 PR libstdc++/59531
808 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
809 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
810
811 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
812 Peter A. Bigot <pab@pabigot.com>
813
814 PR libstdc++/59531
815 * include/experimental/string_view
816 (copy(_CharT*, size_type, size_type) const): Correct throw string.
817 Correct copy start location.
818
819 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
820 Peter A. Bigot <pab@pabigot.com>
821
822 PR libstdc++/59530
823 * include/experimental/string_view (operator[](size_type) const):
824 Fix one-off index error in debug check.
825 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
826 test basic_string_view at size().
827 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
828
829 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
830 Peter A. Bigot <pab@pabigot.com>
831
832 PR libstdc++/59529
833 * include/experimental/string_view
834 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
835 * testsuite/experimental/string_view/operations/substr/char/1.cc:
836 Comment out catch of out_of_range; No terminating null
837 in basic_string_view. Check begin == end.
838 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
839 Ditto.
840
841 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
842
843 PR libstdc++/59548
844 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
845 constructor to prevent it being implicitly defined as deleted, but
846 do not copy anything.
847 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
848 Define copy and move constructors similar to _Safe_sequence_base's.
849 * testsuite/23_containers/unordered_map/59548.cc: New.
850
851 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
852 Steve Ellcey <sellcey@mips.com>
853
854 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
855 function.
856 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
857 * (configure, config.h.in): Regenerate.
858 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
859
860 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
861
862 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
863 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
864
865 PR libstdc++/59872
866 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
867 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
868 Likewise.
869 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
870 Likewise.
871 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
872 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
873 functions to perform moving or copying of elements from rvalue tree.
874 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
875 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
876 * testsuite/23_containers/map/59872.cc: New.
877 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
878
879 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
880
881 * include/bits/stl_deque.h (_Deque_impl): Move comment.
882
883 PR libstdc++/58764
884 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
885 Split into separate default constructor and constructor taking
886 allocator.
887 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
888 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
889 Likewise.
890 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
891 * include/debug/list (list::list(const _Allocator&)): Likewise.
892 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
893 Likewise.
894 * include/debug/multimap.h
895 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
896 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
897 Likewise.
898 * include/debug/multiset.h
899 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
900 * include/debug/vector (vector::vector(const allocator_type&)):
901 Likewise.
902 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
903 * include/profile/list (list::list(const _Allocator&)): Likewise.
904 * include/profile/map.h
905 (map::map(const _Compare&, const _Allocator&)): Likewise.
906 * include/profile/multimap.h
907 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
908 * include/profile/set.h
909 (set::set(const _Compare&, const _Allocator&)): Likewise.
910 * include/profile/multiset.h
911 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
912 * include/profile/vector (vector::vector(const _Allocator&)):
913 Likewise.
914 * testsuite/23_containers/deque/58764.cc: New.
915 * testsuite/23_containers/list/58764.cc: New.
916 * testsuite/23_containers/map/58764.cc: New.
917 * testsuite/23_containers/multimap/58764.cc: New.
918 * testsuite/23_containers/set/58764.cc: New.
919 * testsuite/23_containers/multiset/58764.cc: New.
920 * testsuite/23_containers/vector/58764.cc: New.
921 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
922 Adjust dg-error line number.
923 * testsuite/23_containers/deque/requirements/dr438/
924 constructor_1_neg.cc: Likewise.
925 * testsuite/23_containers/deque/requirements/dr438/
926 constructor_2_neg.cc: Likewise.
927 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
928 Likewise.
929 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
930 Likewise.
931 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
932 Likewise.
933 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
934 Likewise.
935 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
936 Likewise.
937 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
938 Likewise.
939 * testsuite/23_containers/vector/requirements/dr438/
940 constructor_1_neg.cc: Likewise.
941 * testsuite/23_containers/vector/requirements/dr438/
942 constructor_2_neg.cc: Likewise.
943 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
944 Likewise.
945
946 PR libstdc++/58764 (again)
947 * include/bits/stl_list.h (list): Make default constructor's exception
948 specification conditional.
949 * include/bits/stl_vector.h (vector): Likewise.
950 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
951 to default constructor.
952 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
953 Adjust dg-error line number.
954 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
955 Likewise.
956 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
957 Likewise.
958 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
959 Likewise.
960 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
961 Likewise.
962 * testsuite/23_containers/vector/requirements/dr438/
963 constructor_1_neg.cc: Likewise.
964 * testsuite/23_containers/vector/requirements/dr438/
965 constructor_2_neg.cc: Likewise.
966 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
967 Likewise.
968
969 2014-01-21 Tim Shen <timshen91@gmail.com>
970
971 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
972 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
973 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
974
975 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
976
977 PR libstdc++/56267
978 * include/bits/hashtable.h (__cache_default): Do not depend on
979 whether the hash function is DefaultConstructible or CopyAssignable.
980 (_Hashtable): Adjust static assertions.
981 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
982 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
983 dg-error line number.
984 * testsuite/23_containers/unordered_set/
985 not_default_constructible_hash_neg.cc: Remove.
986
987 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
988
989 * scripts/create_testsuite_files: Add testsuite/experimental in
990 the list of folders to search for tests.
991 * include/experimental/string_view
992 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
993 incompatible with constexpr qualifier.
994 (basic_string_view<>::front()): Likewise.
995 (basic_string_view<>::back()): Likewise.
996 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
997 Merge dg-options directives into one.
998 * testsuite/experimental/string_view/element_access/char/2.cc:
999 Likewise. Remove invalid experimental namespace scope on
1000 string_view_type.
1001
1002 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
1003
1004 PR libstdc++/56267
1005 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1006 friendship to _Local_iterator_base<..., false>.
1007 (_Local_iterator_base): Give protected access to all existing members.
1008 (_Local_iterator_base::_M_curr()): New public accessor.
1009 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1010 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1011 the lifetime of the _Hash_code_base explicitly.
1012 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1013 (_Local_iterator_base<..., false>): Define copy constructor and copy
1014 assignment operator that use new functions to manage _Hash_code_base.
1015 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1016 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1017 Use public API for _Local_iterator_base.
1018 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1019 * include/debug/unordered_map (__debug::unordered_map::erase(),
1020 __debug::unordered_multimap::erase()): Likewise.
1021 * include/debug/unordered_set (__debug::unordered_set::erase(),
1022 __debug::unordered_multiset::erase()): Likewise.
1023 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1024
1025 2014-01-19 Tim Shen <timshen91@gmail.com>
1026
1027 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1028 Fix parse error of multiple consecutive quantifiers like "a**".
1029 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1030 Likewise.
1031 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1032
1033 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
1034
1035 * include/profile/set.h (set): Implement C++11 allocator-aware
1036 container requirements.
1037 * include/profile/map.h (map): Likewise.
1038 * include/profile/multiset.h (multiset): Likewise.
1039 * include/profile/multimap.h (multimap): Likewise.
1040 * include/profile/set.h
1041 (set::operator=(const set&)): Define as default in C++11 mode.
1042 (set::operator=(set&&)): Likewise.
1043 * include/profile/map.h
1044 (map::operator=(const map&)): Likewise.
1045 (map::operator=(map&&)): Likewise.
1046 * include/profile/multiset.h
1047 (multiset::operator=(const multiset&)): Likewise.
1048 (multiset::operator=(multiset&&)): Likewise.
1049 * include/profile/multimap.h
1050 (multimap::operator=(const multimap&)): Likewise.
1051 (multimap::operator=(multimap&&)): Likewise.
1052 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1053 Rely on the same operator from normal mode.
1054 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1055 Likewise.
1056 * include/profile/multiset.h
1057 (multiset::operator=(std::initializer_list<>)): Likewise.
1058 * include/profile/multimap.h
1059 (multimap::operator=(std::initializer_list<>)): Likewise.
1060 * include/profile/set.h (set::swap(set&)): Add noexcept
1061 specification.
1062 * include/profile/map.h (map::swap(map&)): Likewise.
1063 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1064 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1065
1066 2014-01-17 Tim Shen <timshen91@gmail.com>
1067
1068 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1069 use std::map.
1070 * include/bits/regex_automaton.h: Do not use std::set.
1071 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1072 _BracketMatcher<>::_M_add_collating_element(),
1073 _BracketMatcher<>::_M_add_equivalence_class(),
1074 _BracketMatcher<>::_M_make_range()): Likewise.
1075 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1076 Likewise.
1077 * include/bits/regex_executor.h: Do not use std::queue.
1078 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1079 _Executor<>::_M_dfs()): Likewise.
1080 * include/std/regex: Remove <map>, <set> and <queue>.
1081
1082 2014-01-17 Tim Shen <timshen91@gmail.com>
1083
1084 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1085 basic_regex<>::assign()): Change __compile_nfa to accept
1086 const _CharT* only.
1087 * include/bits/regex_compiler.h: Change _Compiler's template
1088 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1089 * include/bits/regex_compiler.tcc: Likewise.
1090
1091 2014-01-17 Tim Shen <timshen91@gmail.com>
1092
1093 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1094 templated.
1095 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1096 _ScannerBase from _Scanner; Change _Scanner's template argument from
1097 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1098 instead.
1099 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1100 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1101 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1102 Likewise.
1103 * include/std/regex: Add <cstring> for using strchr.
1104
1105 2014-01-17 Tim Shen <timshen91@gmail.com>
1106
1107 * bits/regex_automaton.tcc: Indentation fix.
1108 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1109 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1110 _BracketMatcher<>): Add bool option template parameters and
1111 specializations to make matching more efficient and space saving.
1112 * bits/regex_compiler.tcc: Likewise.
1113
1114 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
1115
1116 PR libstdc++/59712
1117 * include/bits/hashtable_policy.h: Fix some long lines.
1118 * include/bits/hashtable.h (__hash_code_base_access): Define and
1119 use it to check its _M_bucket_index noexcept qualification. Use
1120 also in place of...
1121 (__access_protected_ctor): ...this.
1122 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1123 Adapt line number.
1124 * testsuite/23_containers/unordered_set/
1125 not_default_constructible_hash_neg.cc: Likewise.
1126
1127 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
1128
1129 * include/debug/set.h (set): Implement C++11 allocator-aware
1130 container requirements.
1131 * include/debug/map.h (map): Likewise.
1132 * include/debug/multiset.h (multiset): Likewise.
1133 * include/debug/multimap.h (multimap): Likewise.
1134 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1135 fix implementation regarding management of safe iterators.
1136 * include/debug/map.h (map::operator=(map&&)): Likewise.
1137 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1138 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1139 Likewise.
1140 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1141 Rely on the same operator from normal mode.
1142 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1143 Likewise.
1144 * include/debug/multiset.h
1145 (multiset::operator=(std::initializer_list<>)): Likewise.
1146 * include/debug/multimap.h
1147 (multimap::operator=(std::initializer_list<>)): Likewise.
1148 * include/debug/set.h (set::swap(set&)): Add noexcept
1149 specification, add allocator equality check.
1150 * include/debug/map.h (map::swap(map&)): Likewise.
1151 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1152 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1153
1154 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
1155
1156 PR libstdc++/59698
1157 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1158 and stylistic improvements.
1159 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1160 and update for C++11.
1161 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1162
1163 PR libstdc++/59687
1164 * doc/xml/manual/backwards_compatibility.xml
1165 (backwards.third.nocreate_noreplace): Correct and expand.
1166
1167 PR libstdc++/59699
1168 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1169
1170 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
1171
1172 PR libstdc++/59738
1173 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1174 support for non-Movable types.
1175
1176 PR libstdc++/59680
1177 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1178
1179 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
1180
1181 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1182 *this allocator instance when building temporary vector instance
1183 so that *this allocator does not get moved.
1184 * include/debug/safe_base.h
1185 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1186 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1187 move constructor from _Safe_sequence_base.
1188 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1189 safe iterators if the instance is moved.
1190 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1191 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1192 check on a vector iterator.
1193 * testsuite/23_containers/vector/allocator/move_assign.cc
1194 (test02): Likewise.
1195 (test03): New, test with a non-propagating allocator.
1196 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1197
1198 2014-01-07 Tim Shen <timshen91@gmail.com>
1199
1200 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1201 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1202 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1203 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1204 _BracketMatcher<>::_M_add_char(),
1205 _BracketMatcher<>::_M_add_collating_element(),
1206 _BracketMatcher<>::_M_add_equivalence_class(),
1207 _BracketMatcher<>::_M_add_character_class(),
1208 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1209 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1210 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1211 to template parameter; Add cache for _BracketMatcher. Adjust
1212 declarations from here...
1213 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1214 imbuing a regex will trigger a recompilation to rebuild the cache.
1215 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1216 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1217 different template bool parameters.
1218 * include/bits/regex_executor.h: Remove unnecessary declarations.
1219 * include/std/regex: Adjust including orders.
1220 * testsuite/28_regex/traits/char/user_defined.cc: New.
1221 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1222
1223 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1224
1225 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1226 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1227 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1228 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1229 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1230
1231 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1232
1233 Update copyright years
1234
1235 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1236
1237 * testsuite/18_support/new_handler.cc,
1238 testsuite/18_support/terminate_handler.cc,
1239 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1240 the copyright notice.
1241 \f
1242 Copyright (C) 2014 Free Software Foundation, Inc.
1243
1244 Copying and distribution of this file, with or without modification,
1245 are permitted in any medium without royalty provided the copyright
1246 notice and this notice are preserved.