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