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