]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
2014-07-29 François Dumont <fdumont@gcc.gnu.org>
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
5c7c5f9a
FD
12014-07-29 François Dumont <fdumont@gcc.gnu.org>
2
3 * testsuite/util/testsuite_allocator.h
4 (tracker_allocator_counter::allocate): Remove new invocation, only
5 collect information.
6 (tracker_allocator_counter::deallocate): Remove delete invocation, only
7 collect information.
8 (check_inconsistent_alloc_value_type): New.
9 (tracker_allocator): Transform as a facade for any allocator type.
10 (uneq_allocator): Likewise.
11 (propagating_allocator): Likewise.
12 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
13 explicitly non propagating allocator.
14 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
15 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
16 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
17 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
18 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
19 Likewise.
20 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
21 Likewise.
22 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
23 Likewise.
24 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
25 Likewise.
26 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
27
aec20dcf
JW
282014-07-29 Jonathan Wakely <jwakely@redhat.com>
29
30 PR libstdc++/61946
31 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
32 const allocator_type&)): Pass non-const allocator to
33 _S_new_RopeFunction.
34 * testsuite/ext/rope/61946.cc: New.
35
f4081d13
JW
36 PR libstdc++/61947
37 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
38 disambiguate unary constructors.
39 (_Tuple_impl): Pass allocator_arg_t arguments.
40 * testsuite/20_util/tuple/61947.cc: New.
41 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
42
1c4ff014
ESR
432014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
44
45 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
46 * include/bits/random.h (_Adaptor): static_assert for non floating-point
47 result type.
48 * include/bits/random.tcc (generate_canonical): Ditto.
49 * include/ext/random.tcc (hypergeometric_distribution::operator()):
50 Use double as a rng result type.
51 * testsuite/26_numerics/random/pr60037-neg.cc: New.
52 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
53
a3a2efc1
UB
542014-07-25 Uros Bizjak <ubizjak@gmail.com>
55
56 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
57
0a9f0ecb
ESR
582014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
59
60 * include/experimental/string_view: Make the literal operators
61 constexpr like the ctors they call.
62
2e1e91f1
L
632014-07-23 H.J. Lu <hongjiu.lu@intel.com>
64
65 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
a6eb46e8 66
da03858b
JW
672014-07-23 Jonathan Wakely <jwakely@redhat.com>
68
69 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
70 to string instead of using gdb.Type.name attribute.
71
773162d7
JW
722014-07-19 Jonathan Wakely <jwakely@redhat.com>
73
74 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
75 AC_MSG_CHECKING.
76
faf7f829
JW
772014-07-18 Jonathan Wakely <jwakely@redhat.com>
78
79 PR libstdc++/61835
80 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
81 raw string.
82 (SingleObjContainerPrinter): Check if type printers are in use.
83
026ae646
PC
842014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
85
86 * include/ext/random: Minor formatting and cosmetic tweaks.
87 (uniform_on_sphere_distribution<>::operator==
88 (const uniform_on_sphere_distribution&,
89 const uniform_on_sphere_distribution&)): Compare the _M_nds.
90 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
91 (operator!=(const uniform_on_sphere_distribution&,
92 const uniform_on_sphere_distribution&)): Adjust.
93 * include/ext/random.tcc: Minor cosmetc tweaks.
94
077aa95e
JW
952014-07-15 Jonathan Wakely <jwakely@redhat.com>
96
97 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
98 printer for class templates.
99 (register_type_printers): Use TemplateTypePrinter for containers
100 and other class templates with default template arguments.
101 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
102
6f440cce
JW
103 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
104 base class for experimental::any and experimental::optional printers.
105 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
106 New printers for Fundamentals TS types.
107 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
108
4228f932
TS
1092014-07-15 Tim Shen <timshen@google.com>
110
111 PR libstdc++/61720
112 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
113 Clear match queue for next use.
114 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
115
b40d9361
UD
1162014-07-14 Ulrich Drepper <drepper@gmail.com>
117
118 * include/ext/random.tcc: Unfortunately more fixes for
119 operator>> and operator<< for uniform_on_sphere_distribution.
120
5c8efaf2
UD
1212014-07-13 Ulrich Drepper <drepper@gmail.com>
122
123 * include/ext/random.tcc: Fix operator>> and operator<< for
124 uniform_on_sphere_distribution.
125
863a2c7e
UD
1262014-07-12 Ulrich Drepper <drepper@gmail.com>
127
128 * include/ext/random: Add uniform_on_sphere_distribution definition.
129 * include/ext/random.tcc: Add out-of-band member function definitions
130 for uniform_on_sphere_distribution.
131 * testsuite/ext/random/uniform_on_sphere_distribution/
132 cons/default.cc: New file.
133 * testsuite/ext/random/uniform_on_sphere_distribution/
134 operators/equal.cc: New file.
135 * testsuite/ext/random/uniform_on_sphere_distribution/
136 operators/inequal.cc: New file.
137 * testsuite/ext/random/uniform_on_sphere_distribution/
138 operators/serialize.cc: New file.
139
8daac774
ESR
1402014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
141
142 Add the logistic_distribution as an extension.
143 * include/ext/random: Add the logistic_distribution.
144 * include/ext/random.tcc: Add the logistic_distribution.
145 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
146 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
147 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
148 New.
149 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
150 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
151 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
152 New.
153
7cd41cda
SB
1542014-07-11 Samuel Bronson <naesten@gmail.com>
155
156 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
157 instead of insisting that GCC understand -fdiagnostics-color=never
158
f4da031c
SB
159 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
160 list loaded libs.
161
cdd1ba62
SB
1622014-07-11 Samuel Bronson <naesten@gmail.com>
163 Matthias Klose <doko@ubuntu.com>
164
165 PR libstdc++/58962
166 * python/libstdcxx/v6/printers.py: Port to Python 2+3
167 (imap): New compat function.
168 (izip): Likewise.
169 (Iterator): New mixin to allow writing iterators in Python 3 style
170 regardless of which version we're running on.
171 [Python3] (long) New compat alias for "int".
172 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
173
7757d79b
JW
1742014-07-10 Jonathan Wakely <jwakely@redhat.com>
175
176 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
177 tuple members to simplify pretty printing.
178 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
179 construction.
180 * testsuite/experimental/any/cons/4.cc: New.
181
a6ea72bf
JM
1822014-07-09 Jason Merrill <jason@redhat.com>
183
184 PR libstdc++/61728
185 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
186 * libsupc++/tinfo.h: Not here.
187
b3771d3f
JW
1882014-07-08 Jonathan Wakely <jwakely@redhat.com>
189
190 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
191 missing return.
192 * include/experimental/any: Remove unused header.
193 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
194 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
195 * testsuite/util/testsuite_regex.h: Move include guard.
196
5bcb66df
TS
1972014-07-01 Tim Shen <timshen@google.com>
198
05ae5af2 199 PR libstdc++/61601
5bcb66df
TS
200 PR libstdc++/61582
201 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
202 a NFA state limit. If it's exceeded, regex_constants::error_space
203 will be throwed.
204 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
205 map (which is sparse) instead of vector. This reduce n times clones'
206 cost from O(n^2) to O(n).
207 * include/std/regex: Add map dependency.
208 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
209 testcase.
210
ad9ec7b3
TS
2112014-07-01 Tim Shen <timshen@google.com>
212
213 PR libstdc++/61424
214 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
215 not just regex containing back-references.
216 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
217 exchange _M_next and _M_alt for alternative operator,
218 making matching from left to right.
219 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
220 Add position tracking fom DFS.
221 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
222 _Executor<>::_M_dfs): Likewise.
223 * include/bits/regex_scanner.h: Remove unused enum entry.
224 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
225 testcase from PR.
226
5796bf34
JM
2272014-06-30 Jason Merrill <jason@redhat.com>
228
229 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
230 is pure, not inline.
231
de35da36
PC
2322014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
233
234 Revert:
235 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
863a2c7e 236 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
de35da36
PC
237
238 PR libstdc++/61536
239 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
240
241 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
242
243 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
244
90631441
JW
2452014-06-26 Jonathan Wakely <jwakely@redhat.com>
246
247 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
248 parameter type.
249
484dc599
JW
2502014-06-25 Jonathan Wakely <jwakely@redhat.com>
251
252 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
253 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
254 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
255 Likewise.
256 * include/ext/alloc_traits.h: Fix comment.
257
b925bf59
JW
258 * include/Makefile.am: Add new header.
259 * include/Makefile.in: Regenerate.
260 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
261 New RAII utilities for working with allocators.
262 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
263 __allocator_type typedef and use new __allocated_ptr type.
264 (_Sp_counted_ptr_inplace): Likewise.
265 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
266 __allocate_guarded to to simplify exception handling.
267 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
268 * include/std/future (_Result_alloc::_M_destroy): Likewise.
269 (_Result_alloc::_S_allocate_result): Likewise.
270 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
271 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
272 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
273 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
274 with fancy pointer.
275 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
276
6ab0d680
JW
277 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
278 allocator.
279 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
280 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
281
3fa591d4
JW
2822014-06-24 Jonathan Wakely <jwakely@redhat.com>
283
284 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
285 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
286 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
287 Remove unused typedef.
288 (time_get::do_get_monthname): Likewise.
289 * include/bits/stl_tree.h: Add system_header pragma.
290 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
291 redundant const-qualifier.
292 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
293 instead of _GLIBCXX_USE_CONSTEXPR.
294
83387bbd
JW
2952014-06-23 Jonathan Wakely <jwakely@redhat.com>
296
297 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
298 * include/std/chrono (_Checked_integral_constant): Allow zero.
299 * testsuite/20_util/duration/literals/values.cc: Test non-positive
300 values and digit separators.
863a2c7e 301 * include/experimental/any
83387bbd 302
bb85ec6e
JW
303 PR libstdc++/61532
304 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
305 apply the signed specifier to wchar_t.
306 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
307 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
308 cv-qualifier and size.
309 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
310 Likewise.
311
7ce56fc8
JW
312 * include/experimental/any (any_v1): Rename namespace to
313 fundamentals_v1. Change string returned by bad_any_cast::what().
314 * include/experimental/optional (fundamentals_v1): Add namespace.
315 * include/experimental/string_view (fundamentals_v1): Likewise.
316 * testsuite/experimental/any/typedefs.cc: New.
317 * testsuite/experimental/optional/typedefs.cc: New.
318 * testsuite/experimental/string_view/typedefs.cc: New.
319
ad4684c2
PC
3202014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
321 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
322
323 PR libstdc++/61536
324 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
325
e8043fa6
JW
3262014-06-14 Jonathan Wakely <jwakely@redhat.com>
327
328 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
329 * include/Makefile.am: Add new header.
330 * include/Makefile.in: Regenerate.
331 * include/experimental/any: New.
332 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
333 constructor.
334 * testsuite/experimental/any/assign/1.cc: New.
335 * testsuite/experimental/any/assign/2.cc: New.
336 * testsuite/experimental/any/cons/1.cc: New.
337 * testsuite/experimental/any/cons/2.cc: New.
338 * testsuite/experimental/any/cons/3.cc: New.
339 * testsuite/experimental/any/misc/any_cast.cc: New.
340 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
341 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
342 * testsuite/experimental/any/misc/swap.cc: New.
343 * testsuite/experimental/any/modifiers/1.cc: New.
344 * testsuite/experimental/any/observers/type.cc: New.
345
00541349
JW
346 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
347 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
348 warnings.
349 * include/bits/shared_ptr.h (shared_ptr): Likewise.
350 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
351 Likewise.
352 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
353 Likewise.
354 * include/parallel/list_partition.h (__parallel::list_partition):
355 Likewise.
356 * include/std/iomanip (quoted): Likewise.
357 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
358
10d43d2f
JW
359 * doc/xml/api.xml: Link to more recent API docs.
360 * include/bits/allocator.h: Fix link in doxygen comment.
361 * include/bits/char_traits.h: Likewise.
362 * include/bits/ios_base.h: Likewise.
363 * include/bits/stl_map.h: Likewise.
364 * include/bits/stl_multimap.h: Likewise.
365 * include/bits/stl_multiset.h: Likewise.
366 * include/bits/stl_set.h: Likewise.
367 * include/bits/unordered_map.h: Likewise.
368 * include/bits/unordered_set.h: Likewise.
369 * include/ext/mt_allocator.h: Likewise.
370 * include/std/fstream: Likewise.
371 * include/std/iosfwd: Likewise.
372 * include/std/ostream: Likewise.
373 * include/std/sstream: Likewise.
374 * include/std/streambuf: Likewise.
375 * doc/html/*: Regenerate.
376
fb3bc977
JW
377 * include/experimental/any (any_cast): Combine duplicate doxygen
378 comments.
379 * include/experimental/string_view (basic_string_view): Update
380 doxygen comment.
381 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
382 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
383 (dynamic_bitset): Improve Doxygen comments.
384 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
385 comment.
386
58170a66
MR
3872014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
388
389 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
390 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
391
060269c4
JW
3922014-06-10 Jonathan Wakely <jwakely@redhat.com>
393
394 PR libstdc++/61390
395 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
396 (bin_search_tree_traits): Do not redeclare template-parameters.
397 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
398
109a3af4
JW
3992014-06-09 Jonathan Wakely <jwakely@redhat.com>
400
401 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
402 parameter for DocBook HTML generation.
403 * doc/Makefile.in: Regenerate.
404 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
405 * doc/xml/faq.xml: Update content and improve formatting.
406 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
407 * doc/xml/manual/allocator.xml: Add stable ID attribute.
408 * doc/xml/manual/bitmap_allocator.xml: Likewise.
409 * doc/xml/manual/build_hacking.xml: Likewise.
410 * doc/xml/manual/codecvt.xml: Change URL.
411 * doc/xml/manual/ctype.xml: Add stable ID attribute.
412 * doc/xml/manual/debug_mode.xml: Likewise.
413 * doc/xml/manual/documentation_hacking.xml: Likewise.
414 * doc/xml/manual/evolution.xml: Likewise.
415 * doc/xml/manual/extensions.xml: Likewise.
416 * doc/xml/manual/locale.xml: Likewise.
417 * doc/xml/manual/messages.xml: Make section id consistent, improve
418 markup, change URL.
419 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
420 * doc/xml/manual/profile_mode.xml: Likewise.
421 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
422 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
423 * doc/xml/manual/status_cxx2011.xml: Likewise.
424 * doc/xml/manual/status_cxx2014.xml: Likewise.
425 * doc/xml/manual/status_cxxtr1.xml: Likewise.
426 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
427 * doc/xml/manual/using.xml: Likewise.
428 * doc/html/*: Regenerate.
429
45b4a796
JW
4302014-06-09 Jonathan Wakely <jwakely@redhat.com>
431
432 * include/tr1/beta_function.tcc: Fix spelling of include guard in
433 comment.
434
cb90f114
PC
4352014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
436
437 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
438
25608e3a
ESR
4392014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
440
441 DR 2344 - std::quoted doesn't respect padding
442 * include/std/iomanip: Allow for padding in quoted inserters.
443 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
444 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
445
4ac2509b
FD
4462014-06-06 François Dumont <fdumont@gcc.gnu.org>
447
448 * testsuite/23_containers/map/operators/1.cc: Simplify test.
449
f0bb8736
JW
4502014-06-06 Jonathan Wakely <jwakely@redhat.com>
451
452 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
453 code example.
454 * doc/xml/manual/backwards_compatibility.xml
455 (backwards.second.stringstreams): Likewise.
456 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
457 change of default.
458 * doc/xml/manual/containers.xml (associative.bitset.type_string):
459 Replace <quote> in code example.
460 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
461 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
462 fix typos, improve markup.
463 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
464 <emphasis> with <replaceable>.
465 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
466 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
467 and remove newlines in string literal.
468
3c61a5ba
PC
4692014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
470
471 DR 1423
472 PR c++/52174
473 * testsuite/20_util/is_assignable/value.cc: Update.
474
315eb4bb
JW
4752014-06-02 Jonathan Wakely <jwakely@redhat.com>
476
477 * include/std/condition_variable (condition_variable_any::_Unlock): Do
478 not swallow __forced_unwind.
479 * include/std/future (__future_base::_Task_setter): Likewise.
480 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
481 promise and rethrow.
482 * include/std/mutex (try_lock): Likewise.
483 * testsuite/30_threads/async/forced_unwind.cc: New.
484 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
485
097f0bcf
JW
486 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
487 members to avoid wasted space when not using a cache.
488 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
489 * include/bits/regex_compiler.tcc
490 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
491 search on set.
492 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
493 New enumeration type to indicate match mode.
494 (__detail::_Executor::_State_info): New type holding members only
495 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
496 unique_ptr<bool[]>.
497 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
498 Replace template parameter with run-time function parameter.
499 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
500 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
501 implement DFS and BFS mode.
502 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
503 Split implementation into ...
504 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
505 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
506 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
507 argument instead of template argument.
508 (__detail::_Executor::_M_dfs): Likewise.
509 * include/bits/regex_scanner.tcc: Fix typos in comments.
510 * testsuite/performance/28_regex/range.cc: New.
511
d3718027
RS
5122014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
513 Jonathan Wakely <jwakely@redhat.com>
514
515 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
516 helper struct.
517 (aligned_union): New struct (C++11).
518 (aligned_union_t): New type alias (C++14).
519 * doc/xml/manual/status_cxx2011.xml: Update.
520 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
521 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
522 line number.
523
16545743
JW
5242014-06-01 Jonathan Wakely <jwakely@redhat.com>
525
526 PR libstdc++/61374
527 * include/experimental/string_view (operator basic_string): Correct
528 order of arguments.
529 (to_string): Replace with member function.
530 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
531 allow _M_str to be null.
532 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
533 default constructor semantics.
534 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
535 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
536 copyright dates. Remove unused header.
537 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
538 Likewise.
539 * testsuite/experimental/string_view/operations/data/char/1.cc:
540 Fix copyright dates. Adjust to new default constructor semantics.
541 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
542 Likewise.
543 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
544
314efb66
JW
545 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
546 (__uses_allocator_arg): Remove unused type.
547 (__uses_alloc0): Turn into a trivial type.
548 (__uses_alloc): Add missing template parameter in primary template.
549 (__uses_alloc_impl): Rename to __uses_alloc_t.
550
29f09521
JW
5512014-05-30 Jonathan Wakely <jwakely@redhat.com>
552
553 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
554 work with previous versions of Tcl.
555
2c936344
JW
556 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
557 Benjamin's old email address.
558
8e43535e
JW
559 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
560 Paolo's address too.
561
710d672b
JW
5622014-05-29 Jonathan Wakely <jwakely@redhat.com>
563
564 * include/tr2/bool_set: Use UTF-8 for accented characters.
565 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
566 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
567 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
568
ecb249dd
JW
5692014-05-27 Jonathan Wakely <jwakely@redhat.com>
570
571 PR libstdc++/61329
572 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
573 inline specifier.
574 (_State_base::_M_dot): Likewise.
575
171fa27e
PC
5762014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
577
578 * include/profile/map.h: Fix typo in comment; minor formatting fix.
579 * include/profile/multimap.h: Likewise.
580 * include/profile/set.h: Likewise.
581 * include/profile/multiset.h: Likewise.
582
f3de79d4
FD
5832014-05-24 François Dumont <fdumont@gcc.gnu.org>
584
585 * include/profile/array: Clean useless white chars.
586 * include/profile/base.h: Likewise.
587 * include/profile/iterator_tracker.h: Likewise.
588 * include/profile/bitset: Code cleanup and remove not instrumented code.
589 * include/profile/deque: Likewise.
590 * include/profile/forward_list: Likewise.
591 * include/profile/list (std::__profile::_List_profile<>): New.
592 (std::__profile::list<>): Inherit from latter and adapt.
593 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
594 advise to match any ordered to unordered container conversion.
595 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
596 New.
597 * include/Makefile.am: Add latter.
598 * include/Makefile.in: Regenerate.
599 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
600 remove not instrumented code.
601 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
602 * include/profile/set.h (std::__profile::set<>): Likewise.
603 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
604 * include/profile/unordered_base.h: Add some line feed.
605 * include/profile/unordered_map: Clean useless white chars and replace
606 spaces with tabs.
607 * include/profile/unordered_set: Likewise.
608 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
609 (std::__profile::_Vector_profile_post<>): New.
610 (std::__profile::vector<>): Inherit from latter and adapt.
611
75a8a745
JW
6122014-05-23 Jonathan Wakely <jwakely@redhat.com>
613
614 PR libstdc++/60793
615 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
616 dragonfly target selector to all tests that run on freebsd.
617
d90838f9
JW
618 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
619 dragonfly.
620 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
621 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
622
cfbe41d0
JW
623 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
624 selector.
625 * testsuite/30_threads/call_once/60497.cc: Likewise.
626 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
627 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
628 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
629 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
630 * testsuite/30_threads/promise/60966.cc: Likewise.
631 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
632 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
633 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
634 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
635 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
636 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
637 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
638 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
639 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
640 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
641 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
642 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
643 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
644 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
645 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
646 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
647 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
648
95539f21
FD
6492014-05-21 François Dumont <fdumont@gcc.gnu.org>
650
651 PR libstdc++/61143
652 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
653 usable state.
654 * testsuite/23_containers/unordered_set/61143.cc: New.
655 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
656
21e2806a
JW
6572014-05-21 Jonathan Wakely <jwakely@redhat.com>
658
659 PR libstdc++/61269
660 * include/std/type_traits: Move include outside namespace std.
661 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
662 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
663 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
664 Likewise.
665
ab65e21a
JW
666 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
667 Fix warning.
668
dbed5a9b
JM
6692014-05-21 John Marino <gnugcc@marino.st>
670
671 * acinclude.m4 (*-*-dragonfly*): New target.
672 * configure: Regenerate.
673 * configure.host (*-*-dragonfly*): New target.
674 * config/locale/dragonfly/c_locale.cc: New.
675 * config/locale/dragonfly/ctype_members.cc: New.
676 * config/os/bsd/dragonfly/ctype_base.h: New.
677 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
678 * config/os/bsd/dragonfly/ctype_inline.h: New.
679 * config/os/bsd/dragonfly/os_defines.h: New.
680
6ed9c90a
CP
6812014-05-20 Cesar Philippidis <cesar@codesourcery.com>
682
863a2c7e 683 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
6ed9c90a 684 libstdc++.exp imports those flags via getenv.
863a2c7e
UD
685 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
686 CXXFLAGS contains a '-O' flag.
6ed9c90a 687
a852a67c
AM
6882014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
689
690 PR libstdc++/61223
691 Revert:
692 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
693
694 PR libstdc++/60758
695 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
696 and add unwind directives.
697
8ec7c36a
SH
6982014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
699
700 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
701
4dae67e0
TS
7022014-05-20 Tim Shen <timshen91@gmail.com>
703
704 PR libstdc++/61227
705 * include/bits/regex_compiler.h
706 (_BracketMatcher<>::_M_add_character_class): Add negative character
707 class support.
708 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
709 Likewise.
710 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
711 Add more testcases.
712
47059228
JW
7132014-05-19 Jonathan Wakely <jwakely@redhat.com>
714
715 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
716
80333d3d
MG
7172014-05-17 Marc Glisse <marc.glisse@inria.fr>
718
719 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
720 * libsupc++/new_opnt.cc: Likewise.
721
a0eaa08c
JW
7222014-05-17 Jonathan Wakely <jwakely@redhat.com>
723
724 PR libstdc++/60966
725 * include/std/future (__future_base::_State_baseV2::_M_set_result):
726 Pass lock into _M_do_set and hold it until the function returns.
727 Signal condition variable after call_once completes.
728 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
729 signal here.
730 * testsuite/30_threads/promise/60966.cc: New.
731
cac363bc
IS
7322014-05-16 Iain Sandoe <iain@codesourcery.com>
733 Sandra Loosemore <sandra@codesourcery.com>
734
a0eaa08c
JW
735 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
736 until after checking that the test is eligible to be run.
cac363bc 737
53caffbe
JW
7382014-05-16 Jonathan Wakely <jwakely@redhat.com>
739
740 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
741 test for 32-bit target.
742 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
743 Likewise.
744 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
745 Fix test.
746
2a2794f7
AM
7472014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
748
749 PR libstdc++/60758
750 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
751 and add unwind directives.
752
cd1464db
JW
7532014-05-16 Jonathan Wakely <jwakely@redhat.com>
754
755 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
756 overflow.
757 * include/std/chrono (chrono_literals::__select_type::_Select_type):
758 Remove.
759 (chrono_literals::_Checked_integral_constant): Define.
760 Simplify UDL operator templates and check for overflow.
761 * testsuite/20_util/duration/literals/range.cc: New.
762
7632014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
a2f4bd2a
ESR
764 Jonathan Wakely <jwakely@redhat.com>
765
766 PR libstdc++/61166
767 * include/bits/parse_numbers.h: Use integral_constant to remove
768 duplication and simplify.
769 * testsuite/20_util/duration/literals/61166.cc: New.
770
3a004764
JW
7712014-05-15 Jonathan Wakely <jwakely@redhat.com>
772
c0eef1c8
JW
773 PR libstdc++/60326
774 * include/std/type_traits (__make_unsigned, __make_signed): Define
775 specializations for wchar_t, char16_t and char32_t.
776 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
777 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
778 test for make_unsigned<volatile wchar_t>.
779 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
780 Likewise.
781 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
782 line number.
783 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
784 Likewise.
785 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
786 Likewise.
787
c6139a77 7882014-05-15 Jonathan Wakely <jwakely@redhat.com>
c0eef1c8 789
3a004764
JW
790 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
791 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
792 * include/std/utility (tuple_size, tuple_element): Likewise.
793 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
794 Adjust dg-error line number.
795
af222e74
JW
7962014-05-14 Jonathan Wakely <jwakely@redhat.com>
797
798 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
799 (__tuple_element_t): Define.
800 (tuple_element): Use __tuple_element_t.
801 (__cv_tuple_size): Define.
802 (tuple_size<cv _Tp>): Use __cv_tuple_size.
803 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
804 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
805 (__tuple_compare): Remove size check, re-order parameters.
806 (operator==, operator<): Use static_assert to check requirements.
807 * include/std/functional (__volget): use __tuple_element_t.
808 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
809 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
810
75e75a08
JW
8112014-05-13 Jonathan Wakely <jwakely@redhat.com>
812
813 PR libstdc++/60497
814 * include/std/tuple (get, __tuple_compare): Qualify more calls to
815 prevent ADL. Cast comparison results to bool.
816 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
817 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
818
b82f988e
JW
819 PR libstdc++/60497
820 * include/debug/array (get): Qualify call to other get overload.
821 * include/profile/array (get): Likewise.
822 * include/std/array (get): Likewise.
823 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
824 * include/std/mutex (unique_lock, call_once): Use __addressof.
825 (__unlock_impl): Remove unused template.
826 (__try_to_lock): Declare inline.
827 (__try_lock_impl::__do_try_lock): Qualify function calls.
828 (lock): Avoid narrowing conversion.
829 * testsuite/20_util/bind/60497.cc: New.
830 * testsuite/23_containers/array/element_access/60497.cc: New.
831 * testsuite/30_threads/call_once/60497.cc: New.
832 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
833
a8218d79
JW
8342014-05-09 Jonathan Wakely <jwakely@redhat.com>
835
836 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
837 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
838 * acinclude.m4 (libtool_VERSION): Bump.
839 * configure: Regenerate.
840 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
841 * testsuite/28_regex/regex_error/base.cc: New.
842
e70c7f5b
JG
8432014-05-08 Joshua Gay <jgay@gnu.org>
844
845 PR libstdc++/61117
846 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
847 source" with "free software".
848 * doc/html/faq.html: Likewise.
849
f0fd118f
JW
8502014-05-08 Jonathan Wakely <jwakely@redhat.com>
851
852 PR libstdc++/57394
853 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
854 deleted for C++11.
855 (operator=(const ios_base&)): Likewise.
856 * include/std/streambuf: Remove trailing whitespace.
857 (basic_streambuf(const basic_streambuf&)): Fix initializer for
858 _M_out_end. Define as defaulted for C++11.
859 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
860 (swap(basic_streambuf&)): Define for C++11.
861 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
862
2735097a
JW
863 PR libstdc++/13860
864 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
865
07e4f10a
JW
866 * include/std/iostream: Fix URL in comment.
867 * src/c++98/ios_init.cc: Fix path in comment.
868
a3820abe
PC
8692014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
870
871 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
872 * configure: Regenerate.
873
2588652e
JW
8742014-05-07 Jonathan Wakely <jwakely@redhat.com>
875
876 PR libstdc++/61023
877 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
878 comparison function.
879 * testsuite/23_containers/set/cons/61023.cc: New.
880
bbf264c9
JW
881 PR libstdc++/61086
882 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
883 Remove.
884 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
885 arithmetic to obtain a mutable iterator from const_iterator.
886 * include/bits/vector.tcc (vector::insert): Likewise.
887 * include/debug/vector (vector::erase): Likewise.
888 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
889 Adjust dg-error line number.
890 * testsuite/23_containers/vector/requirements/dr438/
891 constructor_1_neg.cc: Likewise.
892 * testsuite/23_containers/vector/requirements/dr438/
893 constructor_2_neg.cc: Likewise.
894 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
895 Likewise.
896
f03d1bb9
PC
8972014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
898
899 * include/Makefile.in: Regenerate.
900
15ee1a77
FD
9012014-05-06 François Dumont <fdumont@gcc.gnu.org>
902
903 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
904 parameter to pass the 2 instances to check allocator equality.
905 * include/debug/safe_container.h: New, define _Safe_container<>.
906 * include/Makefile.am: Add previous.
907 * include/debug/deque (std::__debug::deque<>): Inherit
908 _Safe_container<>. Use default implementation for all special
909 functions.
910 * include/debug/forward_list (std::__debug::forward_list<>):
911 Likewise.
912 * include/debug/list (std::__debug::list<>): Likewise.
913 * include/debug/map.h (std::__debug::map<>): Likewise.
914 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
915 * include/debug/set.h (std::__debug::set<>): Likewise.
916 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
917 * include/debug/string (std::__debug::basic_string<>): Likewise.
918 * include/debug/unordered_map
919 (std::__debug::unordered_map<>): Likewise.
920 (std::__debug::unordered_multimap<>): Likewise.
921 * include/debug/unordered_set
922 (std::__debug::unordered_set<>): Likewise.
923 (std::__debug::unordered_multiset<>): Likewise.
924 * include/debug/vector (std::__debug::vector<>): Likewise.
925 * include/debug/safe_base.h (_Safe_sequence_base()): Add
926 noexcept.
927 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
928 (~_Safe_sequence_base()): Add noexcept.
929 * include/debug/safe_sequence.h
930 (std::__debug::_Safe_node_sequence<>): New.
931 * include/debug/safe_unordered_base.h
932 (_Safe_unordered_container_base()): Add noexcept.
933 (~_Safe_unordered_container_base()): Likewise.
934 (_M_swap(_Safe_unordered_container_base&)): Likewise.
935 * include/debug/safe_unordered_container.h:
936 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
937 (_Safe_unordered_container<>::_M_invalidate_all()): New.
938 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
939 qualifications.
940 * testsuite/util/debug/checks.h (check_construct1): Just implement
941 an invalid constructor invocation and no other operations
942 potentially not supported by some types of container.
943 (check_construct2): Likewise.
944 (check_construct3): Likewise.
945 * testsuite/23_containers/forward_list/allocator/move.cc: Add
946 check on iterators to make sure they are correctly moved in debug
947 mode.
948 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
949 Likewise.
950 * testsuite/23_containers/map/allocator/move.cc: Likewise.
951 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
952 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
953 * testsuite/23_containers/multimap/allocator/move_assign.cc:
954 Likewise.
955 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
956 * testsuite/23_containers/multiset/allocator/move_assign.cc:
957 Likewise.
958 * testsuite/23_containers/set/allocator/move.cc: Likewise.
959 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
960 * testsuite/23_containers/unordered_map/allocator/move.cc:
961 Likewise.
962 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
963 Likewise.
964 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
965 Likewise.
966 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
967 Likewise.
968 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
969 Likewise.
970 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
971 Likewise.
972 * testsuite/23_containers/unordered_set/allocator/move.cc:
973 Likewise.
974 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
975 Likewise.
976 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
977 New.
978 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
979 New.
980 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
981 New.
982 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
983 New.
984 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
985 New.
986 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
987 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
988 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
989 * testsuite/23_containers/map/debug/move_neg.cc: New.
990 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
991 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
992 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
993 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
994 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
995 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
996 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
997 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
998 * testsuite/23_containers/set/debug/move_neg.cc: New.
999 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1000 New.
1001 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1002 New.
1003 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1004 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1005 New.
1006 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1007 New.
1008 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1009 New.
1010 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1011 New.
1012 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1013 New.
1014 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1015 New.
1016 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1017 New.
1018 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1019 New.
1020 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1021 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1022
dd14d429
AS
10232014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1024
1025 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1026 (CXXABI_1.3.9): Remove __float128 symbols.
1027
047f1cec
JW
10282014-05-02 Jonathan Wakely <jwakely@redhat.com>
1029
1030 PR libstdc++/59476
1031 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1032 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1033 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1034 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1035 refer to...
1036 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1037
62da5a07
JW
1038 PR libstdc++/61036
1039 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1040 Check the correct type in the static assertion.
1041 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1042
a670a9bb
TS
10432014-04-27 Tim Shen <timshen91@gmail.com>
1044
1045 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1046 Add _S_opcode_repeat support to distingush a loop from
1047 _S_opcode_alternative.
1048 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1049 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1050 _StateSeq<>::_M_clone): Likewise.
1051 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1052 Likewise.
1053 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1054 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1055 Uglify local variable __i.
1056 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1057 Use size_t instead of int to compare with vector::size().
1058
10592014-04-27 Tim Shen <timshen91@gmail.com>
1060
1061 * include/bits/regex_executor.h: Add _M_rep_count to track how
1062 many times this repeat node are visited.
1063 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1064 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1065 infinite loop.
1066
10672014-04-27 Tim Shen <timshen91@gmail.com>
1068
1069 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1070 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1071 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1072 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1073 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1074 Adjust debug NFA dump.
1075
e2ce9436
LGB
10762014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1077
1078 PR libstdc++/60710
1079 * include/experimental/optional (operator!=): Implement in terms of
1080 operator==.
1081 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1082 * testsuite/experimental/optional/relops/2.cc: Likewise.
1083 * testsuite/experimental/optional/relops/3.cc: Likewise.
1084 * testsuite/experimental/optional/relops/4.cc: Likewise.
1085 * testsuite/experimental/optional/relops/5.cc: Likewise.
1086 * testsuite/experimental/optional/relops/6.cc: Likewise.
1087
4ec21835
JW
10882014-04-25 Jonathan Wakely <jwakely@redhat.com>
1089
1090 PR libstdc++/60958
1091 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1092 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1093 comment.
1094
e4012a04
MG
10952014-04-25 Marc Glisse <marc.glisse@inria.fr>
1096
1097 * testsuite/util/testsuite_abi.cc (check_version): Update for
1098 CXXABI_1.3.9.
1099
836c42f6
TS
11002014-04-24 Tim Shen <timshen91@gmail.com>
1101
1102 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1103 Do _M_alt before _M_next.
1104 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1105
b911b50d
MG
11062014-04-24 Marc Glisse <marc.glisse@inria.fr>
1107
1108 PR libstdc++/43622
1109 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1110 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1111 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1112
84c5df1c
AS
11132014-04-24 Andreas Schwab <schwab@suse.de>
1114
1115 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1116 new CXXABI_1.3.9 symbols.
1117
eab264af
AS
11182014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1119
1120 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1121 (CXXABI_1.3.9): New version.
1122
793c625f
MG
11232014-04-22 Marc Glisse <marc.glisse@inria.fr>
1124
1125 PR libstdc++/43622
1126 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1127 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1128 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1129
d9f069ab
RO
11302014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1131
1132 * configure.host: Remove solaris2.9 handling.
1133 Change os_include_dir to os/solaris/solaris2.10.
1134 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1135 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1136 * configure: Regenerate.
1137 * config/abi/post/solaris2.9: Remove.
1138 * config/os/solaris/solaris2.9: Rename to ...
1139 * config/os/solaris/solaris2.10: ... this.
1140 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1141 Remove.
1142
1143 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1144 Remove Solaris 9 reference.
1145 * doc/html/manual/configure.html: Regenerate.
1146
1147 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1148 Remove *-*-solaris2.9 xfail.
1149 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1150 Likewise.
1151
1152 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1153 xfail.
1154
6e2d247b
JW
11552014-04-16 Jonathan Wakely <jwakely@redhat.com>
1156
1157 * include/std/functional (__is_location_invariant): Use __or_ helper.
1158
4b3f9829
JW
11592014-04-15 Jonathan Wakely <jwakely@redhat.com>
1160
1161 PR libstdc++/60734
1162 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1163
9ffc6d0b
JW
1164 PR libstdc++/60695
1165 * include/std/atomic (atomic<_Tp>): Add static assertion.
1166 * testsuite/29_atomics/atomic/60695.cc: New.
1167
4803acce
JW
1168 PR libstdc++/60594
1169 * include/std/functional (function::_Callable): Exclude own type
1170 from the callable checks.
1171 * testsuite/20_util/function/60594.cc: New.
1172
260d16c8
JW
1173 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1174 const to constexpr member functions.
1175
ed39835f
JW
1176 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1177 delegating constructor.
1178 * include/bits/shared_ptr_base.h
1179 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1180
227df36e
JW
1181 * include/std/atomic: Uglify parameter names.
1182
3a0f3672
JW
1183 PR c++/60786
1184 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1185 1.cc: Fix invalid explicit instantiations with unqualified names.
1186 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1187 2.cc: Likweise.
1188 * testsuite/20_util/tuple/53648.cc: Likweise.
1189 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1190 Likewise.
1191 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1192 Likewise.
1193 * testsuite/23_containers/unordered_map/requirements/
1194 debug_container.cc: Likewise.
1195 * testsuite/23_containers/unordered_map/requirements/
1196 explicit_instantiation/3.cc: Likewise.
1197 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1198 Likewise.
1199 * testsuite/23_containers/unordered_multimap/requirements/
1200 explicit_instantiation/3.cc: Likewise.
1201 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1202 Likewise.
1203 * testsuite/23_containers/unordered_multiset/requirements/
1204 explicit_instantiation/3.cc: Likewise.
1205 * testsuite/23_containers/unordered_set/requirements/
1206 debug_container.cc: Likewise.
1207 * testsuite/23_containers/unordered_set/requirements/
1208 explicit_instantiation/3.cc: Likewise.
1209
a1e1bc90
JW
1210 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1211 not use uninitialized members in mem-initializers.
1212 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1213 * testsuite/util/testsuite_common_types.h: Update comment.
1214
b9de84c9
JW
1215 * include/experimental/string_view: Fix inconsistent exception specs.
1216
33fbb358
JW
1217 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1218 Remove name of unused parameter.
1219
5b99e0a0
JW
12202014-04-14 Jonathan Wakely <jwakely@redhat.com>
1221
1222 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1223 _Vector_base::_M_allocate): NullablePointer requirements do not
1224 include initialization from literal zero, use value-initialization.
1225 * include/bits/vector.tcc (vector::_M_insert_aux,
1226 vector::_M_explace_back_aux): Likewise for assignment.
1227
e364673d
JW
1228 * include/bits/allocator.h (operator==, operator!=): Add exception
1229 specifications.
1230
39e6a690
JW
1231 PR libstdc++/60497
1232 * include/std/tuple (get): Qualify calls to prevent ADL.
1233 * testsuite/20_util/tuple/60497.cc: New.
1234
025eac9b
JW
1235 * include/std/tuple (tuple_element_t): Define.
1236 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1237 test.
1238 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1239
4de3afd9
MG
12402014-04-11 Marc Glisse <marc.glisse@inria.fr>
1241
1242 PR libstdc++/59434
1243 * include/bits/stl_iterator.h (move_iterator::reference,
1244 move_iterator::operator*): Implement LWG 2106.
1245 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1246
742f66e7
MG
12472014-04-11 Marc Glisse <marc.glisse@inria.fr>
1248
1249 * include/std/complex (__complex_exp, pow): Specify the template
1250 parameter in calls to std::polar, for expression templates.
1251
9e837b7f
AS
12522014-04-10 Andreas Schwab <schwab@suse.de>
1253
4ada6d58
AS
1254 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1255 symbols.
1256 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1257 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1258
9e837b7f
AS
1259 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1260
631e3e1b
JW
12612014-04-07 Jonathan Wakely <jwakely@redhat.com>
1262
1263 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1264 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1265 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1266 specifications.
1267
33466676
DH
12682014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1269 Jack Howarth <howarth@bromo.med.uc.edu>
1270
1271 PR target/54407
1272 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1273 darwin < 11.
1274
be35d328
JW
12752014-04-01 Jonathan Wakely <jwakely@redhat.com>
1276
1277 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1278 Update link.
1279 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1280 Fix broken links.
1281 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1282 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1283 * doc/xml/manual/concurrency_extensions.xml
1284 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1285 * doc/html/*: Regenerate.
1286
71bdda56
LGB
12872014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1288 Jonathan Wakely <jwakely@redhat.com>
1289
1290 PR libstdc++/60270
1291 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1292 string if input is not quoted.
1293 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1294
0812493f
JW
12952014-03-31 Jonathan Wakely <jwakely@redhat.com>
1296
1297 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1298
750dc278
RO
12992014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1300
1301 * testsuite/18_support/exception_ptr/60612-terminate.cc
1302 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1303 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1304
25d24c42
JW
13052014-03-27 Jonathan Wakely <jwakely@redhat.com>
1306
1307 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1308
6f8b5e0c
JW
1309 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1310 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1311 Likewise.
1312 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1313 Likewise.
1314 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1315
b08d3b68
JW
1316 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1317 Fix bad s/part/chapter/ substitutions.
1318 * doc/xml/manual/io.xml (std.io): Likewise.
1319 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1320 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1321
ffcbf03f
JW
1322 * doc/html/*: Regenerate.
1323
3941b260
JW
13242014-03-27 Jonathan Wakely <jwakely@redhat.com>
1325
1326 PR libstdc++/60612
1327 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1328 compatible with __cxa_exception.
1329 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1330 Fix typos in comments.
1331 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1332 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1333
5ec16257
JW
13342014-03-25 Jonathan Wakely <jwakely@redhat.com>
1335
1336 PR libstdc++/60658
1337 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1338 Use sizeof pointer type not the element type.
1339 * testsuite/29_atomics/atomic/60658.cc: New.
1340
6f6c00f3
JJ
13412014-03-24 Jakub Jelinek <jakub@redhat.com>
1342
1343 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1344 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1345 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1346 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1347 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1348 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1349 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1350 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1351 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1352 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1353 entries.
1354
76627edd
JDA
13552014-03-23 John David Anglin <danglin@gcc.gnu.org>
1356
1357 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1358
f7279c1a
FD
13592014-03-23 François Dumont <fdumont@gcc.gnu.org>
1360
1361 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1362 to delegated constructor.
1363 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1364 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1365 Likewise.
1366 (_Hashtable(
1367 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1368
d570d678
JDA
13692014-03-23 John David Anglin <danglin@gcc.gnu.org>
1370
1371 PR libstdc++/60623
1372 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1373
72d1f255
JW
13742014-03-21 Jonathan Wakely <jwakely@redhat.com>
1375
1376 PR libstdc++/60587
1377 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1378 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1379 iterator category.
1380 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1381 from different types of debug container. Use _Is_contiguous_sequence
1382 instead of is_lvalue_reference.
1383 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1384 dereferencing past-the-end iterator.
1385 (__foreign_iterator_aux4): Use const value_type* instead of
1386 potentially user-defined const_pointer type.
1387 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1388 and pass end iterator to __gnu_debug::__foreign_iterator.
1389 (__glibcxx_check_insert_range_after): Likewise.
1390 (__glibcxx_check_max_load_factor): Fix comment.
1391 * include/debug/vector (_Is_contiguous_sequence): Define partial
1392 specializations.
1393 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1394 -std=gnu++11 option and unused header.
1395 * testsuite/23_containers/vector/debug/60587.cc: New.
1396 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1397
e70c4c41
UW
13982014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1399
1400 * crossconfig.m4: Support spu-*-elf* targets.
1401 * configure: Regenerate.
1402
f7e68d08
JW
14032014-03-18 Jonathan Wakely <jwakely@redhat.com>
1404
1405 PR libstdc++/60564
1406 * include/std/future (__future_base::_Task_state<>): Change
1407 constructors to template functions using perfect forwarding.
1408 (__create_task_state): Use decayed type as stored task.
1409 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1410 * testsuite/30_threads/packaged_task/60564.cc: New.
1411
86faf710
FD
14122014-03-16 François Dumont <fdumont@gcc.gnu.org>
1413
1414 * scripts/create_testsuite_files: Add testsuite/experimental in
1415 the list of folders to search for tests.
1416
dcf39d82
AS
14172014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1418
1419 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1420
ee54a3b3
TS
14212014-03-15 Tim Shen <timshen91@gmail.com>
1422
1423 * include/bits/regex.h: Add/modify comments.
1424 * include/bits/regex_compiler.h: Likewise.
1425 * include/bits/regex_executor.h: Likewise.
1426 * include/bits/regex_executor.tcc: Likewise.
1427 * include/bits/regex_scanner.h: Likewise.
1428
b1520f3d
JW
14292014-03-14 Jonathan Wakely <jwakely@redhat.com>
1430
1431 PR ipa/58721
1432 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1433 _ZNSt12system_errorC* symbols which are not exported on any target.
1434
90021b55
RM
14352014-03-12 Roland McGrath <mcgrathr@google.com>
1436 Mark Seaborn <mseaborn@google.com>
1437
1438 PR libstdc++/59392
1439 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1440 the address of a null pointer, not with a null pointer to pointer.
1441 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1442 * testsuite/18_support/bad_exception/59392.cc: New file.
1443
06dce007
JW
14442014-03-11 Jonathan Wakely <jwakely@redhat.com>
1445
1446 PR libstdc++/60499
1447 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1448 Uglify name.
1449 * include/debug/map (map::operator=(map&&)): Likewise.
1450 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1451 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1452 * include/debug/set (set::operator=(set&&)): Likewise.
1453 * include/debug/unordered_map
1454 (unordered_map::operator=(unordered_map&&)): Likewise.
1455 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1456 * include/debug/unordered_set
1457 (unordered_set::operator=(unordered_set&&)): Likewise.
1458 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1459 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1460 * testsuite/23_containers/forward_list/debug/60499.cc: New
1461 * testsuite/23_containers/map/debug/60499.cc: New
1462 * testsuite/23_containers/multimap/debug/60499.cc: New
1463 * testsuite/23_containers/multiset/debug/60499.cc: New
1464 * testsuite/23_containers/set/debug/60499.cc: New
1465 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1466 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1467 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1468 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1469 * testsuite/23_containers/vector/debug/60499.cc: New
1470
700bf0d3
ESR
14712014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1472
1473 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1474 for filesystem and fundamentals TS work items.
1475
064fd5a8
PC
14762014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1477
1478 PR c++/60376
1479 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1480 Adjust dg-error directives.
1481
91bb5cd9
TS
14822014-02-26 Tim Shen <timshen91@gmail.com>
1483
1484 * include/bits/regex.tcc (match_results<>::format,
1485 regex_replace<>): Update __out after calling std::copy.
1486 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1487 Add testcase.
1488 * testsuite/28_regex/match_results/format.cc: Likewise.
1489
6aba6941
MG
14902014-02-22 Marc Glisse <marc.glisse@inria.fr>
1491
1492 PR libstdc++/60308
1493 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1494 allocator_type&)): Remove redundant call to _M_initialize_map.
1495 (deque::deque(const allocator_type&)): Initialize _Base with a
1496 constructor that calls _M_initialize_map.
1497
1498 Partial revert:
1499
1500 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1501 PR libstdc++/58338
1502 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1503 _M_initialize_map.
1504
94ff3384
ESR
15052014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1506
1507 Rename testsuite directory shared_mutex to shared_timed_mutex
1508 for consistency.
1509 * testsuite/30_threads/shared_mutex: Moved to...
1510 * testsuite/30_threads/shared_timed_mutex: ...here
1511
4bbfc5fa
ESR
15122014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1513
1514 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1515 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1516 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1517 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1518 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1519 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1520 * testsuite/30_threads/shared_lock/requirements/
1521 explicit_instantiation.cc: Ditto.
1522 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1523 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1524 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1525 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1526 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1527 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1528 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1529 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1530 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1531 * testsuite/30_threads/shared_mutex/requirements/
1532 standard_layout.cc: Ditto.
1533 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1534 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1535 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1536 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1537 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1538
53a6d1ce
RO
15392014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1540
1541 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1542 execution on i?86-*-solaris2.9, remove comment.
1543 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1544
5a47e4c5
RS
15452014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1546
1547 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1548 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1549 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1550
85c13695 15512014-01-29 Jonathan Wakely <jwakely@redhat.com>
20067423
JW
1552
1553 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1554 not use varargs when argument could be non-POD.
1555 (__alloctr_rebind_helper): Eliminate static const bool member by
1556 using true_type and false_type.
1557 (allocator_traits::__allocate_helper): Likewise.
1558 (allocator_traits::__construct_helper): Likewise.
1559 (allocator_traits::__destroy_helper): Likewise.
1560 (allocator_traits::__maxsize_helper): Likewise.
1561 (allocator_traits::__select_helper): Likewise.
1562 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1563 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1564 Remove redundant condition.
1565 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1566 Likewise.
1567 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1568 indirection through __alloc_traits.
1569 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1570 Eliminate static const bool members by using true_type and false_type.
1571 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1572 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1573 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1574 New.
1575 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1576
8a972abd
JW
1577 PR libstdc++/59829
1578 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1579 (vector::_M_data_ptr): New overloaded functions to ensure empty
1580 vectors do not dereference the pointer.
1581 * testsuite/23_containers/vector/59829.cc: New.
1582 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1583 Adjust dg-error line number.
1584 * testsuite/23_containers/vector/requirements/dr438/
1585 constructor_1_neg.cc: Likewise.
1586 * testsuite/23_containers/vector/requirements/dr438/
1587 constructor_2_neg.cc: Likewise.
1588 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1589 Likewise.
1590
d530142d
JW
1591 PR libstdc++/21609
1592 * include/ext/array_allocator.h: Add deprecated attribute.
1593
1492a408
JW
1594 PR libstdc++/57226
1595 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1596 installation and use of python printers.
1597 * doc/xml/manual/status_cxx2011.xml: Update.
1598 * doc/html/*: Regenerate.
1599
156b60e0
JW
16002014-01-28 Jonathan Wakely <jwakely@redhat.com>
1601 Kyle Lippincott <spectral@google.com>
1602
1603 PR libstdc++/59656
1604 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1605 constructor and grant friendship to weak_ptr.
1606 (weak_ptr::lock()): Use new constructor.
1607 * include/bits/shared_ptr_base.h
1608 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1609 and define specializations.
1610 (__shared_count): Add new non-throwing constructor.
1611 (__shared_ptr): Add new non-throwing constructor and grant friendship
1612 to __weak_ptr.
1613 (__weak_ptr::lock()): Use new constructor.
1614 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1615 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1616
fb1ca954
JW
16172014-01-27 Jonathan Wakely <jwakely@redhat.com>
1618
1619 PR libstdc++/59215
1620 * include/bits/shared_ptr_base.h
1621 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1622 load.
1623
ccc2e73c
JM
16242014-01-27 Jason Merrill <jason@redhat.com>
1625
1626 Core DR 475
1627 PR c++/41174
1628 PR c++/59224
1629 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1630 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1631 (__cxa_allocate_exception): Don't set it here.
1632
4d0bb770
JW
16332014-01-26 Jonathan Wakely <jwakely@redhat.com>
1634
1635 * include/bits/stl_map.h: Remove anachronistic comment.
1636 * include/bits/stl_multimap.h: Add whitespace.
1637 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1638 -std=gnu++11 instead of -std=c++11.
1639 * testsuite/23_containers/map/operators/2.cc: Likewise.
1640 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1641 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1642 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1643
2720e16b
JW
1644 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1645 * configure: Regenerate.
1646
bb393514
ESR
16472014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1648
1649 PR libstdc++/59531
1650 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1651 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1652
16532014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1654 Peter A. Bigot <pab@pabigot.com>
1655
1656 PR libstdc++/59531
1657 * include/experimental/string_view
1658 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1659 Correct copy start location.
1660
16612014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1662 Peter A. Bigot <pab@pabigot.com>
1663
1664 PR libstdc++/59530
1665 * include/experimental/string_view (operator[](size_type) const):
1666 Fix one-off index error in debug check.
1667 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1668 test basic_string_view at size().
1669 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1670
16712014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1672 Peter A. Bigot <pab@pabigot.com>
1673
1674 PR libstdc++/59529
1675 * include/experimental/string_view
1676 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1677 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1678 Comment out catch of out_of_range; No terminating null
1679 in basic_string_view. Check begin == end.
1680 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1681 Ditto.
1682
f7491277
JW
16832014-01-24 Jonathan Wakely <jwakely@redhat.com>
1684
1685 PR libstdc++/59548
1686 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1687 constructor to prevent it being implicitly defined as deleted, but
1688 do not copy anything.
1689 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1690 Define copy and move constructors similar to _Safe_sequence_base's.
1691 * testsuite/23_containers/unordered_map/59548.cc: New.
1692
7370b9df
BRF
16932014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1694 Steve Ellcey <sellcey@mips.com>
1695
1696 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1697 function.
1698 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1699 * (configure, config.h.in): Regenerate.
1700 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1701
1f0affce
JW
17022014-01-23 Jonathan Wakely <jwakely@redhat.com>
1703
1704 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1705 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1706
6a5839c8
JW
1707 PR libstdc++/59872
1708 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1709 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1710 Likewise.
1711 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1712 Likewise.
1713 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1714 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1715 functions to perform moving or copying of elements from rvalue tree.
1716 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1717 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1718 * testsuite/23_containers/map/59872.cc: New.
1719 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1720
af0e0fa0
JW
17212014-01-22 Jonathan Wakely <jwakely@redhat.com>
1722
1723 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1724
c3cdd71f
JW
1725 PR libstdc++/58764
1726 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1727 Split into separate default constructor and constructor taking
1728 allocator.
1729 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1730 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1731 Likewise.
1732 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1733 * include/debug/list (list::list(const _Allocator&)): Likewise.
1734 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1735 Likewise.
1736 * include/debug/multimap.h
1737 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1738 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1739 Likewise.
1740 * include/debug/multiset.h
1741 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1742 * include/debug/vector (vector::vector(const allocator_type&)):
1743 Likewise.
1744 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1745 * include/profile/list (list::list(const _Allocator&)): Likewise.
1746 * include/profile/map.h
1747 (map::map(const _Compare&, const _Allocator&)): Likewise.
1748 * include/profile/multimap.h
1749 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1750 * include/profile/set.h
1751 (set::set(const _Compare&, const _Allocator&)): Likewise.
1752 * include/profile/multiset.h
1753 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1754 * include/profile/vector (vector::vector(const _Allocator&)):
1755 Likewise.
1756 * testsuite/23_containers/deque/58764.cc: New.
1757 * testsuite/23_containers/list/58764.cc: New.
1758 * testsuite/23_containers/map/58764.cc: New.
1759 * testsuite/23_containers/multimap/58764.cc: New.
1760 * testsuite/23_containers/set/58764.cc: New.
1761 * testsuite/23_containers/multiset/58764.cc: New.
1762 * testsuite/23_containers/vector/58764.cc: New.
1763 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1764 Adjust dg-error line number.
1765 * testsuite/23_containers/deque/requirements/dr438/
1766 constructor_1_neg.cc: Likewise.
1767 * testsuite/23_containers/deque/requirements/dr438/
1768 constructor_2_neg.cc: Likewise.
1769 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1770 Likewise.
1771 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1772 Likewise.
1773 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1774 Likewise.
1775 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1776 Likewise.
1777 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1778 Likewise.
1779 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1780 Likewise.
1781 * testsuite/23_containers/vector/requirements/dr438/
d9dcda6f
JW
1782 constructor_1_neg.cc: Likewise.
1783 * testsuite/23_containers/vector/requirements/dr438/
1784 constructor_2_neg.cc: Likewise.
1785 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1786 Likewise.
1787
1788 PR libstdc++/58764 (again)
1789 * include/bits/stl_list.h (list): Make default constructor's exception
1790 specification conditional.
1791 * include/bits/stl_vector.h (vector): Likewise.
1792 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1793 to default constructor.
1794 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1795 Adjust dg-error line number.
1796 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1797 Likewise.
1798 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1799 Likewise.
1800 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1801 Likewise.
1802 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1803 Likewise.
1804 * testsuite/23_containers/vector/requirements/dr438/
c3cdd71f
JW
1805 constructor_1_neg.cc: Likewise.
1806 * testsuite/23_containers/vector/requirements/dr438/
1807 constructor_2_neg.cc: Likewise.
1808 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1809 Likewise.
1810
8f7082f5
TS
18112014-01-21 Tim Shen <timshen91@gmail.com>
1812
1813 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1814 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1815 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1816
6ff956e3
JW
18172014-01-21 Jonathan Wakely <jwakely@redhat.com>
1818
1819 PR libstdc++/56267
1820 * include/bits/hashtable.h (__cache_default): Do not depend on
1821 whether the hash function is DefaultConstructible or CopyAssignable.
1822 (_Hashtable): Adjust static assertions.
1823 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1824 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1825 dg-error line number.
1826 * testsuite/23_containers/unordered_set/
1827 not_default_constructible_hash_neg.cc: Remove.
1828
9d0bb2ea
FD
18292014-01-20 François Dumont <fdumont@gcc.gnu.org>
1830
1831 * scripts/create_testsuite_files: Add testsuite/experimental in
1832 the list of folders to search for tests.
1833 * include/experimental/string_view
1834 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1835 incompatible with constexpr qualifier.
1836 (basic_string_view<>::front()): Likewise.
1837 (basic_string_view<>::back()): Likewise.
1838 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1839 Merge dg-options directives into one.
1840 * testsuite/experimental/string_view/element_access/char/2.cc:
1841 Likewise. Remove invalid experimental namespace scope on
1842 string_view_type.
1843
92e16228
JW
18442014-01-20 Jonathan Wakely <jwakely@redhat.com>
1845
1846 PR libstdc++/56267
1847 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1848 friendship to _Local_iterator_base<..., false>.
1849 (_Local_iterator_base): Give protected access to all existing members.
1850 (_Local_iterator_base::_M_curr()): New public accessor.
1851 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1852 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1853 the lifetime of the _Hash_code_base explicitly.
1854 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1855 (_Local_iterator_base<..., false>): Define copy constructor and copy
1856 assignment operator that use new functions to manage _Hash_code_base.
1857 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1858 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1859 Use public API for _Local_iterator_base.
1860 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1861 * include/debug/unordered_map (__debug::unordered_map::erase(),
1862 __debug::unordered_multimap::erase()): Likewise.
1863 * include/debug/unordered_set (__debug::unordered_set::erase(),
1864 __debug::unordered_multiset::erase()): Likewise.
1865 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1866
053eb1f3
TS
18672014-01-19 Tim Shen <timshen91@gmail.com>
1868
1869 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1870 Fix parse error of multiple consecutive quantifiers like "a**".
1871 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1872 Likewise.
1873 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1874
1217ee06
FD
18752014-01-17 François Dumont <fdumont@gcc.gnu.org>
1876
1877 * include/profile/set.h (set): Implement C++11 allocator-aware
1878 container requirements.
1879 * include/profile/map.h (map): Likewise.
1880 * include/profile/multiset.h (multiset): Likewise.
1881 * include/profile/multimap.h (multimap): Likewise.
1882 * include/profile/set.h
1883 (set::operator=(const set&)): Define as default in C++11 mode.
1884 (set::operator=(set&&)): Likewise.
1885 * include/profile/map.h
1886 (map::operator=(const map&)): Likewise.
1887 (map::operator=(map&&)): Likewise.
1888 * include/profile/multiset.h
1889 (multiset::operator=(const multiset&)): Likewise.
1890 (multiset::operator=(multiset&&)): Likewise.
1891 * include/profile/multimap.h
1892 (multimap::operator=(const multimap&)): Likewise.
1893 (multimap::operator=(multimap&&)): Likewise.
1894 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1895 Rely on the same operator from normal mode.
1896 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1897 Likewise.
1898 * include/profile/multiset.h
1899 (multiset::operator=(std::initializer_list<>)): Likewise.
1900 * include/profile/multimap.h
1901 (multimap::operator=(std::initializer_list<>)): Likewise.
1902 * include/profile/set.h (set::swap(set&)): Add noexcept
1903 specification.
1904 * include/profile/map.h (map::swap(map&)): Likewise.
1905 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1906 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1907
ddf41e9d
TS
19082014-01-17 Tim Shen <timshen91@gmail.com>
1909
1910 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1911 use std::map.
1912 * include/bits/regex_automaton.h: Do not use std::set.
1913 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1914 _BracketMatcher<>::_M_add_collating_element(),
1915 _BracketMatcher<>::_M_add_equivalence_class(),
1916 _BracketMatcher<>::_M_make_range()): Likewise.
1917 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1918 Likewise.
1919 * include/bits/regex_executor.h: Do not use std::queue.
1920 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1921 _Executor<>::_M_dfs()): Likewise.
1922 * include/std/regex: Remove <map>, <set> and <queue>.
1923
19242014-01-17 Tim Shen <timshen91@gmail.com>
1925
1926 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1927 basic_regex<>::assign()): Change __compile_nfa to accept
1928 const _CharT* only.
1929 * include/bits/regex_compiler.h: Change _Compiler's template
1930 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1931 * include/bits/regex_compiler.tcc: Likewise.
1932
19332014-01-17 Tim Shen <timshen91@gmail.com>
1934
1935 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1936 templated.
1937 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1938 _ScannerBase from _Scanner; Change _Scanner's template argument from
1939 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1940 instead.
1941 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1942 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1943 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1944 Likewise.
1945 * include/std/regex: Add <cstring> for using strchr.
1946
19472014-01-17 Tim Shen <timshen91@gmail.com>
1948
1949 * bits/regex_automaton.tcc: Indentation fix.
1950 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1951 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1952 _BracketMatcher<>): Add bool option template parameters and
1953 specializations to make matching more efficient and space saving.
1954 * bits/regex_compiler.tcc: Likewise.
1955
1bb59e05
FD
19562014-01-15 François Dumont <fdumont@gcc.gnu.org>
1957
9b7dc56e 1958 PR libstdc++/59712
1bb59e05
FD
1959 * include/bits/hashtable_policy.h: Fix some long lines.
1960 * include/bits/hashtable.h (__hash_code_base_access): Define and
1961 use it to check its _M_bucket_index noexcept qualification. Use
1962 also in place of...
1963 (__access_protected_ctor): ...this.
1964 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1965 Adapt line number.
1966 * testsuite/23_containers/unordered_set/
1967 not_default_constructible_hash_neg.cc: Likewise.
1968
51835a80
FD
19692014-01-13 François Dumont <fdumont@gcc.gnu.org>
1970
1971 * include/debug/set.h (set): Implement C++11 allocator-aware
1972 container requirements.
1973 * include/debug/map.h (map): Likewise.
1974 * include/debug/multiset.h (multiset): Likewise.
1975 * include/debug/multimap.h (multimap): Likewise.
1976 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1977 fix implementation regarding management of safe iterators.
1978 * include/debug/map.h (map::operator=(map&&)): Likewise.
1979 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1980 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1981 Likewise.
1982 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1983 Rely on the same operator from normal mode.
1984 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1985 Likewise.
1986 * include/debug/multiset.h
1987 (multiset::operator=(std::initializer_list<>)): Likewise.
1988 * include/debug/multimap.h
1989 (multimap::operator=(std::initializer_list<>)): Likewise.
1990 * include/debug/set.h (set::swap(set&)): Add noexcept
1991 specification, add allocator equality check.
1992 * include/debug/map.h (map::swap(map&)): Likewise.
1993 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1994 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1995
92bf1382
JW
19962014-01-10 Jonathan Wakely <jwakely@redhat.com>
1997
1998 PR libstdc++/59698
1999 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2000 and stylistic improvements.
2001 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2002 and update for C++11.
2003 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2004
b1fb52ca
JW
2005 PR libstdc++/59687
2006 * doc/xml/manual/backwards_compatibility.xml
2007 (backwards.third.nocreate_noreplace): Correct and expand.
2008
48c7451e
JW
2009 PR libstdc++/59699
2010 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2011
f0bc4aea
JW
20122014-01-09 Jonathan Wakely <jwakely@redhat.com>
2013
2014 PR libstdc++/59738
2015 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2016 support for non-Movable types.
2017
4bc0ec32
JW
2018 PR libstdc++/59680
2019 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2020
ace295af
FD
20212014-01-08 François Dumont <fdumont@gcc.gnu.org>
2022
2023 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2024 *this allocator instance when building temporary vector instance
2025 so that *this allocator does not get moved.
2026 * include/debug/safe_base.h
2027 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2028 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2029 move constructor from _Safe_sequence_base.
2030 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2031 safe iterators if the instance is moved.
2032 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2033 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2034 check on a vector iterator.
2035 * testsuite/23_containers/vector/allocator/move_assign.cc
2036 (test02): Likewise.
2037 (test03): New, test with a non-propagating allocator.
2038 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2039
f43cc2a6
TS
20402014-01-07 Tim Shen <timshen91@gmail.com>
2041
2042 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2043 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2044 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2045 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2046 _BracketMatcher<>::_M_add_char(),
2047 _BracketMatcher<>::_M_add_collating_element(),
2048 _BracketMatcher<>::_M_add_equivalence_class(),
2049 _BracketMatcher<>::_M_add_character_class(),
2050 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2051 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2052 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2053 to template parameter; Add cache for _BracketMatcher. Adjust
2054 declarations from here...
2055 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2056 imbuing a regex will trigger a recompilation to rebuild the cache.
2057 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2058 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2059 different template bool parameters.
2060 * include/bits/regex_executor.h: Remove unnecessary declarations.
2061 * include/std/regex: Adjust including orders.
2062 * testsuite/28_regex/traits/char/user_defined.cc: New.
2063 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2064
14c12d0d
RO
20652014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2066
2067 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2068 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2069 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2070 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2071 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2072
aa118a03
RS
20732014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2074
2075 Update copyright years
2076
f9030485
RS
20772014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2078
2079 * testsuite/18_support/new_handler.cc,
2080 testsuite/18_support/terminate_handler.cc,
2081 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2082 the copyright notice.
86a2db33 2083\f
94c13a09 2084Copyright (C) 2014 Free Software Foundation, Inc.
3cc6dd4d 2085
86a2db33
JJ
2086Copying and distribution of this file, with or without modification,
2087are permitted in any medium without royalty provided the copyright
2088notice and this notice are preserved.