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