regex.h (regex_token_iterator::_M_end_of_seq): Add const qualifier.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2014-10-08 Jonathan Wakely <jwakely@redhat.com>
2
3 * include/bits/regex.h (regex_token_iterator::_M_end_of_seq): Add
4 const qualifier.
5
6 2014-10-07 François Dumont <fdumont@gcc.gnu.org>
7
8 * testsuite/util/testsuite_counter_type.h
9 (counter_type::operator<(const counter_type&)): Update
10 less_compare_count.
11 * testsuite/25_algorithms/make_heap/complexity.cc: New.
12 * testsuite/25_algorithms/pop_heap/complexity.cc: New.
13 * testsuite/25_algorithms/push_heap/complexity.cc: New.
14 * testsuite/25_algorithms/sort_heap/complexity.cc: New.
15
16 2014-10-06 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
17 Jonathan Wakely <jwakely@redhat.com>
18
19 PR libstdc++/59987
20 * doc/xml/manual/status_cxx2011.xml: Remove hexfloat from notes.
21 * doc/html/manual/status.html: Regenerate.
22 * include/bits/ios_base.h (hexfloat): New function.
23 (defaultfloat): New function.
24 * src/c++98/locale_facets.cc (__num_base::_S_format_float): Support
25 hexadecimal floating point format.
26 * testsuite/27_io/basic_ostream/inserters_arithmetic/char/hexfloat.cc:
27 New file.
28
29 2014-10-06 Jonathan Wakely <jwakely@redhat.com>
30
31 * include/Makefile.am: Add new header.
32 * include/Makefile.in: Regenerate.
33 * include/experimental/tuple: New
34 * doc/xml/manual/status_cxx2014.xml: Update.
35 * doc/html/manual/status.html: Regenerate.
36 * testsuite/experimental/feat-lib-fund.cc: Test for new header.
37 * testsuite/experimental/tuple/apply.cc: New.
38
39 2014-10-05 François Dumont <fdumont@gcc.gnu.org>
40
41 PR libstdc++/63456
42 * include/bits/hashtable.h (_M_uses_single_bucket(__bucket_type*)): Test
43 the parameter.
44 * testsuite/23_containers/unordered_set/63456.cc: New.
45
46 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
47
48 PR libstdc++/63449
49 * doc/xml/manual/containers.xml: Remove outdated section.
50 * doc/html/*: Regenerate.
51
52 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
53
54 * include/c_global/ctgmath: Include <complex>.
55 * testsuite/26_numerics/headers/ctgmath/complex.cc: New.
56 * doc/xml/manual/status_cxx2011.xml: Update.
57 * doc/html/manual/status.html: Regenerate.
58
59 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
60
61 * include/bits/stl_function.h: Generic associative lookup feature
62 is not supported.
63 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
64 actually available.
65 * testsuite/experimental/feat-cxx14.cc: Add test for __cpp_lib_is_final.
66 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
67 * testsuite/20_util/duration/literals/range.cc: Adjust.
68 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
69 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
70 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
71 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
72 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
73 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
74 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
75 Adjust.
76
77 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
78
79 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
80 Adapt to latest modifications on debug iterators.
81
82 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
83
84 * include/std/type_traits: Add is_final<> type trait for C++14.
85 * testsuite/util/testsuite_tr1.h: Add
86 * testsuite/20_util/is_final/requirements/
87 explicit_instantiation.cc: New.
88 * testsuite/20_util/is_final/requirements/typedefs.cc: New.
89 * testsuite/20_util/is_final/value.cc: New.
90 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
91 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
92 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
93
94 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
95
96 Implement SD-6: SG10 Feature Test Recommendations
97 * include/bits/basic_string.h: Add __cpp_lib feature test macro.
98 * include/bits/stl_algobase.h: Ditto.
99 * include/bits/stl_function.h: Ditto.
100 * include/bits/unique_ptr.h: Ditto.
101 * include/std/chrono: Ditto.
102 * include/std/complex: Ditto.
103 * include/std/iomanip: Ditto.
104 * include/std/shared_mutex: Ditto.
105 * include/std/tuple: Ditto.
106 * include/std/type_traits: Ditto.
107 * include/std/utility: Ditto.
108 * testsuite/experimental/feat-cxx14.cc: New.
109 * testsuite/experimental/feat-lib-fund.cc: New.
110 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
111 * testsuite/20_util/duration/literals/range.cc: Adjust.
112 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
113 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
114 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
115 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust.
116 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust.
117 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust.
118 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
119 Adjust.
120
121 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
122
123 * python/hook.in: Only import libstdcxx.v6.
124 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
125
126 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
127
128 * doc/xml/manual/status_cxx2011.xml: Update.
129 * doc/html/manual/status.html: Regenerate.
130
131 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
132
133 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
134 file.
135
136 * configure.host (abi_baseline_pair): If try_cpu is generic use
137 host_cpu for the default.
138
139 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
140
141 PR libstdc++/62313
142 * include/debug/safe_base.h
143 (_Safe_iterator_base(const _Safe_iterator_base&)): Delete declaration.
144 (_Safe_iterator_base& operator=(const _Safe_iterator_base&)): Likewise.
145 * include/debug/safe_iterator.h (_Safe_iterator<>): Move normal iterator
146 before _Safe_iterator_base in memory. Lock before modifying the iterator
147 in numerous places.
148 * include/debug/safe_local_iterator.h
149 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
150 declaration.
151 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
152 Likewise.
153 * include/debug/safe_unordered_base.h (_Safe_local_iterator<>): Move
154 normal iterator before _Safe_iterator_base in memory. Lock before
155 modifying the iterator in numerous places.
156 * include/debug/forward_list (_Safe_forward_list<>::_M_swap_aux): Adapt.
157 * include/debug/safe_sequence.tcc
158 (_Safe_sequence<>::_M_transfer_from_if): Adapt.
159
160 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
161
162 DR 1339
163 * doc/xml/manual/status_cxx2011.xml: Update.
164 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
165 an iterator.
166 (__uninitialized_fill_n_a, __uninitialized_default_n_a): Likewise.
167 * include/bits/stl_vector.h (vector::_M_fill_initialize,
168 vector::_M_default_initialize): Use returned iterator.
169 * include/bits/vector.tcc (vector::_M_fill_assign,
170 vector::_M_fill_insert, vector::_M_default_append): Likewise.
171 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
172 16505.cc: Adjust return type.
173 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/
174 dr1339.cc: New.
175
176 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
177
178 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
179
180 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
181
182 * testsuite/27_io/basic_ios/conv/bool_neg.cc: New.
183 * testsuite/27_io/basic_ios/conv/bool.cc: New.
184 * testsuite/27_io/basic_ios/conv/voidptr.cc: New.
185
186 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
187
188 2014-09-25 Tim Shen <timshen@google.com>
189
190 PR libstdc++/63199
191 * include/bits/regex.h (basic_regex::basic_regex, basic_regex::assign,
192 basic_regex::imbue, basic_regex::getloc, basic_regex::swap): Add
193 _M_loc for basic_regex.
194 * include/bits/regex_automaton.h: Add _M_traits for _NFA.
195 * include/bits/regex_compiler.h (_Compiler::_M_get_nfa, __compile_nfa):
196 Make _Compiler::_M_nfa heap allocated.
197 * include/bits/regex_compiler.tcc (_Compiler::_Compiler): Make
198 _Compiler::_M_nfa heap allocated.
199 * include/bits/regex_executor.h (_Executor::_M_is_word):
200 Fix accessing _M_traits.
201 * include/bits/regex_executor.tcc (_Executor::_M_dfs):
202 Fix accessing _M_traits.
203 * testsuite/28_regex/algorithms/regex_match/ecma/wchar_t/63199.cc:
204 New testcase.
205
206 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
207
208 * config/abi/pre/gnu.ver: Make GLIBCXX_3.4 patterns stricter so the
209 new GLIBCXX_3.4.21 symbols don't match them.
210
211 PR libstdc++/56193
212 * config/abi/pre/gnu.ver: Add new exports.
213 * include/bits/basic_ios.h (basic_ios::operator bool): Define.
214 * src/c++98/ios_locale.cc (basic_ios::operator void*): Instantiate.
215
216 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
217
218 PR libstdc++/29988
219 * include/bits/stl_tree.h (_Rb_tree_reuse_or_alloc_node<>): New.
220 (_Rb_tree_alloc_node<>): New.
221 (_Rb_tree<>::operator=(_Rb_tree<>&&)): New.
222 (_Rb_tree<>::_M_assign_unique): New.
223 (_Rb_tree<>::_M_assign_equal): New.
224 (_Rb_tree<>): Adapt to reuse allocated nodes as much as possible.
225 * include/bits/stl_map.h
226 (std::map<>::operator=(std::map<>&&)): Default implementation.
227 (std::map<>::operator=(initializer_list<>)): Adapt to use
228 _Rb_tree::_M_assign_unique.
229 * include/bits/stl_multimap.h
230 (std::multimap<>::operator=(std::multimap<>&&)): Default implementation.
231 (std::multimap<>::operator=(initializer_list<>)): Adapt to use
232 _Rb_tree::_M_assign_equal.
233 * include/bits/stl_set.h
234 (std::set<>::operator=(std::set<>&&)): Default implementation.
235 (std::set<>::operator=(initializer_list<>)): Adapt to use
236 _Rb_tree::_M_assign_unique.
237 * include/bits/stl_multiset.h
238 (std::multiset<>::operator=(std::multiset<>&&)): Default implementation.
239 (std::multiset<>::operator=(initializer_list<>)): Adapt to use
240 _Rb_tree::_M_assign_equal.
241 * testsuite/23_containers/map/allocator/copy_assign.cc (test03): New.
242 * testsuite/23_containers/map/allocator/init-list.cc: New.
243 * testsuite/23_containers/map/allocator/move_assign.cc (test03): New.
244 * testsuite/23_containers/multimap/allocator/copy_assign.cc
245 (test03): New.
246 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
247 * testsuite/23_containers/multimap/allocator/move_assign.cc
248 (test03): New.
249 * testsuite/23_containers/multiset/allocator/copy_assign.cc
250 (test03): New.
251 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
252 * testsuite/23_containers/multiset/allocator/move_assign.cc
253 (test03): New.
254 * testsuite/23_containers/set/allocator/copy_assign.cc (test03): New.
255 * testsuite/23_containers/set/allocator/init-list.cc: New.
256 * testsuite/23_containers/set/allocator/move_assign.cc (test03): New.
257
258 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
259
260 PR libstdc++/63353
261 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
262
263 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
264
265 * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
266 * include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
267 to ostream constructor.
268 * include/std/ostream (basic_ostream(basic_iostream*)): Change to take
269 parameter by reference, to avoid ambiguity.
270 * testsuite/27_io/basic_ostream/cons/char/null.cc: New.
271
272 2014-09-22 Jason Merrill <jason@redhat.com>
273
274 * testsuite/Makefile.am (%/site.exp): Add @.
275 (check-DEJAGNU): Likewise.
276 * testsuite/Makefile.in: Regenerate.
277
278 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
279
280 * include/bits/stl_queue.h: Include missing header.
281 * include/bits/stl_stack.h: Likewise.
282 * testsuite/23_containers/priority_queue/requirements/
283 uses_allocator.cc: New.
284 * testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
285 * testsuite/23_containers/stack/requirements/uses_allocator.cc: New.
286
287 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
288
289 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
290 * doc/xml/manual/status_cxx2014.xml: Update TS status.
291 * doc/html/manual/status.html: Regenerate.
292
293 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
294
295 * include/std/mutex (try_lock): Do not swallow exceptions.
296 * testsuite/30_threads/try_lock/4.cc: Fix test.
297
298 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
299
300 PR libstdc++/54316
301 PR libstdc++/53626
302 * config/abi/pre/gnu.ver: Add new exports.
303 * config/io/basic_file_stdio.h (__basic_file): Support moving and
304 swapping.
305 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
306 Likewise.
307 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
308 Likewise.
309 * include/bits/fstream.tcc (basic_filebuf): Likewise.
310 * include/bits/move.h (__exchange): Define for C++11 mode.
311 * include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
312 swapping.
313 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
314 * include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
315 basic_fstream): Likewise.
316 * include/std/ios: Remove whitespace.
317 * include/std/istream (basic_istream, basic_iostream): Support moving
318 and swapping.
319 * include/std/ostream (basic_ostream): Likewise.
320 * include/std/sstream (basic_stringbuf, basic_istringstream,
321 basic_ostringstream, basic_stringstream): Likewise.
322 * include/std/streambuf (basic_streambuf): Do not default copy
323 constructor and assignment on first declaration.
324 * include/std/utility (exchange): Forward to __exchange.
325 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
326 * src/c++11/Makefile.am: Add stream-related files.
327 * src/c++11/Makefile.in: Regenerate.
328 * src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
329 New file for explicit instantiation definitions.
330 * src/c++11/ios.cc: Move from src/c++98 to here.
331 (ios_base::_M_move, ios_base::_M_swap): Define.
332 * src/c++11/ios-inst.cc: Move from src/c++98 to here.
333 * src/c++11/iostream-inst.cc: Likewise.
334 * src/c++11/istream-inst.cc: Likewise.
335 * src/c++11/ostream-inst.cc: Likewise.
336 * src/c++11/sstream-inst.cc: Likewise.
337 * src/c++11/streambuf-inst.cc: Likewise.
338 * src/c++98/Makefile.am: Remove stream-related files.
339 * src/c++98/Makefile.in: Regenerate.
340 * src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
341 instantiations.
342 * src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
343 * src/c++98/ios-inst.cc: Move to src/c++11/.
344 * src/c++98/ios.cc: Move to src/c++11/.
345 * src/c++98/iostream-inst.cc: Likewise.
346 * src/c++98/istream-inst.cc: Likewise.
347 * src/c++98/ostream-inst.cc: Likewise.
348 * src/c++98/sstream-inst.cc: Likewise.
349 * src/c++98/streambuf-inst.cc: Likewise.
350 * testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
351 * testsuite/27_io/basic_fstream/cons/move.cc: New.
352 * testsuite/27_io/basic_fstream/assign/1.cc: New.
353 * testsuite/27_io/basic_ifstream/cons/move.cc: New.
354 * testsuite/27_io/basic_ifstream/assign/1.cc: New.
355 * testsuite/27_io/basic_istringstream/assign/1.cc: New.
356 * testsuite/27_io/basic_istringstream/cons/move.cc: New.
357 * testsuite/27_io/basic_ofstream/cons/move.cc: New.
358 * testsuite/27_io/basic_ofstream/assign/1.cc: New.
359 * testsuite/27_io/basic_ostringstream/assign/1.cc: New.
360 * testsuite/27_io/basic_ostringstream/cons/move.cc: New.
361 * testsuite/27_io/basic_stringstream/assign/1.cc: New.
362 * testsuite/27_io/basic_stringstream/cons/move.cc: New.
363
364 2014-09-17 Jason Merrill <jason@redhat.com>
365
366 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
367 dynamic_cast more gracefully.
368
369 2014-09-15 Jakub Jelinek <jakub@redhat.com>
370
371 * testsuite/Makefile.am (check_p_numbers0, check_p_numbers1,
372 check_p_numbers2, check_p_numbers3, check_p_numbers4,
373 check_p_numbers5, check_p_numbers6, check_p_numbers,
374 check_p_subdirs): New variables.
375 (check_DEJAGNU_normal_targets): Use check_p_subdirs.
376 (check-DEJAGNU): Rewritten so that for parallelized
377 testing each job runs all the *.exp files, with
378 GCC_RUNTEST_PARALLELIZE_DIR set in environment.
379 * testsuite/Makefile.in: Regenerated.
380 * testsuite/lib/libstdc++.exp (gcc_parallel_test_run_p,
381 gcc_parallel_test_enable): New procedures. If
382 GCC_RUNTEST_PARALLELIZE_DIR is set in environment, override
383 runtest_file_p to invoke also gcc_parallel_test_run_p.
384 * testsuite/libstdc++-abi/abi.exp: Run all the tests serially
385 by the first parallel runtest encountering it. Fix up path
386 of the extract_symvers script.
387 * testsuite/libstdc++-xmethods/xmethods.exp: Run all the tests
388 serially by the first parallel runtest encountering it. Run
389 dg-finish even in case of error.
390
391 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
392
393 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
394 parameters to _Ch_traits.
395
396 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
397
398 * include/debug/deque (__gnu_debug::deque): Make base class C++11
399 allocator aware.
400
401 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
402
403 PR libstdc++/59603
404 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
405 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
406
407 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
408
409 PR libstdc++/63219
410 * include/bits/regex.h (match_results::format): Remove stray template
411 parameter.
412 * include/bits/regex_compiler.h (_RegexTranslator::_RegexTranslator):
413 Remove parameter name to avoid -Wunused-parameter warning.
414 * include/bits/regex_executor.h (_State_info::_State_info): Reorder
415 mem-initializers to avoid -Wreorder warning.
416 * include/bits/regex_executor.tcc (_Executor::_M_word_boundary):
417 Remove parameter name to avoid -Wunused-parameter warning.
418 * include/bits/regex_scanner.tcc (_Scanner::_M_advance): Add braces
419 to avoid -Wempty-body warning when not in debug mode.
420
421 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
422
423 * python/hook.in: Load the xmethods.
424 * python/Makefile.am (nobase_python_DATA): Add xmethods.py.
425 * python/Makefile.in: Regenerated.
426 * python/libstdcxx/v6/xmethods.py: New file.
427 * testsuite/lib/gdb-test.exp (gdb_version_check_xmethods): New
428 function.
429 (gdb-test): New optional argument LOAD_XMETHODS. Load xmethods
430 python script if LOAD_XMETHODS is true.
431 * testsuite/libstdc++-xmethods/unique_ptr.cc: New file.
432 * testsuite/libstdc++-xmethods/vector.cc: New file.
433 * testsuite/libstdc++-xmethods/xmethods.exp: New file.
434
435 2014-09-10 Tony Wang <tony.wang@arm.com>
436
437 PR target/56846
438 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION):
439 Return with CONTINUE_UNWINDING when the state pattern
440 contains: _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND
441
442 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
443
444 * include/bits/deque.tcc (deque::operator=(const deque&)): Handle
445 allocator propagation.
446 (deque::emplace_front, deque::emplace_back): Use allocator traits.
447 (deque::_M_push_back_aux, deque::_M_push_front_aux): Likewise.
448 (deque::_M_pop_back_aux, deque::_M_pop_front_aux): Likewise.
449 * include/bits/stl_deque.h (__deque_buf_size): Add constexpr.
450 (_Deque_iterator): Handle allocators with custom pointers.
451 (_Deque_base): Likewise. Use allocator traits.
452 (deque): Likewise. Add allocator-extended constructors.
453 (deque::_M_move_assign1, deque::_M_move_assign2): Implement move
454 assignment via tag dispatching.
455 (deque::_M_replace_map): Replace existing data.
456 * include/debug/deque (deque): Add allocator-extended constructors.
457 * include/profile/deque (deque): Likewise.
458 * testsuite/23_containers/deque/allocator/copy.cc: New.
459 * testsuite/23_containers/deque/allocator/copy_assign.cc: New.
460 * testsuite/23_containers/deque/allocator/ext_ptr.cc: New.
461 * testsuite/23_containers/deque/allocator/minimal.cc: New.
462 * testsuite/23_containers/deque/allocator/move.cc: New.
463 * testsuite/23_containers/deque/allocator/move_assign-2.cc: New.
464 * testsuite/23_containers/deque/allocator/move_assign.cc: New.
465 * testsuite/23_containers/deque/allocator/noexcept.cc: New.
466 * testsuite/23_containers/deque/allocator/swap.cc: New.
467 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
468 Adjust dg-error line number.
469 * testsuite/23_containers/deque/requirements/dr438/
470 constructor_1_neg.cc: Likewise.
471 * testsuite/23_containers/deque/requirements/dr438/
472 constructor_2_neg.cc: Likewise.
473 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
474 Likewise.
475 * testsuite/23_containers/vector/52591.cc: Test both the propagating
476 and always-equal cases.
477
478 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
479
480 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
481 noexcept qualified.
482 (_Hash_code_base<>): All specialization default constructible if
483 possible.
484 (_Hashtable_base<>): Likewise.
485 * include/bits/hashtable.h (_Hashtable<>()): Implementation defaulted.
486 * include/bits/unordered_map.h (unordered_map<>::unordered_map()): New,
487 implementation defaulted.
488 (unordered_multimap<>::unordered_multimap()): Likewise.
489 * include/bits/unordered_set.h
490 (unordered_set<>::unordered_set()): Likewise.
491 (unordered_multiset<>::unordered_multiset()): Likewise.
492 * include/debug/unordered_map: Likewise.
493 * include/debug/unordered_set: Likewise.
494 * testsuite/23_containers/unordered_map/allocator/noexcept.cc
495 (test04()): New.
496 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
497 (test04()): New.
498 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
499 (test04()): New.
500 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
501 (test04()): New.
502
503 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
504
505 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
506
507 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
508
509 * include/std/complex (complex): Define copy constructor and
510 assignment operator as defaulted. Improve Doxygen comments.
511
512 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
513
514 * testsuite/ext/random/*: Fix incorrect standard references in
515 comments.
516
517 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
518
519 PR libstdc++/62159
520 * include/Makefile.am (install-freestanding-headers): Add missing
521 C++11 headers.
522 * include/Makefile.in: Regenerate.
523
524 2014-08-21 Tony Wang <tony.wang@arm.com>
525
526 * testsuite/18_support/nested_exception/62154.cc: Disable when the
527 target doesn't provide atomic builtins.
528
529 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
530 Kai Tietz <ktietz@redhat.com>
531
532 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
533 Define.
534 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
535 Ditto.
536 * libsupc++/atexit_thread.cc [_GLIBCXX_THREAD_ATEXIT_WIN32]:
537 #include <windows.h>.
538 (struct elt): Add dll member.
539 (run): Decrement dll refcount.
540 (__cxxabiv1::__cxa_thread_atexit): Increment dll refcount.
541
542 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
543
544 PR libstdc++/62154
545 * libsupc++/nested_exception.h (throw_with_nested, rethrow_if_nested):
546 Rewrite to conform to C++11 requirements.
547 * testsuite/18_support/nested_exception/62154.cc: New.
548
549 2014-08-14 Matthias Klose <doko@ubuntu.com>
550
551 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
552 Remove empty directory.
553
554 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
555
556 * testsuite/26_numerics/random/linear_congruential_engine/
557 requirements/non_uint_neg.cc: Adjust for parser change.
558 * testsuite/tr1/5_numerical_facilities/random/linear_congruential/
559 requirements/non_uint_neg.cc: Likewise.
560
561 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
562
563 PR libstdc++/61841
564 * include/std/thread (thread::_M_start_thread): Declare new overload.
565 (thread::thread<_Callable, _Args...>): Call new overload with an
566 explicit reference to pthread_create.
567 * src/c++11/thread.cc (thread::_M_start_thread): Add new overload.
568 * config/abi/pre/gnu.ver: Export new function.
569
570 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
571
572 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
573
574 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
575
576 * Fix thinko in the last commit.
577
578 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
579
580 PR libstdc++/62118
581 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
582 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
583
584 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
585
586 * include/bits/basic_string.h (getline): Qualify call to prevent ADL
587 and add overloads for rvalue streams.
588 * testsuite/21_strings/basic_string/inserters_extractors/char/12.cc:
589 New.
590 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
591 New.
592
593 * include/bits/basic_string.h (getline): Declare inline.
594
595 2014-08-09 Ulrich Drepper <drepper@gmail.com>
596
597 * include/ext/random.tcc (uniform_on_sphere_helper): Define.
598 (uniform_on_sphere_distribution::operator()): Use the new helper
599 class for the implementation.
600
601 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
602 equal.cc: Remove bogus part of comment.
603 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
604 inequal.cc: Likewise.
605 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
606 serialize.cc: Add check to verify result of serialzation and
607 deserialization.
608 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
609 generate.cc: New file.
610
611 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
612
613 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
614 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
615
616 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
617
618 PR libstdc++/61667
619 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
620 _M_need_rehash to initialize the rehash policy and check if a rehash is
621 needed.
622 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
623
624 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
625
626 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
627 Optimize.
628 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
629 Adjust dg-error line number.
630 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
631 Likewise.
632 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
633 Likewise.
634 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
635 Likewise.
636
637 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
638 _M_do_set.
639 (_State_baseV2::_M_do_set): Change parameters to pointers.
640 (_State_baseV2::_Setter): Change _M_arg from reference to pointer.
641 (_State_baseV2::__setter): Initialize _Setter with pointers.
642 (_State_baseV2::__setter(promise<void>*)): Remove overload.
643 (promise::set_value, promise::set_exception): Pass setter directly
644 to _M_set_result.
645 (_State_baseV2::_Task_setter): Add template parameter for callable
646 type and replace std::function member with pointer to that type.
647 Change _M_result member from reference to pointer.
648 (_State_baseV2::_S_task_setter): Change parameter to lvalue reference
649 and initialize _Task_setter with pointers.
650 (__location_invariant): Specialize for _Setter and _Task_setter.
651
652 * include/std/future (__location_invariant): Move specializations
653 after preprocessor condition.
654
655 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
656
657 PR c++/15339
658 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
659
660 2014-08-01 Zifei Tong <zifeitong@gmail.com>
661
662 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
663 _GLIBCXX_ prefix to macro.
664
665 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
666
667 * python/libstdcxx/v6/printers.py
668 (SingleObjContainerPrinter._contained): Use compatibility mixin.
669
670 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
671
672 * testsuite/util/testsuite_allocator.h
673 (tracker_allocator_counter::allocate): Remove new invocation, only
674 collect information.
675 (tracker_allocator_counter::deallocate): Remove delete invocation, only
676 collect information.
677 (check_inconsistent_alloc_value_type): New.
678 (tracker_allocator): Transform as a facade for any allocator type.
679 (uneq_allocator): Likewise.
680 (propagating_allocator): Likewise.
681 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc: Use an
682 explicitly non propagating allocator.
683 * testsuite/23_containers/map/debug/move_assign_neg.cc: Likewise.
684 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: likewise.
685 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: Likewise.
686 * testsuite/23_containers/set/debug/move_assign_neg.cc: Likewise.
687 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
688 Likewise.
689 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
690 Likewise.
691 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
692 Likewise.
693 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
694 Likewise.
695 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
696
697 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
698
699 PR libstdc++/61946
700 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
701 const allocator_type&)): Pass non-const allocator to
702 _S_new_RopeFunction.
703 * testsuite/ext/rope/61946.cc: New.
704
705 PR libstdc++/61947
706 * include/std/tuple (_Head_base): Use allocator_arg_t parameters to
707 disambiguate unary constructors.
708 (_Tuple_impl): Pass allocator_arg_t arguments.
709 * testsuite/20_util/tuple/61947.cc: New.
710 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error line.
711
712 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
713
714 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
715 * include/bits/random.h (_Adaptor): static_assert for non floating-point
716 result type.
717 * include/bits/random.tcc (generate_canonical): Ditto.
718 * include/ext/random.tcc (hypergeometric_distribution::operator()):
719 Use double as a rng result type.
720 * testsuite/26_numerics/random/pr60037-neg.cc: New.
721 * testsuite/ext/random/hypergeometric_distribution/pr60037.cc: New.
722
723 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
724
725 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
726
727 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
728
729 * include/experimental/string_view: Make the literal operators
730 constexpr like the ctors they call.
731
732 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
733
734 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
735
736 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
737
738 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
739 to string instead of using gdb.Type.name attribute.
740
741 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
742
743 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
744 AC_MSG_CHECKING.
745
746 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
747
748 PR libstdc++/61835
749 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
750 raw string.
751 (SingleObjContainerPrinter): Check if type printers are in use.
752
753 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
754
755 * include/ext/random: Minor formatting and cosmetic tweaks.
756 (uniform_on_sphere_distribution<>::operator==
757 (const uniform_on_sphere_distribution&,
758 const uniform_on_sphere_distribution&)): Compare the _M_nds.
759 (uniform_on_sphere_distribution<>::reset): Reset _M_nd.
760 (operator!=(const uniform_on_sphere_distribution&,
761 const uniform_on_sphere_distribution&)): Adjust.
762 * include/ext/random.tcc: Minor cosmetc tweaks.
763
764 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
765
766 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Add type
767 printer for class templates.
768 (register_type_printers): Use TemplateTypePrinter for containers
769 and other class templates with default template arguments.
770 * testsuite/libstdc++-prettyprinters/whatis.cc: Test new recognizers.
771
772 * python/libstdcxx/v6/printers.py (SingleObjContainerPrinter): New
773 base class for experimental::any and experimental::optional printers.
774 (StdExpAnyPrinter, StdExpOptionalPrinter, StdExpStringViewPrinter):
775 New printers for Fundamentals TS types.
776 * testsuite/libstdc++-prettyprinters/libfundts.cc: New.
777
778 2014-07-15 Tim Shen <timshen@google.com>
779
780 PR libstdc++/61720
781 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch):
782 Clear match queue for next use.
783 * testsuite/28_regex/algorithms/regex_search/61720.cc: New file.
784
785 2014-07-14 Ulrich Drepper <drepper@gmail.com>
786
787 * include/ext/random.tcc: Unfortunately more fixes for
788 operator>> and operator<< for uniform_on_sphere_distribution.
789
790 2014-07-13 Ulrich Drepper <drepper@gmail.com>
791
792 * include/ext/random.tcc: Fix operator>> and operator<< for
793 uniform_on_sphere_distribution.
794
795 2014-07-12 Ulrich Drepper <drepper@gmail.com>
796
797 * include/ext/random: Add uniform_on_sphere_distribution definition.
798 * include/ext/random.tcc: Add out-of-band member function definitions
799 for uniform_on_sphere_distribution.
800 * testsuite/ext/random/uniform_on_sphere_distribution/
801 cons/default.cc: New file.
802 * testsuite/ext/random/uniform_on_sphere_distribution/
803 operators/equal.cc: New file.
804 * testsuite/ext/random/uniform_on_sphere_distribution/
805 operators/inequal.cc: New file.
806 * testsuite/ext/random/uniform_on_sphere_distribution/
807 operators/serialize.cc: New file.
808
809 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
810
811 Add the logistic_distribution as an extension.
812 * include/ext/random: Add the logistic_distribution.
813 * include/ext/random.tcc: Add the logistic_distribution.
814 * testsuite/ext/random/logistic_distribution/cons/parms.cc: New.
815 * testsuite/ext/random/logistic_distribution/cons/default.cc: New.
816 * testsuite/ext/random/logistic_distribution/requirements/typedefs.cc:
817 New.
818 * testsuite/ext/random/logistic_distribution/operators/inequal.cc: New.
819 * testsuite/ext/random/logistic_distribution/operators/equal.cc: New.
820 * testsuite/ext/random/logistic_distribution/operators/serialize.cc:
821 New.
822
823 2014-07-11 Samuel Bronson <naesten@gmail.com>
824
825 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
826 instead of insisting that GCC understand -fdiagnostics-color=never
827
828 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
829 list loaded libs.
830
831 2014-07-11 Samuel Bronson <naesten@gmail.com>
832 Matthias Klose <doko@ubuntu.com>
833
834 PR libstdc++/58962
835 * python/libstdcxx/v6/printers.py: Port to Python 2+3
836 (imap): New compat function.
837 (izip): Likewise.
838 (Iterator): New mixin to allow writing iterators in Python 3 style
839 regardless of which version we're running on.
840 [Python3] (long) New compat alias for "int".
841 * testsuite/lib/gdb-test.exp: Port to Python 2+3 (print syntax)
842
843 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
844
845 * include/experimental/any (any::_Manager_alloc::_Data): Reorder
846 tuple members to simplify pretty printing.
847 (any::_Manager_alloc::_Data::_M_construct): Fix uses-allocator
848 construction.
849 * testsuite/experimental/any/cons/4.cc: New.
850
851 2014-07-09 Jason Merrill <jason@redhat.com>
852
853 PR libstdc++/61728
854 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
855 * libsupc++/tinfo.h: Not here.
856
857 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
858
859 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
860 missing return.
861 * include/experimental/any: Remove unused header.
862 * include/std/functional (_Maybe_wrap_member_pointer): Fix comments.
863 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
864 * testsuite/util/testsuite_regex.h: Move include guard.
865
866 2014-07-01 Tim Shen <timshen@google.com>
867
868 PR libstdc++/61601
869 PR libstdc++/61582
870 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
871 a NFA state limit. If it's exceeded, regex_constants::error_space
872 will be throwed.
873 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone): Use
874 map (which is sparse) instead of vector. This reduce n times clones'
875 cost from O(n^2) to O(n).
876 * include/std/regex: Add map dependency.
877 * testsuite/28_regex/algorithms/regex_match/ecma/char/61601.cc: New
878 testcase.
879
880 2014-07-01 Tim Shen <timshen@google.com>
881
882 PR libstdc++/61424
883 * include/bits/regex.tcc (__regex_algo_impl<>): Use DFS for ECMAScript,
884 not just regex containing back-references.
885 * include/bits/regex_compiler.tcc (_Compiler<>::_M_disjunction):
886 exchange _M_next and _M_alt for alternative operator,
887 making matching from left to right.
888 * include/bits/regex_executor.h (_State_info<>::_M_get_sol_pos):
889 Add position tracking fom DFS.
890 * include/bits/regex_executor.tcc (_Executor<>::_M_main_dispatch,
891 _Executor<>::_M_dfs): Likewise.
892 * include/bits/regex_scanner.h: Remove unused enum entry.
893 * testsuite/28_regex/algorithms/regex_search/61424.cc: New
894 testcase from PR.
895
896 2014-06-30 Jason Merrill <jason@redhat.com>
897
898 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
899 is pure, not inline.
900
901 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
902
903 Revert:
904 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
905 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
906
907 PR libstdc++/61536
908 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
909
910 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
911
912 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
913
914 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
915
916 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
917 parameter type.
918
919 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
920
921 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
922 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
923 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
924 Likewise.
925 * include/ext/alloc_traits.h: Fix comment.
926
927 * include/Makefile.am: Add new header.
928 * include/Makefile.in: Regenerate.
929 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
930 New RAII utilities for working with allocators.
931 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
932 __allocator_type typedef and use new __allocated_ptr type.
933 (_Sp_counted_ptr_inplace): Likewise.
934 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
935 __allocate_guarded to to simplify exception handling.
936 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
937 * include/std/future (_Result_alloc::_M_destroy): Likewise.
938 (_Result_alloc::_S_allocate_result): Likewise.
939 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
940 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
941 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
942 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
943 with fancy pointer.
944 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
945
946 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
947 allocator.
948 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
949 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
950
951 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
952
953 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
954 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
955 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
956 Remove unused typedef.
957 (time_get::do_get_monthname): Likewise.
958 * include/bits/stl_tree.h: Add system_header pragma.
959 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
960 redundant const-qualifier.
961 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
962 instead of _GLIBCXX_USE_CONSTEXPR.
963
964 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
965
966 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
967 * include/std/chrono (_Checked_integral_constant): Allow zero.
968 * testsuite/20_util/duration/literals/values.cc: Test non-positive
969 values and digit separators.
970 * include/experimental/any
971
972 PR libstdc++/61532
973 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
974 apply the signed specifier to wchar_t.
975 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
976 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
977 cv-qualifier and size.
978 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
979 Likewise.
980
981 * include/experimental/any (any_v1): Rename namespace to
982 fundamentals_v1. Change string returned by bad_any_cast::what().
983 * include/experimental/optional (fundamentals_v1): Add namespace.
984 * include/experimental/string_view (fundamentals_v1): Likewise.
985 * testsuite/experimental/any/typedefs.cc: New.
986 * testsuite/experimental/optional/typedefs.cc: New.
987 * testsuite/experimental/string_view/typedefs.cc: New.
988
989 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
990 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
991
992 PR libstdc++/61536
993 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
994
995 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
996
997 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
998 * include/Makefile.am: Add new header.
999 * include/Makefile.in: Regenerate.
1000 * include/experimental/any: New.
1001 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
1002 constructor.
1003 * testsuite/experimental/any/assign/1.cc: New.
1004 * testsuite/experimental/any/assign/2.cc: New.
1005 * testsuite/experimental/any/cons/1.cc: New.
1006 * testsuite/experimental/any/cons/2.cc: New.
1007 * testsuite/experimental/any/cons/3.cc: New.
1008 * testsuite/experimental/any/misc/any_cast.cc: New.
1009 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
1010 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
1011 * testsuite/experimental/any/misc/swap.cc: New.
1012 * testsuite/experimental/any/modifiers/1.cc: New.
1013 * testsuite/experimental/any/observers/type.cc: New.
1014
1015 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
1016 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
1017 warnings.
1018 * include/bits/shared_ptr.h (shared_ptr): Likewise.
1019 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
1020 Likewise.
1021 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
1022 Likewise.
1023 * include/parallel/list_partition.h (__parallel::list_partition):
1024 Likewise.
1025 * include/std/iomanip (quoted): Likewise.
1026 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
1027
1028 * doc/xml/api.xml: Link to more recent API docs.
1029 * include/bits/allocator.h: Fix link in doxygen comment.
1030 * include/bits/char_traits.h: Likewise.
1031 * include/bits/ios_base.h: Likewise.
1032 * include/bits/stl_map.h: Likewise.
1033 * include/bits/stl_multimap.h: Likewise.
1034 * include/bits/stl_multiset.h: Likewise.
1035 * include/bits/stl_set.h: Likewise.
1036 * include/bits/unordered_map.h: Likewise.
1037 * include/bits/unordered_set.h: Likewise.
1038 * include/ext/mt_allocator.h: Likewise.
1039 * include/std/fstream: Likewise.
1040 * include/std/iosfwd: Likewise.
1041 * include/std/ostream: Likewise.
1042 * include/std/sstream: Likewise.
1043 * include/std/streambuf: Likewise.
1044 * doc/html/*: Regenerate.
1045
1046 * include/experimental/any (any_cast): Combine duplicate doxygen
1047 comments.
1048 * include/experimental/string_view (basic_string_view): Update
1049 doxygen comment.
1050 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
1051 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
1052 (dynamic_bitset): Improve Doxygen comments.
1053 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
1054 comment.
1055
1056 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1057
1058 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1059 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1060
1061 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
1062
1063 PR libstdc++/61390
1064 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
1065 (bin_search_tree_traits): Do not redeclare template-parameters.
1066 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
1067
1068 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1069
1070 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
1071 parameter for DocBook HTML generation.
1072 * doc/Makefile.in: Regenerate.
1073 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
1074 * doc/xml/faq.xml: Update content and improve formatting.
1075 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
1076 * doc/xml/manual/allocator.xml: Add stable ID attribute.
1077 * doc/xml/manual/bitmap_allocator.xml: Likewise.
1078 * doc/xml/manual/build_hacking.xml: Likewise.
1079 * doc/xml/manual/codecvt.xml: Change URL.
1080 * doc/xml/manual/ctype.xml: Add stable ID attribute.
1081 * doc/xml/manual/debug_mode.xml: Likewise.
1082 * doc/xml/manual/documentation_hacking.xml: Likewise.
1083 * doc/xml/manual/evolution.xml: Likewise.
1084 * doc/xml/manual/extensions.xml: Likewise.
1085 * doc/xml/manual/locale.xml: Likewise.
1086 * doc/xml/manual/messages.xml: Make section id consistent, improve
1087 markup, change URL.
1088 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
1089 * doc/xml/manual/profile_mode.xml: Likewise.
1090 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
1091 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
1092 * doc/xml/manual/status_cxx2011.xml: Likewise.
1093 * doc/xml/manual/status_cxx2014.xml: Likewise.
1094 * doc/xml/manual/status_cxxtr1.xml: Likewise.
1095 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
1096 * doc/xml/manual/using.xml: Likewise.
1097 * doc/html/*: Regenerate.
1098
1099 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1100
1101 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1102 comment.
1103
1104 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1105
1106 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1107
1108 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
1109
1110 DR 2344 - std::quoted doesn't respect padding
1111 * include/std/iomanip: Allow for padding in quoted inserters.
1112 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
1113 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
1114
1115 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1116
1117 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1118
1119 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1120
1121 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1122 code example.
1123 * doc/xml/manual/backwards_compatibility.xml
1124 (backwards.second.stringstreams): Likewise.
1125 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
1126 change of default.
1127 * doc/xml/manual/containers.xml (associative.bitset.type_string):
1128 Replace <quote> in code example.
1129 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
1130 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
1131 fix typos, improve markup.
1132 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
1133 <emphasis> with <replaceable>.
1134 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
1135 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
1136 and remove newlines in string literal.
1137
1138 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1139
1140 DR 1423
1141 PR c++/52174
1142 * testsuite/20_util/is_assignable/value.cc: Update.
1143
1144 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
1145
1146 * include/std/condition_variable (condition_variable_any::_Unlock): Do
1147 not swallow __forced_unwind.
1148 * include/std/future (__future_base::_Task_setter): Likewise.
1149 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
1150 promise and rethrow.
1151 * include/std/mutex (try_lock): Likewise.
1152 * testsuite/30_threads/async/forced_unwind.cc: New.
1153 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
1154
1155 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
1156 members to avoid wasted space when not using a cache.
1157 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
1158 * include/bits/regex_compiler.tcc
1159 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
1160 search on set.
1161 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
1162 New enumeration type to indicate match mode.
1163 (__detail::_Executor::_State_info): New type holding members only
1164 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
1165 unique_ptr<bool[]>.
1166 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
1167 Replace template parameter with run-time function parameter.
1168 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
1169 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
1170 implement DFS and BFS mode.
1171 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
1172 Split implementation into ...
1173 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
1174 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
1175 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
1176 argument instead of template argument.
1177 (__detail::_Executor::_M_dfs): Likewise.
1178 * include/bits/regex_scanner.tcc: Fix typos in comments.
1179 * testsuite/performance/28_regex/range.cc: New.
1180
1181 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1182 Jonathan Wakely <jwakely@redhat.com>
1183
1184 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
1185 helper struct.
1186 (aligned_union): New struct (C++11).
1187 (aligned_union_t): New type alias (C++14).
1188 * doc/xml/manual/status_cxx2011.xml: Update.
1189 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
1190 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1191 line number.
1192
1193 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1194
1195 PR libstdc++/61374
1196 * include/experimental/string_view (operator basic_string): Correct
1197 order of arguments.
1198 (to_string): Replace with member function.
1199 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
1200 allow _M_str to be null.
1201 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
1202 default constructor semantics.
1203 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
1204 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
1205 copyright dates. Remove unused header.
1206 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
1207 Likewise.
1208 * testsuite/experimental/string_view/operations/data/char/1.cc:
1209 Fix copyright dates. Adjust to new default constructor semantics.
1210 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
1211 Likewise.
1212 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
1213
1214 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
1215 (__uses_allocator_arg): Remove unused type.
1216 (__uses_alloc0): Turn into a trivial type.
1217 (__uses_alloc): Add missing template parameter in primary template.
1218 (__uses_alloc_impl): Rename to __uses_alloc_t.
1219
1220 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1221
1222 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1223 work with previous versions of Tcl.
1224
1225 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1226 Benjamin's old email address.
1227
1228 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1229 Paolo's address too.
1230
1231 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
1232
1233 * include/tr2/bool_set: Use UTF-8 for accented characters.
1234 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
1235 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
1236 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
1237
1238 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1239
1240 PR libstdc++/61329
1241 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1242 inline specifier.
1243 (_State_base::_M_dot): Likewise.
1244
1245 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
1246
1247 * include/profile/map.h: Fix typo in comment; minor formatting fix.
1248 * include/profile/multimap.h: Likewise.
1249 * include/profile/set.h: Likewise.
1250 * include/profile/multiset.h: Likewise.
1251
1252 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
1253
1254 * include/profile/array: Clean useless white chars.
1255 * include/profile/base.h: Likewise.
1256 * include/profile/iterator_tracker.h: Likewise.
1257 * include/profile/bitset: Code cleanup and remove not instrumented code.
1258 * include/profile/deque: Likewise.
1259 * include/profile/forward_list: Likewise.
1260 * include/profile/list (std::__profile::_List_profile<>): New.
1261 (std::__profile::list<>): Inherit from latter and adapt.
1262 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
1263 advise to match any ordered to unordered container conversion.
1264 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
1265 New.
1266 * include/Makefile.am: Add latter.
1267 * include/Makefile.in: Regenerate.
1268 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
1269 remove not instrumented code.
1270 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
1271 * include/profile/set.h (std::__profile::set<>): Likewise.
1272 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
1273 * include/profile/unordered_base.h: Add some line feed.
1274 * include/profile/unordered_map: Clean useless white chars and replace
1275 spaces with tabs.
1276 * include/profile/unordered_set: Likewise.
1277 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
1278 (std::__profile::_Vector_profile_post<>): New.
1279 (std::__profile::vector<>): Inherit from latter and adapt.
1280
1281 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1282
1283 PR libstdc++/60793
1284 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1285 dragonfly target selector to all tests that run on freebsd.
1286
1287 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1288 dragonfly.
1289 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1290 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1291
1292 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
1293 selector.
1294 * testsuite/30_threads/call_once/60497.cc: Likewise.
1295 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
1296 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
1297 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
1298 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
1299 * testsuite/30_threads/promise/60966.cc: Likewise.
1300 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
1301 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
1302 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
1303 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
1304 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
1305 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
1306 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
1307 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
1308 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
1309 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
1310 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
1311 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
1312 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
1313 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
1314 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
1315 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
1316 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
1317
1318 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1319
1320 PR libstdc++/61143
1321 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1322 usable state.
1323 * testsuite/23_containers/unordered_set/61143.cc: New.
1324 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1325
1326 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
1327
1328 PR libstdc++/61269
1329 * include/std/type_traits: Move include outside namespace std.
1330 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
1331 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
1332 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1333 Likewise.
1334
1335 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1336 Fix warning.
1337
1338 2014-05-21 John Marino <gnugcc@marino.st>
1339
1340 * acinclude.m4 (*-*-dragonfly*): New target.
1341 * configure: Regenerate.
1342 * configure.host (*-*-dragonfly*): New target.
1343 * config/locale/dragonfly/c_locale.cc: New.
1344 * config/locale/dragonfly/ctype_members.cc: New.
1345 * config/os/bsd/dragonfly/ctype_base.h: New.
1346 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
1347 * config/os/bsd/dragonfly/ctype_inline.h: New.
1348 * config/os/bsd/dragonfly/os_defines.h: New.
1349
1350 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
1351
1352 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
1353 libstdc++.exp imports those flags via getenv.
1354 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
1355 CXXFLAGS contains a '-O' flag.
1356
1357 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1358
1359 PR libstdc++/61223
1360 Revert:
1361 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1362
1363 PR libstdc++/60758
1364 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1365 and add unwind directives.
1366
1367 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1368
1369 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1370
1371 2014-05-20 Tim Shen <timshen91@gmail.com>
1372
1373 PR libstdc++/61227
1374 * include/bits/regex_compiler.h
1375 (_BracketMatcher<>::_M_add_character_class): Add negative character
1376 class support.
1377 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1378 Likewise.
1379 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1380 Add more testcases.
1381
1382 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1383
1384 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1385
1386 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1387
1388 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1389 * libsupc++/new_opnt.cc: Likewise.
1390
1391 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
1392
1393 PR libstdc++/60966
1394 * include/std/future (__future_base::_State_baseV2::_M_set_result):
1395 Pass lock into _M_do_set and hold it until the function returns.
1396 Signal condition variable after call_once completes.
1397 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
1398 signal here.
1399 * testsuite/30_threads/promise/60966.cc: New.
1400
1401 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1402 Sandra Loosemore <sandra@codesourcery.com>
1403
1404 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1405 until after checking that the test is eligible to be run.
1406
1407 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1408
1409 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
1410 test for 32-bit target.
1411 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1412 Likewise.
1413 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1414 Fix test.
1415
1416 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1417
1418 PR libstdc++/60758
1419 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1420 and add unwind directives.
1421
1422 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1423
1424 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1425 overflow.
1426 * include/std/chrono (chrono_literals::__select_type::_Select_type):
1427 Remove.
1428 (chrono_literals::_Checked_integral_constant): Define.
1429 Simplify UDL operator templates and check for overflow.
1430 * testsuite/20_util/duration/literals/range.cc: New.
1431
1432 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1433 Jonathan Wakely <jwakely@redhat.com>
1434
1435 PR libstdc++/61166
1436 * include/bits/parse_numbers.h: Use integral_constant to remove
1437 duplication and simplify.
1438 * testsuite/20_util/duration/literals/61166.cc: New.
1439
1440 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1441
1442 PR libstdc++/60326
1443 * include/std/type_traits (__make_unsigned, __make_signed): Define
1444 specializations for wchar_t, char16_t and char32_t.
1445 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
1446 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
1447 test for make_unsigned<volatile wchar_t>.
1448 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
1449 Likewise.
1450 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1451 line number.
1452 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1453 Likewise.
1454 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1455 Likewise.
1456
1457 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
1458
1459 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
1460 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
1461 * include/std/utility (tuple_size, tuple_element): Likewise.
1462 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
1463 Adjust dg-error line number.
1464
1465 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
1466
1467 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
1468 (__tuple_element_t): Define.
1469 (tuple_element): Use __tuple_element_t.
1470 (__cv_tuple_size): Define.
1471 (tuple_size<cv _Tp>): Use __cv_tuple_size.
1472 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
1473 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
1474 (__tuple_compare): Remove size check, re-order parameters.
1475 (operator==, operator<): Use static_assert to check requirements.
1476 * include/std/functional (__volget): use __tuple_element_t.
1477 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
1478 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
1479
1480 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
1481
1482 PR libstdc++/60497
1483 * include/std/tuple (get, __tuple_compare): Qualify more calls to
1484 prevent ADL. Cast comparison results to bool.
1485 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
1486 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
1487
1488 PR libstdc++/60497
1489 * include/debug/array (get): Qualify call to other get overload.
1490 * include/profile/array (get): Likewise.
1491 * include/std/array (get): Likewise.
1492 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
1493 * include/std/mutex (unique_lock, call_once): Use __addressof.
1494 (__unlock_impl): Remove unused template.
1495 (__try_to_lock): Declare inline.
1496 (__try_lock_impl::__do_try_lock): Qualify function calls.
1497 (lock): Avoid narrowing conversion.
1498 * testsuite/20_util/bind/60497.cc: New.
1499 * testsuite/23_containers/array/element_access/60497.cc: New.
1500 * testsuite/30_threads/call_once/60497.cc: New.
1501 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
1502
1503 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
1504
1505 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
1506 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
1507 * acinclude.m4 (libtool_VERSION): Bump.
1508 * configure: Regenerate.
1509 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
1510 * testsuite/28_regex/regex_error/base.cc: New.
1511
1512 2014-05-08 Joshua Gay <jgay@gnu.org>
1513
1514 PR libstdc++/61117
1515 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1516 source" with "free software".
1517 * doc/html/faq.html: Likewise.
1518
1519 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1520
1521 PR libstdc++/57394
1522 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
1523 deleted for C++11.
1524 (operator=(const ios_base&)): Likewise.
1525 * include/std/streambuf: Remove trailing whitespace.
1526 (basic_streambuf(const basic_streambuf&)): Fix initializer for
1527 _M_out_end. Define as defaulted for C++11.
1528 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
1529 (swap(basic_streambuf&)): Define for C++11.
1530 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
1531
1532 PR libstdc++/13860
1533 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1534
1535 * include/std/iostream: Fix URL in comment.
1536 * src/c++98/ios_init.cc: Fix path in comment.
1537
1538 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1539
1540 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1541 * configure: Regenerate.
1542
1543 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
1544
1545 PR libstdc++/61023
1546 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
1547 comparison function.
1548 * testsuite/23_containers/set/cons/61023.cc: New.
1549
1550 PR libstdc++/61086
1551 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
1552 Remove.
1553 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
1554 arithmetic to obtain a mutable iterator from const_iterator.
1555 * include/bits/vector.tcc (vector::insert): Likewise.
1556 * include/debug/vector (vector::erase): Likewise.
1557 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1558 Adjust dg-error line number.
1559 * testsuite/23_containers/vector/requirements/dr438/
1560 constructor_1_neg.cc: Likewise.
1561 * testsuite/23_containers/vector/requirements/dr438/
1562 constructor_2_neg.cc: Likewise.
1563 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1564 Likewise.
1565
1566 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1567
1568 * include/Makefile.in: Regenerate.
1569
1570 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
1571
1572 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
1573 parameter to pass the 2 instances to check allocator equality.
1574 * include/debug/safe_container.h: New, define _Safe_container<>.
1575 * include/Makefile.am: Add previous.
1576 * include/debug/deque (std::__debug::deque<>): Inherit
1577 _Safe_container<>. Use default implementation for all special
1578 functions.
1579 * include/debug/forward_list (std::__debug::forward_list<>):
1580 Likewise.
1581 * include/debug/list (std::__debug::list<>): Likewise.
1582 * include/debug/map.h (std::__debug::map<>): Likewise.
1583 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
1584 * include/debug/set.h (std::__debug::set<>): Likewise.
1585 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
1586 * include/debug/string (std::__debug::basic_string<>): Likewise.
1587 * include/debug/unordered_map
1588 (std::__debug::unordered_map<>): Likewise.
1589 (std::__debug::unordered_multimap<>): Likewise.
1590 * include/debug/unordered_set
1591 (std::__debug::unordered_set<>): Likewise.
1592 (std::__debug::unordered_multiset<>): Likewise.
1593 * include/debug/vector (std::__debug::vector<>): Likewise.
1594 * include/debug/safe_base.h (_Safe_sequence_base()): Add
1595 noexcept.
1596 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
1597 (~_Safe_sequence_base()): Add noexcept.
1598 * include/debug/safe_sequence.h
1599 (std::__debug::_Safe_node_sequence<>): New.
1600 * include/debug/safe_unordered_base.h
1601 (_Safe_unordered_container_base()): Add noexcept.
1602 (~_Safe_unordered_container_base()): Likewise.
1603 (_M_swap(_Safe_unordered_container_base&)): Likewise.
1604 * include/debug/safe_unordered_container.h:
1605 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
1606 (_Safe_unordered_container<>::_M_invalidate_all()): New.
1607 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
1608 qualifications.
1609 * testsuite/util/debug/checks.h (check_construct1): Just implement
1610 an invalid constructor invocation and no other operations
1611 potentially not supported by some types of container.
1612 (check_construct2): Likewise.
1613 (check_construct3): Likewise.
1614 * testsuite/23_containers/forward_list/allocator/move.cc: Add
1615 check on iterators to make sure they are correctly moved in debug
1616 mode.
1617 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1618 Likewise.
1619 * testsuite/23_containers/map/allocator/move.cc: Likewise.
1620 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
1621 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
1622 * testsuite/23_containers/multimap/allocator/move_assign.cc:
1623 Likewise.
1624 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1625 * testsuite/23_containers/multiset/allocator/move_assign.cc:
1626 Likewise.
1627 * testsuite/23_containers/set/allocator/move.cc: Likewise.
1628 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
1629 * testsuite/23_containers/unordered_map/allocator/move.cc:
1630 Likewise.
1631 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1632 Likewise.
1633 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1634 Likewise.
1635 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1636 Likewise.
1637 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1638 Likewise.
1639 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1640 Likewise.
1641 * testsuite/23_containers/unordered_set/allocator/move.cc:
1642 Likewise.
1643 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1644 Likewise.
1645 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1646 New.
1647 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1648 New.
1649 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1650 New.
1651 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1652 New.
1653 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
1654 New.
1655 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
1656 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
1657 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
1658 * testsuite/23_containers/map/debug/move_neg.cc: New.
1659 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
1660 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
1661 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
1662 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
1663 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
1664 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
1665 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
1666 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
1667 * testsuite/23_containers/set/debug/move_neg.cc: New.
1668 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
1669 New.
1670 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1671 New.
1672 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1673 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1674 New.
1675 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1676 New.
1677 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1678 New.
1679 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1680 New.
1681 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1682 New.
1683 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1684 New.
1685 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1686 New.
1687 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1688 New.
1689 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1690 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1691
1692 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1693
1694 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1695 (CXXABI_1.3.9): Remove __float128 symbols.
1696
1697 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
1698
1699 PR libstdc++/59476
1700 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
1701 function to handle both C++03 and C++11 _Rb_tree_node implementations.
1702 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
1703 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
1704 refer to...
1705 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
1706
1707 PR libstdc++/61036
1708 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
1709 Check the correct type in the static assertion.
1710 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
1711
1712 2014-04-27 Tim Shen <timshen91@gmail.com>
1713
1714 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
1715 Add _S_opcode_repeat support to distingush a loop from
1716 _S_opcode_alternative.
1717 * include/bits/regex_automaton.tcc (_State_base::_M_print,
1718 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
1719 _StateSeq<>::_M_clone): Likewise.
1720 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1721 Likewise.
1722 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
1723 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
1724 Uglify local variable __i.
1725 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
1726 Use size_t instead of int to compare with vector::size().
1727
1728 2014-04-27 Tim Shen <timshen91@gmail.com>
1729
1730 * include/bits/regex_executor.h: Add _M_rep_count to track how
1731 many times this repeat node are visited.
1732 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
1733 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
1734 infinite loop.
1735
1736 2014-04-27 Tim Shen <timshen91@gmail.com>
1737
1738 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
1739 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
1740 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
1741 * include/bits/regex_automaton.h: Remove quantifier counting variable.
1742 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
1743 Adjust debug NFA dump.
1744
1745 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1746
1747 PR libstdc++/60710
1748 * include/experimental/optional (operator!=): Implement in terms of
1749 operator==.
1750 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
1751 * testsuite/experimental/optional/relops/2.cc: Likewise.
1752 * testsuite/experimental/optional/relops/3.cc: Likewise.
1753 * testsuite/experimental/optional/relops/4.cc: Likewise.
1754 * testsuite/experimental/optional/relops/5.cc: Likewise.
1755 * testsuite/experimental/optional/relops/6.cc: Likewise.
1756
1757 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1758
1759 PR libstdc++/60958
1760 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1761 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1762 comment.
1763
1764 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1765
1766 * testsuite/util/testsuite_abi.cc (check_version): Update for
1767 CXXABI_1.3.9.
1768
1769 2014-04-24 Tim Shen <timshen91@gmail.com>
1770
1771 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
1772 Do _M_alt before _M_next.
1773 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
1774
1775 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
1776
1777 PR libstdc++/43622
1778 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
1779 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1780 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1781
1782 2014-04-24 Andreas Schwab <schwab@suse.de>
1783
1784 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1785 new CXXABI_1.3.9 symbols.
1786
1787 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1788
1789 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1790 (CXXABI_1.3.9): New version.
1791
1792 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
1793
1794 PR libstdc++/43622
1795 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
1796 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
1797 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1798
1799 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1800
1801 * configure.host: Remove solaris2.9 handling.
1802 Change os_include_dir to os/solaris/solaris2.10.
1803 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
1804 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
1805 * configure: Regenerate.
1806 * config/abi/post/solaris2.9: Remove.
1807 * config/os/solaris/solaris2.9: Rename to ...
1808 * config/os/solaris/solaris2.10: ... this.
1809 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
1810 Remove.
1811
1812 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1813 Remove Solaris 9 reference.
1814 * doc/html/manual/configure.html: Regenerate.
1815
1816 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
1817 Remove *-*-solaris2.9 xfail.
1818 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
1819 Likewise.
1820
1821 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1822 xfail.
1823
1824 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1825
1826 * include/std/functional (__is_location_invariant): Use __or_ helper.
1827
1828 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1829
1830 PR libstdc++/60734
1831 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1832
1833 PR libstdc++/60695
1834 * include/std/atomic (atomic<_Tp>): Add static assertion.
1835 * testsuite/29_atomics/atomic/60695.cc: New.
1836
1837 PR libstdc++/60594
1838 * include/std/functional (function::_Callable): Exclude own type
1839 from the callable checks.
1840 * testsuite/20_util/function/60594.cc: New.
1841
1842 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1843 const to constexpr member functions.
1844
1845 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
1846 delegating constructor.
1847 * include/bits/shared_ptr_base.h
1848 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
1849
1850 * include/std/atomic: Uglify parameter names.
1851
1852 PR c++/60786
1853 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1854 1.cc: Fix invalid explicit instantiations with unqualified names.
1855 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
1856 2.cc: Likweise.
1857 * testsuite/20_util/tuple/53648.cc: Likweise.
1858 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1859 Likewise.
1860 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
1861 Likewise.
1862 * testsuite/23_containers/unordered_map/requirements/
1863 debug_container.cc: Likewise.
1864 * testsuite/23_containers/unordered_map/requirements/
1865 explicit_instantiation/3.cc: Likewise.
1866 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
1867 Likewise.
1868 * testsuite/23_containers/unordered_multimap/requirements/
1869 explicit_instantiation/3.cc: Likewise.
1870 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
1871 Likewise.
1872 * testsuite/23_containers/unordered_multiset/requirements/
1873 explicit_instantiation/3.cc: Likewise.
1874 * testsuite/23_containers/unordered_set/requirements/
1875 debug_container.cc: Likewise.
1876 * testsuite/23_containers/unordered_set/requirements/
1877 explicit_instantiation/3.cc: Likewise.
1878
1879 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
1880 not use uninitialized members in mem-initializers.
1881 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
1882 * testsuite/util/testsuite_common_types.h: Update comment.
1883
1884 * include/experimental/string_view: Fix inconsistent exception specs.
1885
1886 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1887 Remove name of unused parameter.
1888
1889 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
1890
1891 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
1892 _Vector_base::_M_allocate): NullablePointer requirements do not
1893 include initialization from literal zero, use value-initialization.
1894 * include/bits/vector.tcc (vector::_M_insert_aux,
1895 vector::_M_explace_back_aux): Likewise for assignment.
1896
1897 * include/bits/allocator.h (operator==, operator!=): Add exception
1898 specifications.
1899
1900 PR libstdc++/60497
1901 * include/std/tuple (get): Qualify calls to prevent ADL.
1902 * testsuite/20_util/tuple/60497.cc: New.
1903
1904 * include/std/tuple (tuple_element_t): Define.
1905 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1906 test.
1907 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1908
1909 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1910
1911 PR libstdc++/59434
1912 * include/bits/stl_iterator.h (move_iterator::reference,
1913 move_iterator::operator*): Implement LWG 2106.
1914 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1915
1916 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1917
1918 * include/std/complex (__complex_exp, pow): Specify the template
1919 parameter in calls to std::polar, for expression templates.
1920
1921 2014-04-10 Andreas Schwab <schwab@suse.de>
1922
1923 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1924 symbols.
1925 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1926 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1927
1928 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1929
1930 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
1931
1932 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1933 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1934 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1935 specifications.
1936
1937 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1938 Jack Howarth <howarth@bromo.med.uc.edu>
1939
1940 PR target/54407
1941 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1942 darwin < 11.
1943
1944 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1945
1946 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1947 Update link.
1948 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1949 Fix broken links.
1950 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1951 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1952 * doc/xml/manual/concurrency_extensions.xml
1953 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1954 * doc/html/*: Regenerate.
1955
1956 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1957 Jonathan Wakely <jwakely@redhat.com>
1958
1959 PR libstdc++/60270
1960 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1961 string if input is not quoted.
1962 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1963
1964 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1965
1966 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1967
1968 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1969
1970 * testsuite/18_support/exception_ptr/60612-terminate.cc
1971 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1972 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1973
1974 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1975
1976 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1977
1978 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1979 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1980 Likewise.
1981 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1982 Likewise.
1983 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1984
1985 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1986 Fix bad s/part/chapter/ substitutions.
1987 * doc/xml/manual/io.xml (std.io): Likewise.
1988 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1989 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1990
1991 * doc/html/*: Regenerate.
1992
1993 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1994
1995 PR libstdc++/60612
1996 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1997 compatible with __cxa_exception.
1998 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1999 Fix typos in comments.
2000 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
2001 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
2002
2003 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
2004
2005 PR libstdc++/60658
2006 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
2007 Use sizeof pointer type not the element type.
2008 * testsuite/29_atomics/atomic/60658.cc: New.
2009
2010 2014-03-24 Jakub Jelinek <jakub@redhat.com>
2011
2012 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
2013 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
2014 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
2015 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
2016 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
2017 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
2018 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
2019 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
2020 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
2021 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
2022 entries.
2023
2024 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2025
2026 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
2027
2028 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
2029
2030 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
2031 to delegated constructor.
2032 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
2033 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
2034 Likewise.
2035 (_Hashtable(
2036 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
2037
2038 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
2039
2040 PR libstdc++/60623
2041 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
2042
2043 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2044
2045 PR libstdc++/60587
2046 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2047 (__foreign_iterator): Accept additional iterator. Do not dispatch on
2048 iterator category.
2049 (__foreign_iterator_aux2): Likewise. Add overload for iterators
2050 from different types of debug container. Use _Is_contiguous_sequence
2051 instead of is_lvalue_reference.
2052 (__foreign_iterator_aux3): Accept additional iterator. Avoid
2053 dereferencing past-the-end iterator.
2054 (__foreign_iterator_aux4): Use const value_type* instead of
2055 potentially user-defined const_pointer type.
2056 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
2057 and pass end iterator to __gnu_debug::__foreign_iterator.
2058 (__glibcxx_check_insert_range_after): Likewise.
2059 (__glibcxx_check_max_load_factor): Fix comment.
2060 * include/debug/vector (_Is_contiguous_sequence): Define partial
2061 specializations.
2062 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
2063 -std=gnu++11 option and unused header.
2064 * testsuite/23_containers/vector/debug/60587.cc: New.
2065 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
2066
2067 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2068
2069 * crossconfig.m4: Support spu-*-elf* targets.
2070 * configure: Regenerate.
2071
2072 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
2073
2074 PR libstdc++/60564
2075 * include/std/future (__future_base::_Task_state<>): Change
2076 constructors to template functions using perfect forwarding.
2077 (__create_task_state): Use decayed type as stored task.
2078 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
2079 * testsuite/30_threads/packaged_task/60564.cc: New.
2080
2081 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2082
2083 * scripts/create_testsuite_files: Add testsuite/experimental in
2084 the list of folders to search for tests.
2085
2086 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2087
2088 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2089
2090 2014-03-15 Tim Shen <timshen91@gmail.com>
2091
2092 * include/bits/regex.h: Add/modify comments.
2093 * include/bits/regex_compiler.h: Likewise.
2094 * include/bits/regex_executor.h: Likewise.
2095 * include/bits/regex_executor.tcc: Likewise.
2096 * include/bits/regex_scanner.h: Likewise.
2097
2098 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
2099
2100 PR ipa/58721
2101 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
2102 _ZNSt12system_errorC* symbols which are not exported on any target.
2103
2104 2014-03-12 Roland McGrath <mcgrathr@google.com>
2105 Mark Seaborn <mseaborn@google.com>
2106
2107 PR libstdc++/59392
2108 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
2109 the address of a null pointer, not with a null pointer to pointer.
2110 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
2111 * testsuite/18_support/bad_exception/59392.cc: New file.
2112
2113 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2114
2115 PR libstdc++/60499
2116 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
2117 Uglify name.
2118 * include/debug/map (map::operator=(map&&)): Likewise.
2119 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
2120 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
2121 * include/debug/set (set::operator=(set&&)): Likewise.
2122 * include/debug/unordered_map
2123 (unordered_map::operator=(unordered_map&&)): Likewise.
2124 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
2125 * include/debug/unordered_set
2126 (unordered_set::operator=(unordered_set&&)): Likewise.
2127 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
2128 * include/debug/vector (vector::operator=(vector&&)): Likewise.
2129 * testsuite/23_containers/forward_list/debug/60499.cc: New
2130 * testsuite/23_containers/map/debug/60499.cc: New
2131 * testsuite/23_containers/multimap/debug/60499.cc: New
2132 * testsuite/23_containers/multiset/debug/60499.cc: New
2133 * testsuite/23_containers/set/debug/60499.cc: New
2134 * testsuite/23_containers/unordered_map/debug/60499.cc: New
2135 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
2136 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
2137 * testsuite/23_containers/unordered_set/debug/60499.cc: New
2138 * testsuite/23_containers/vector/debug/60499.cc: New
2139
2140 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2141
2142 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2143 for filesystem and fundamentals TS work items.
2144
2145 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2146
2147 PR c++/60376
2148 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2149 Adjust dg-error directives.
2150
2151 2014-02-26 Tim Shen <timshen91@gmail.com>
2152
2153 * include/bits/regex.tcc (match_results<>::format,
2154 regex_replace<>): Update __out after calling std::copy.
2155 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
2156 Add testcase.
2157 * testsuite/28_regex/match_results/format.cc: Likewise.
2158
2159 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
2160
2161 PR libstdc++/60308
2162 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
2163 allocator_type&)): Remove redundant call to _M_initialize_map.
2164 (deque::deque(const allocator_type&)): Initialize _Base with a
2165 constructor that calls _M_initialize_map.
2166
2167 Partial revert:
2168
2169 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2170 PR libstdc++/58338
2171 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2172 _M_initialize_map.
2173
2174 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2175
2176 Rename testsuite directory shared_mutex to shared_timed_mutex
2177 for consistency.
2178 * testsuite/30_threads/shared_mutex: Moved to...
2179 * testsuite/30_threads/shared_timed_mutex: ...here
2180
2181 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
2182
2183 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2184 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
2185 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
2186 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
2187 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
2188 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
2189 * testsuite/30_threads/shared_lock/requirements/
2190 explicit_instantiation.cc: Ditto.
2191 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
2192 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
2193 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
2194 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
2195 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
2196 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
2197 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
2198 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
2199 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
2200 * testsuite/30_threads/shared_mutex/requirements/
2201 standard_layout.cc: Ditto.
2202 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
2203 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
2204 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
2205 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
2206 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
2207
2208 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2209
2210 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
2211 execution on i?86-*-solaris2.9, remove comment.
2212 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
2213
2214 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
2215
2216 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
2217 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
2218 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
2219
2220 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
2221
2222 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
2223 not use varargs when argument could be non-POD.
2224 (__alloctr_rebind_helper): Eliminate static const bool member by
2225 using true_type and false_type.
2226 (allocator_traits::__allocate_helper): Likewise.
2227 (allocator_traits::__construct_helper): Likewise.
2228 (allocator_traits::__destroy_helper): Likewise.
2229 (allocator_traits::__maxsize_helper): Likewise.
2230 (allocator_traits::__select_helper): Likewise.
2231 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
2232 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
2233 Remove redundant condition.
2234 * include/bits/stl_vector.h (vector::operator=(const vector&)):
2235 Likewise.
2236 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
2237 indirection through __alloc_traits.
2238 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
2239 Eliminate static const bool members by using true_type and false_type.
2240 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
2241 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
2242 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
2243 New.
2244 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
2245
2246 PR libstdc++/59829
2247 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
2248 (vector::_M_data_ptr): New overloaded functions to ensure empty
2249 vectors do not dereference the pointer.
2250 * testsuite/23_containers/vector/59829.cc: New.
2251 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2252 Adjust dg-error line number.
2253 * testsuite/23_containers/vector/requirements/dr438/
2254 constructor_1_neg.cc: Likewise.
2255 * testsuite/23_containers/vector/requirements/dr438/
2256 constructor_2_neg.cc: Likewise.
2257 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2258 Likewise.
2259
2260 PR libstdc++/21609
2261 * include/ext/array_allocator.h: Add deprecated attribute.
2262
2263 PR libstdc++/57226
2264 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
2265 installation and use of python printers.
2266 * doc/xml/manual/status_cxx2011.xml: Update.
2267 * doc/html/*: Regenerate.
2268
2269 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2270 Kyle Lippincott <spectral@google.com>
2271
2272 PR libstdc++/59656
2273 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
2274 constructor and grant friendship to weak_ptr.
2275 (weak_ptr::lock()): Use new constructor.
2276 * include/bits/shared_ptr_base.h
2277 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
2278 and define specializations.
2279 (__shared_count): Add new non-throwing constructor.
2280 (__shared_ptr): Add new non-throwing constructor and grant friendship
2281 to __weak_ptr.
2282 (__weak_ptr::lock()): Use new constructor.
2283 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
2284 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
2285
2286 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2287
2288 PR libstdc++/59215
2289 * include/bits/shared_ptr_base.h
2290 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2291 load.
2292
2293 2014-01-27 Jason Merrill <jason@redhat.com>
2294
2295 Core DR 475
2296 PR c++/41174
2297 PR c++/59224
2298 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
2299 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
2300 (__cxa_allocate_exception): Don't set it here.
2301
2302 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
2303
2304 * include/bits/stl_map.h: Remove anachronistic comment.
2305 * include/bits/stl_multimap.h: Add whitespace.
2306 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
2307 -std=gnu++11 instead of -std=c++11.
2308 * testsuite/23_containers/map/operators/2.cc: Likewise.
2309 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
2310 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
2311 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
2312
2313 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2314 * configure: Regenerate.
2315
2316 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2317
2318 PR libstdc++/59531
2319 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2320 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2321
2322 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2323 Peter A. Bigot <pab@pabigot.com>
2324
2325 PR libstdc++/59531
2326 * include/experimental/string_view
2327 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2328 Correct copy start location.
2329
2330 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2331 Peter A. Bigot <pab@pabigot.com>
2332
2333 PR libstdc++/59530
2334 * include/experimental/string_view (operator[](size_type) const):
2335 Fix one-off index error in debug check.
2336 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
2337 test basic_string_view at size().
2338 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2339
2340 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2341 Peter A. Bigot <pab@pabigot.com>
2342
2343 PR libstdc++/59529
2344 * include/experimental/string_view
2345 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
2346 * testsuite/experimental/string_view/operations/substr/char/1.cc:
2347 Comment out catch of out_of_range; No terminating null
2348 in basic_string_view. Check begin == end.
2349 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
2350 Ditto.
2351
2352 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
2353
2354 PR libstdc++/59548
2355 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
2356 constructor to prevent it being implicitly defined as deleted, but
2357 do not copy anything.
2358 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
2359 Define copy and move constructors similar to _Safe_sequence_base's.
2360 * testsuite/23_containers/unordered_map/59548.cc: New.
2361
2362 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2363 Steve Ellcey <sellcey@mips.com>
2364
2365 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2366 function.
2367 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2368 * (configure, config.h.in): Regenerate.
2369 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2370
2371 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2372
2373 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2374 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2375
2376 PR libstdc++/59872
2377 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2378 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2379 Likewise.
2380 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
2381 Likewise.
2382 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
2383 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
2384 functions to perform moving or copying of elements from rvalue tree.
2385 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
2386 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
2387 * testsuite/23_containers/map/59872.cc: New.
2388 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
2389
2390 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2391
2392 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2393
2394 PR libstdc++/58764
2395 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2396 Split into separate default constructor and constructor taking
2397 allocator.
2398 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2399 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
2400 Likewise.
2401 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
2402 * include/debug/list (list::list(const _Allocator&)): Likewise.
2403 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
2404 Likewise.
2405 * include/debug/multimap.h
2406 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2407 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2408 Likewise.
2409 * include/debug/multiset.h
2410 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2411 * include/debug/vector (vector::vector(const allocator_type&)):
2412 Likewise.
2413 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
2414 * include/profile/list (list::list(const _Allocator&)): Likewise.
2415 * include/profile/map.h
2416 (map::map(const _Compare&, const _Allocator&)): Likewise.
2417 * include/profile/multimap.h
2418 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2419 * include/profile/set.h
2420 (set::set(const _Compare&, const _Allocator&)): Likewise.
2421 * include/profile/multiset.h
2422 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2423 * include/profile/vector (vector::vector(const _Allocator&)):
2424 Likewise.
2425 * testsuite/23_containers/deque/58764.cc: New.
2426 * testsuite/23_containers/list/58764.cc: New.
2427 * testsuite/23_containers/map/58764.cc: New.
2428 * testsuite/23_containers/multimap/58764.cc: New.
2429 * testsuite/23_containers/set/58764.cc: New.
2430 * testsuite/23_containers/multiset/58764.cc: New.
2431 * testsuite/23_containers/vector/58764.cc: New.
2432 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
2433 Adjust dg-error line number.
2434 * testsuite/23_containers/deque/requirements/dr438/
2435 constructor_1_neg.cc: Likewise.
2436 * testsuite/23_containers/deque/requirements/dr438/
2437 constructor_2_neg.cc: Likewise.
2438 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
2439 Likewise.
2440 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2441 Likewise.
2442 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2443 Likewise.
2444 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2445 Likewise.
2446 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2447 Likewise.
2448 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2449 Likewise.
2450 * testsuite/23_containers/vector/requirements/dr438/
2451 constructor_1_neg.cc: Likewise.
2452 * testsuite/23_containers/vector/requirements/dr438/
2453 constructor_2_neg.cc: Likewise.
2454 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2455 Likewise.
2456
2457 PR libstdc++/58764 (again)
2458 * include/bits/stl_list.h (list): Make default constructor's exception
2459 specification conditional.
2460 * include/bits/stl_vector.h (vector): Likewise.
2461 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
2462 to default constructor.
2463 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2464 Adjust dg-error line number.
2465 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2466 Likewise.
2467 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2468 Likewise.
2469 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2470 Likewise.
2471 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
2472 Likewise.
2473 * testsuite/23_containers/vector/requirements/dr438/
2474 constructor_1_neg.cc: Likewise.
2475 * testsuite/23_containers/vector/requirements/dr438/
2476 constructor_2_neg.cc: Likewise.
2477 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
2478 Likewise.
2479
2480 2014-01-21 Tim Shen <timshen91@gmail.com>
2481
2482 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
2483 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
2484 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
2485
2486 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
2487
2488 PR libstdc++/56267
2489 * include/bits/hashtable.h (__cache_default): Do not depend on
2490 whether the hash function is DefaultConstructible or CopyAssignable.
2491 (_Hashtable): Adjust static assertions.
2492 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
2493 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
2494 dg-error line number.
2495 * testsuite/23_containers/unordered_set/
2496 not_default_constructible_hash_neg.cc: Remove.
2497
2498 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
2499
2500 * scripts/create_testsuite_files: Add testsuite/experimental in
2501 the list of folders to search for tests.
2502 * include/experimental/string_view
2503 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
2504 incompatible with constexpr qualifier.
2505 (basic_string_view<>::front()): Likewise.
2506 (basic_string_view<>::back()): Likewise.
2507 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
2508 Merge dg-options directives into one.
2509 * testsuite/experimental/string_view/element_access/char/2.cc:
2510 Likewise. Remove invalid experimental namespace scope on
2511 string_view_type.
2512
2513 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
2514
2515 PR libstdc++/56267
2516 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
2517 friendship to _Local_iterator_base<..., false>.
2518 (_Local_iterator_base): Give protected access to all existing members.
2519 (_Local_iterator_base::_M_curr()): New public accessor.
2520 (_Local_iterator_base::_M_get_bucket()): New public accessor.
2521 (_Local_iterator_base<..., false>::_M_init()): New function to manage
2522 the lifetime of the _Hash_code_base explicitly.
2523 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
2524 (_Local_iterator_base<..., false>): Define copy constructor and copy
2525 assignment operator that use new functions to manage _Hash_code_base.
2526 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
2527 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
2528 Use public API for _Local_iterator_base.
2529 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
2530 * include/debug/unordered_map (__debug::unordered_map::erase(),
2531 __debug::unordered_multimap::erase()): Likewise.
2532 * include/debug/unordered_set (__debug::unordered_set::erase(),
2533 __debug::unordered_multiset::erase()): Likewise.
2534 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
2535
2536 2014-01-19 Tim Shen <timshen91@gmail.com>
2537
2538 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
2539 Fix parse error of multiple consecutive quantifiers like "a**".
2540 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
2541 Likewise.
2542 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2543
2544 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
2545
2546 * include/profile/set.h (set): Implement C++11 allocator-aware
2547 container requirements.
2548 * include/profile/map.h (map): Likewise.
2549 * include/profile/multiset.h (multiset): Likewise.
2550 * include/profile/multimap.h (multimap): Likewise.
2551 * include/profile/set.h
2552 (set::operator=(const set&)): Define as default in C++11 mode.
2553 (set::operator=(set&&)): Likewise.
2554 * include/profile/map.h
2555 (map::operator=(const map&)): Likewise.
2556 (map::operator=(map&&)): Likewise.
2557 * include/profile/multiset.h
2558 (multiset::operator=(const multiset&)): Likewise.
2559 (multiset::operator=(multiset&&)): Likewise.
2560 * include/profile/multimap.h
2561 (multimap::operator=(const multimap&)): Likewise.
2562 (multimap::operator=(multimap&&)): Likewise.
2563 * include/profile/set.h (set::operator=(std::initializer_list<>)):
2564 Rely on the same operator from normal mode.
2565 * include/profile/map.h (map::operator=(std::initializer_list<>)):
2566 Likewise.
2567 * include/profile/multiset.h
2568 (multiset::operator=(std::initializer_list<>)): Likewise.
2569 * include/profile/multimap.h
2570 (multimap::operator=(std::initializer_list<>)): Likewise.
2571 * include/profile/set.h (set::swap(set&)): Add noexcept
2572 specification.
2573 * include/profile/map.h (map::swap(map&)): Likewise.
2574 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
2575 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
2576
2577 2014-01-17 Tim Shen <timshen91@gmail.com>
2578
2579 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
2580 use std::map.
2581 * include/bits/regex_automaton.h: Do not use std::set.
2582 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
2583 _BracketMatcher<>::_M_add_collating_element(),
2584 _BracketMatcher<>::_M_add_equivalence_class(),
2585 _BracketMatcher<>::_M_make_range()): Likewise.
2586 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
2587 Likewise.
2588 * include/bits/regex_executor.h: Do not use std::queue.
2589 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
2590 _Executor<>::_M_dfs()): Likewise.
2591 * include/std/regex: Remove <map>, <set> and <queue>.
2592
2593 2014-01-17 Tim Shen <timshen91@gmail.com>
2594
2595 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2596 basic_regex<>::assign()): Change __compile_nfa to accept
2597 const _CharT* only.
2598 * include/bits/regex_compiler.h: Change _Compiler's template
2599 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2600 * include/bits/regex_compiler.tcc: Likewise.
2601
2602 2014-01-17 Tim Shen <timshen91@gmail.com>
2603
2604 * include/bits/regex_compiler.h: Change _ScannerT into char-type
2605 templated.
2606 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
2607 _ScannerBase from _Scanner; Change _Scanner's template argument from
2608 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
2609 instead.
2610 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
2611 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
2612 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
2613 Likewise.
2614 * include/std/regex: Add <cstring> for using strchr.
2615
2616 2014-01-17 Tim Shen <timshen91@gmail.com>
2617
2618 * bits/regex_automaton.tcc: Indentation fix.
2619 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
2620 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
2621 _BracketMatcher<>): Add bool option template parameters and
2622 specializations to make matching more efficient and space saving.
2623 * bits/regex_compiler.tcc: Likewise.
2624
2625 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
2626
2627 PR libstdc++/59712
2628 * include/bits/hashtable_policy.h: Fix some long lines.
2629 * include/bits/hashtable.h (__hash_code_base_access): Define and
2630 use it to check its _M_bucket_index noexcept qualification. Use
2631 also in place of...
2632 (__access_protected_ctor): ...this.
2633 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2634 Adapt line number.
2635 * testsuite/23_containers/unordered_set/
2636 not_default_constructible_hash_neg.cc: Likewise.
2637
2638 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
2639
2640 * include/debug/set.h (set): Implement C++11 allocator-aware
2641 container requirements.
2642 * include/debug/map.h (map): Likewise.
2643 * include/debug/multiset.h (multiset): Likewise.
2644 * include/debug/multimap.h (multimap): Likewise.
2645 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
2646 fix implementation regarding management of safe iterators.
2647 * include/debug/map.h (map::operator=(map&&)): Likewise.
2648 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
2649 * include/debug/multimap.h (multimap::operator=(multimap&&)):
2650 Likewise.
2651 * include/debug/set.h (set::operator=(std::initializer_list<>)):
2652 Rely on the same operator from normal mode.
2653 * include/debug/map.h (map::operator=(std::initializer_list<>)):
2654 Likewise.
2655 * include/debug/multiset.h
2656 (multiset::operator=(std::initializer_list<>)): Likewise.
2657 * include/debug/multimap.h
2658 (multimap::operator=(std::initializer_list<>)): Likewise.
2659 * include/debug/set.h (set::swap(set&)): Add noexcept
2660 specification, add allocator equality check.
2661 * include/debug/map.h (map::swap(map&)): Likewise.
2662 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
2663 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
2664
2665 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
2666
2667 PR libstdc++/59698
2668 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
2669 and stylistic improvements.
2670 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
2671 and update for C++11.
2672 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
2673
2674 PR libstdc++/59687
2675 * doc/xml/manual/backwards_compatibility.xml
2676 (backwards.third.nocreate_noreplace): Correct and expand.
2677
2678 PR libstdc++/59699
2679 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2680
2681 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2682
2683 PR libstdc++/59738
2684 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2685 support for non-Movable types.
2686
2687 PR libstdc++/59680
2688 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2689
2690 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
2691
2692 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
2693 *this allocator instance when building temporary vector instance
2694 so that *this allocator does not get moved.
2695 * include/debug/safe_base.h
2696 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
2697 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
2698 move constructor from _Safe_sequence_base.
2699 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
2700 safe iterators if the instance is moved.
2701 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
2702 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
2703 check on a vector iterator.
2704 * testsuite/23_containers/vector/allocator/move_assign.cc
2705 (test02): Likewise.
2706 (test03): New, test with a non-propagating allocator.
2707 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2708
2709 2014-01-07 Tim Shen <timshen91@gmail.com>
2710
2711 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
2712 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
2713 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
2714 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
2715 _BracketMatcher<>::_M_add_char(),
2716 _BracketMatcher<>::_M_add_collating_element(),
2717 _BracketMatcher<>::_M_add_equivalence_class(),
2718 _BracketMatcher<>::_M_add_character_class(),
2719 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
2720 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
2721 Fix _AnyMatcher behavior of POSIX style and move _M_flags
2722 to template parameter; Add cache for _BracketMatcher. Adjust
2723 declarations from here...
2724 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
2725 imbuing a regex will trigger a recompilation to rebuild the cache.
2726 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
2727 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
2728 different template bool parameters.
2729 * include/bits/regex_executor.h: Remove unnecessary declarations.
2730 * include/std/regex: Adjust including orders.
2731 * testsuite/28_regex/traits/char/user_defined.cc: New.
2732 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
2733
2734 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2735
2736 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
2737 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
2738 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
2739 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
2740 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
2741
2742 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2743
2744 Update copyright years
2745
2746 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2747
2748 * testsuite/18_support/new_handler.cc,
2749 testsuite/18_support/terminate_handler.cc,
2750 testsuite/18_support/unexpected_handler.cc: Use the standard form for
2751 the copyright notice.
2752 \f
2753 Copyright (C) 2014 Free Software Foundation, Inc.
2754
2755 Copying and distribution of this file, with or without modification,
2756 are permitted in any medium without royalty provided the copyright
2757 notice and this notice are preserved.