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