1 2014-10-03 Jonathan Wakely <jwakely@redhat.com>
4 * doc/xml/manual/containers.xml: Remove outdated section.
5 * doc/html/*: Regenerate.
7 2014-10-02 Jonathan Wakely <jwakely@redhat.com>
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.
14 2014-10-02 Edward Smith-Rowland <3dw4rd@verizon.net>
16 * include/bits/stl_function.h: Generic associative lookup feature
18 * testsuite/experimental/feat-lib-fund.cc: <experimental/any> is
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:
32 2014-10-01 François Dumont <fdumont@gcc.gnu.org>
34 * python/libstdcxx/v6/printers.py (StdDebugIteratorPrinter.to_string):
35 Adapt to latest modifications on debug iterators.
37 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
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.
49 2014-10-01 Edward Smith-Rowland <3dw4rd@verizon.net>
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:
76 2014-09-30 Siva Chandra Reddy <sivachandra@google.com>
78 * python/hook.in: Only import libstdcxx.v6.
79 * python/libstdcxx/v6/__init__.py: Load printers and xmethods.
81 2014-09-30 Jonathan Wakely <jwakely@redhat.com>
83 * doc/xml/manual/status_cxx2011.xml: Update.
84 * doc/html/manual/status.html: Regenerate.
86 2014-09-30 Andreas Schwab <schwab@linux-m68k.org>
88 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: New
91 * configure.host (abi_baseline_pair): If try_cpu is generic use
92 host_cpu for the default.
94 2014-09-29 François Dumont <fdumont@gcc.gnu.org>
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
103 * include/debug/safe_local_iterator.h
104 (_Safe_local_iterator_base(const _Safe_local_iterator_base&)): Delete
106 (_Safe_local_iterator_base& operator=(const _Safe_local_iterator_base&)):
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.
115 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
118 * doc/xml/manual/status_cxx2011.xml: Update.
119 * include/bits/stl_uninitialized.h (uninitialized_fill_n): Return
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/
131 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
133 * include/bits/vector.tcc (vector::_M_fill_assign): Use _M_swap_data.
135 2014-09-25 Jonathan Wakely <jwakely@redhat.com>
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.
141 * testsuite/27_io/basic_ios/conv/bool_neg.cc: Add dg-do compile.
143 2014-09-25 Tim Shen <timshen@google.com>
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:
161 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
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.
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.
171 2014-09-24 François Dumont <fdumont@gcc.gnu.org>
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
201 * testsuite/23_containers/multimap/allocator/init-list.cc: New.
202 * testsuite/23_containers/multimap/allocator/move_assign.cc
204 * testsuite/23_containers/multiset/allocator/copy_assign.cc
206 * testsuite/23_containers/multiset/allocator/init-list.cc: New.
207 * testsuite/23_containers/multiset/allocator/move_assign.cc
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.
213 2014-09-24 Jonathan Wakely <jwakely@redhat.com>
216 * src/c++11/ios.cc (ios_base::_M_swap): Fix typo.
218 2014-09-23 Jonathan Wakely <jwakely@redhat.com>
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.
227 2014-09-22 Jason Merrill <jason@redhat.com>
229 * testsuite/Makefile.am (%/site.exp): Add @.
230 (check-DEJAGNU): Likewise.
231 * testsuite/Makefile.in: Regenerate.
233 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
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.
242 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
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.
248 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
250 * include/std/mutex (try_lock): Do not swallow exceptions.
251 * testsuite/30_threads/try_lock/4.cc: Fix test.
253 2014-09-22 Jonathan Wakely <jwakely@redhat.com>
257 * config/abi/pre/gnu.ver: Add new exports.
258 * config/io/basic_file_stdio.h (__basic_file): Support moving and
260 * include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
262 * include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
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
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
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
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.
319 2014-09-17 Jason Merrill <jason@redhat.com>
321 * libsupc++/dyncast.cc (__dynamic_cast): Handle mid-destruction
322 dynamic_cast more gracefully.
324 2014-09-15 Jakub Jelinek <jakub@redhat.com>
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.
346 2014-09-15 Jonathan Wakely <jwakely@redhat.com>
348 * include/bits/regex.h (basic_regex): Rename _Ch_typeraits template
349 parameters to _Ch_traits.
351 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
353 * include/debug/deque (__gnu_debug::deque): Make base class C++11
356 2014-09-12 Jonathan Wakely <jwakely@redhat.com>
359 * include/bits/stl_algo.h (random_shuffle): Prevent self-swapping.
360 * testsuite/25_algorithms/random_shuffle/59603.cc: New.
362 2014-09-11 Jonathan Wakely <jwakely@redhat.com>
365 * include/bits/regex.h (match_results::format): Remove stray template
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.
376 2014-09-10 Siva Chandra Reddy <sivachandra@google.com>
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
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.
390 2014-09-10 Tony Wang <tony.wang@arm.com>
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
397 2014-09-09 Jonathan Wakely <jwakely@redhat.com>
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:
430 * testsuite/23_containers/vector/52591.cc: Test both the propagating
431 and always-equal cases.
433 2014-09-06 François Dumont <fdumont@gcc.gnu.org>
435 * include/bits/hashtable_policy.h (_Prime_rehash_policy): Constructor
437 (_Hash_code_base<>): All specialization default constructible if
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
451 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc
453 * testsuite/23_containers/unordered_set/allocator/noexcept.cc
455 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc
458 2014-08-30 John David Anglin <danglin@gcc.gnu.org>
460 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
462 2014-08-29 Jonathan Wakely <jwakely@redhat.com>
464 * include/std/complex (complex): Define copy constructor and
465 assignment operator as defaulted. Improve Doxygen comments.
467 2014-08-28 Jonathan Wakely <jwakely@redhat.com>
469 * testsuite/ext/random/*: Fix incorrect standard references in
472 2014-08-27 Jonathan Wakely <jwakely@redhat.com>
475 * include/Makefile.am (install-freestanding-headers): Add missing
477 * include/Makefile.in: Regenerate.
479 2014-08-21 Tony Wang <tony.wang@arm.com>
481 * testsuite/18_support/nested_exception/62154.cc: Disable when the
482 target doesn't provide atomic builtins.
484 2014-08-19 Yaakov Selkowitz <yselkowi@redhat.com>
485 Kai Tietz <ktietz@redhat.com>
487 * config/os/mingw32-w64/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
489 * config/os/newlib/os_defines.h (_GLIBCXX_THREAD_ATEXIT_WIN32):
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.
497 2014-08-15 Jonathan Wakely <jwakely@redhat.com>
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.
504 2014-08-14 Matthias Klose <doko@ubuntu.com>
506 * testsuite/ext/random/uniform_on_sphere_distribution/requirements:
507 Remove empty directory.
509 2014-08-14 Paolo Carlini <paolo.carlini@oracle.com>
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.
516 2014-08-13 Jonathan Wakely <jwakely@redhat.com>
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.
525 2014-08-13 Sylvestre Ledru <sylvestre@debian.org>
527 * include/profile/impl/profiler_hash_func.h: Fix a comment typo
529 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
531 * Fix thinko in the last commit.
533 2014-08-13 Paolo Carlini <paolo.carlini@oracle.com>
536 * include/ext/random.tcc (uniform_on_sphere_helper<2, _RealType>::
537 operator()): Use std::hypot only when _GLIBCXX_USE_C99_MATH_TR1.
539 2014-08-12 Jonathan Wakely <jwakely@redhat.com>
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:
545 * testsuite/21_strings/basic_string/inserters_extractors/wchar_t/12.cc:
548 * include/bits/basic_string.h (getline): Declare inline.
550 2014-08-09 Ulrich Drepper <drepper@gmail.com>
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.
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
563 * testsuite/ext/random/uniform_on_sphere_distribution/operators/
564 generate.cc: New file.
566 2014-08-09 Paolo Carlini <paolo.carlini@oracle.com>
568 * include/ext/pod_char_traits.h (char_traits<__gnu_cxx::
569 character<_Value, _Int, _St> >::eof): Fix vs narrowing conversion.
571 2014-08-09 François Dumont <fdumont@gcc.gnu.org>
574 * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Use
575 _M_need_rehash to initialize the rehash policy and check if a rehash is
577 * testsuite/23_containers/unordered_map/modifiers/61667.cc: New.
579 2014-08-07 Jonathan Wakely <jwakely@redhat.com>
581 * include/bits/stl_list.h (_List_base::_List_base(_List_base&&)):
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:
587 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
589 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
592 * include/std/future (_State_baseV2::_M_set_result): Pass pointers to
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
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.
607 * include/std/future (__location_invariant): Move specializations
608 after preprocessor condition.
610 2014-08-02 Paolo Carlini <paolo.carlini@oracle.com>
613 * testsuite/26_numerics/headers/complex/synopsis.cc: Fix.
615 2014-08-01 Zifei Tong <zifeitong@gmail.com>
617 * libsupc++/atexit_thread.cc (HAVE___CXA_THREAD_ATEXIT_IMPL): Add
618 _GLIBCXX_ prefix to macro.
620 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
622 * python/libstdcxx/v6/printers.py
623 (SingleObjContainerPrinter._contained): Use compatibility mixin.
625 2014-07-29 François Dumont <fdumont@gcc.gnu.org>
627 * testsuite/util/testsuite_allocator.h
628 (tracker_allocator_counter::allocate): Remove new invocation, only
630 (tracker_allocator_counter::deallocate): Remove delete invocation, only
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:
644 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
646 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
648 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
650 * testsuite/23_containers/vector/debug/move_assign_neg.cc: Likewise.
652 2014-07-29 Jonathan Wakely <jwakely@redhat.com>
655 * include/ext/rope (rope::rope(char_producer<_CharT>*, size_t, bool,
656 const allocator_type&)): Pass non-const allocator to
658 * testsuite/ext/rope/61946.cc: New.
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.
667 2014-07-29 Ed Smith-Rowland <3dw4rd@verizon.net>
669 PR libstdc++/60037 - SIGFPE in std::generate_canonical<unsigned int...>
670 * include/bits/random.h (_Adaptor): static_assert for non floating-point
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.
678 2014-07-25 Uros Bizjak <ubizjak@gmail.com>
680 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
682 2014-07-25 Ed Smith-Rowland <3dw4rd@verizon.net>
684 * include/experimental/string_view: Make the literal operators
685 constexpr like the ctors they call.
687 2014-07-23 H.J. Lu <hongjiu.lu@intel.com>
689 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
691 2014-07-23 Jonathan Wakely <jwakely@redhat.com>
693 * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Convert type
694 to string instead of using gdb.Type.name attribute.
696 2014-07-19 Jonathan Wakely <jwakely@redhat.com>
698 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): Replace AC_MSG_RESULT with
701 2014-07-18 Jonathan Wakely <jwakely@redhat.com>
704 * python/libstdcxx/v6/printers.py (TemplateTypePrinter): Use
706 (SingleObjContainerPrinter): Check if type printers are in use.
708 2014-07-16 Paolo Carlini <paolo.carlini@oracle.com>
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.
719 2014-07-15 Jonathan Wakely <jwakely@redhat.com>
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.
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.
733 2014-07-15 Tim Shen <timshen@google.com>
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.
740 2014-07-14 Ulrich Drepper <drepper@gmail.com>
742 * include/ext/random.tcc: Unfortunately more fixes for
743 operator>> and operator<< for uniform_on_sphere_distribution.
745 2014-07-13 Ulrich Drepper <drepper@gmail.com>
747 * include/ext/random.tcc: Fix operator>> and operator<< for
748 uniform_on_sphere_distribution.
750 2014-07-12 Ulrich Drepper <drepper@gmail.com>
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.
764 2014-07-11 Edward Smith-Rowland <3dw4rd@verizon.net>
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:
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:
778 2014-07-11 Samuel Bronson <naesten@gmail.com>
780 * testsuite/lib/libstdc++.exp (libstdc++_init): Set $GCC_COLORS=""
781 instead of insisting that GCC understand -fdiagnostics-color=never
783 * testsuite/lib/gdb-test.exp (gdb-test): Turn off GDB's auto-load,
786 2014-07-11 Samuel Bronson <naesten@gmail.com>
787 Matthias Klose <doko@ubuntu.com>
790 * python/libstdcxx/v6/printers.py: Port to Python 2+3
791 (imap): New compat function.
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)
798 2014-07-10 Jonathan Wakely <jwakely@redhat.com>
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
804 * testsuite/experimental/any/cons/4.cc: New.
806 2014-07-09 Jason Merrill <jason@redhat.com>
809 * libsupc++/cxxabi.h: Define __pbase_type_info::__pointer_catch here.
810 * libsupc++/tinfo.h: Not here.
812 2014-07-08 Jonathan Wakely <jwakely@redhat.com>
814 * include/bits/allocated_ptr.h (__allocated_ptr::operator=): Add
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.
821 2014-07-01 Tim Shen <timshen@google.com>
825 * include/bits/regex_automaton.h (_NFA<>::_M_insert_state): Add
826 a NFA state limit. If it's exceeded, regex_constants::error_space
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
835 2014-07-01 Tim Shen <timshen@google.com>
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
851 2014-06-30 Jason Merrill <jason@redhat.com>
853 * libsupc++/cxxabi.h (class __pbase_type_info): __pointer_catch
856 2014-06-28 Paolo Carlini <paolo.carlini@oracle.com>
859 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
860 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
863 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
865 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
867 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
869 2014-06-26 Jonathan Wakely <jwakely@redhat.com>
871 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
874 2014-06-25 Jonathan Wakely <jwakely@redhat.com>
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):
880 * include/ext/alloc_traits.h: Fix comment.
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
899 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
901 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
903 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
904 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
906 2014-06-24 Jonathan Wakely <jwakely@redhat.com>
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.
919 2014-06-23 Jonathan Wakely <jwakely@redhat.com>
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
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:
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.
944 2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
945 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
948 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
950 2014-06-14 Jonathan Wakely <jwakely@redhat.com>
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
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.
970 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
971 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
973 * include/bits/shared_ptr.h (shared_ptr): Likewise.
974 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
976 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
978 * include/parallel/list_partition.h (__parallel::list_partition):
980 * include/std/iomanip (quoted): Likewise.
981 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
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.
1001 * include/experimental/any (any_cast): Combine duplicate doxygen
1003 * include/experimental/string_view (basic_string_view): Update
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
1011 2014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
1013 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
1014 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
1016 2014-06-10 Jonathan Wakely <jwakely@redhat.com>
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.
1023 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
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
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.
1054 2014-06-09 Jonathan Wakely <jwakely@redhat.com>
1056 * include/tr1/beta_function.tcc: Fix spelling of include guard in
1059 2014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
1061 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
1063 2014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
1070 2014-06-06 François Dumont <fdumont@gcc.gnu.org>
1072 * testsuite/23_containers/map/operators/1.cc: Simplify test.
1074 2014-06-06 Jonathan Wakely <jwakely@redhat.com>
1076 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
1078 * doc/xml/manual/backwards_compatibility.xml
1079 (backwards.second.stringstreams): Likewise.
1080 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
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.
1093 2014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
1097 * testsuite/20_util/is_assignable/value.cc: Update.
1099 2014-06-02 Jonathan Wakely <jwakely@redhat.com>
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.
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
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
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.
1136 2014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1137 Jonathan Wakely <jwakely@redhat.com>
1139 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
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
1148 2014-06-01 Jonathan Wakely <jwakely@redhat.com>
1151 * include/experimental/string_view (operator basic_string): Correct
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:
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:
1167 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
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.
1175 2014-05-30 Jonathan Wakely <jwakely@redhat.com>
1177 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
1178 work with previous versions of Tcl.
1180 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
1181 Benjamin's old email address.
1183 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
1184 Paolo's address too.
1186 2014-05-29 Jonathan Wakely <jwakely@redhat.com>
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.
1193 2014-05-27 Jonathan Wakely <jwakely@redhat.com>
1196 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
1198 (_State_base::_M_dot): Likewise.
1200 2014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
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.
1207 2014-05-24 François Dumont <fdumont@gcc.gnu.org>
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<>):
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
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.
1236 2014-05-23 Jonathan Wakely <jwakely@redhat.com>
1239 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
1240 dragonfly target selector to all tests that run on freebsd.
1242 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
1244 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
1245 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
1247 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
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.
1273 2014-05-21 François Dumont <fdumont@gcc.gnu.org>
1276 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
1278 * testsuite/23_containers/unordered_set/61143.cc: New.
1279 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
1281 2014-05-21 Jonathan Wakely <jwakely@redhat.com>
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:
1290 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
1293 2014-05-21 John Marino <gnugcc@marino.st>
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.
1305 2014-05-20 Cesar Philippidis <cesar@codesourcery.com>
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.
1312 2014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1316 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1319 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1320 and add unwind directives.
1322 2014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
1324 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
1326 2014-05-20 Tim Shen <timshen91@gmail.com>
1329 * include/bits/regex_compiler.h
1330 (_BracketMatcher<>::_M_add_character_class): Add negative character
1332 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
1334 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
1337 2014-05-19 Jonathan Wakely <jwakely@redhat.com>
1339 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
1341 2014-05-17 Marc Glisse <marc.glisse@inria.fr>
1343 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
1344 * libsupc++/new_opnt.cc: Likewise.
1346 2014-05-17 Jonathan Wakely <jwakely@redhat.com>
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
1354 * testsuite/30_threads/promise/60966.cc: New.
1356 2014-05-16 Iain Sandoe <iain@codesourcery.com>
1357 Sandra Loosemore <sandra@codesourcery.com>
1359 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
1360 until after checking that the test is eligible to be run.
1362 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
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:
1368 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
1371 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
1374 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
1375 and add unwind directives.
1377 2014-05-16 Jonathan Wakely <jwakely@redhat.com>
1379 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
1381 * include/std/chrono (chrono_literals::__select_type::_Select_type):
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.
1387 2014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
1388 Jonathan Wakely <jwakely@redhat.com>
1391 * include/bits/parse_numbers.h: Use integral_constant to remove
1392 duplication and simplify.
1393 * testsuite/20_util/duration/literals/61166.cc: New.
1395 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
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:
1405 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
1407 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
1409 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
1412 2014-05-15 Jonathan Wakely <jwakely@redhat.com>
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.
1420 2014-05-14 Jonathan Wakely <jwakely@redhat.com>
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.
1435 2014-05-13 Jonathan Wakely <jwakely@redhat.com>
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.
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.
1458 2014-05-09 Jonathan Wakely <jwakely@redhat.com>
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.
1467 2014-05-08 Joshua Gay <jgay@gnu.org>
1470 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
1471 source" with "free software".
1472 * doc/html/faq.html: Likewise.
1474 2014-05-08 Jonathan Wakely <jwakely@redhat.com>
1477 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
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.
1488 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
1490 * include/std/iostream: Fix URL in comment.
1491 * src/c++98/ios_init.cc: Fix path in comment.
1493 2014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
1495 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
1496 * configure: Regenerate.
1498 2014-05-07 Jonathan Wakely <jwakely@redhat.com>
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.
1506 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
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:
1521 2014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
1523 * include/Makefile.in: Regenerate.
1525 2014-05-06 François Dumont <fdumont@gcc.gnu.org>
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
1534 * include/debug/forward_list (std::__debug::forward_list<>):
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
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
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
1572 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
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:
1579 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
1580 * testsuite/23_containers/multiset/allocator/move_assign.cc:
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:
1586 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
1588 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
1590 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
1592 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
1594 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
1596 * testsuite/23_containers/unordered_set/allocator/move.cc:
1598 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
1600 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
1602 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
1604 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
1606 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
1608 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
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:
1625 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
1627 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
1628 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
1630 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
1632 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
1634 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
1636 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
1638 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
1640 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
1642 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
1644 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
1645 * testsuite/23_containers/vector/debug/move_neg.cc: New.
1647 2014-05-05 Andreas Schwab <schwab@linux-m68k.org>
1649 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
1650 (CXXABI_1.3.9): Remove __float128 symbols.
1652 2014-05-02 Jonathan Wakely <jwakely@redhat.com>
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
1660 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
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.
1667 2014-04-27 Tim Shen <timshen91@gmail.com>
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):
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().
1683 2014-04-27 Tim Shen <timshen91@gmail.com>
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
1691 2014-04-27 Tim Shen <timshen91@gmail.com>
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.
1700 2014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
1703 * include/experimental/optional (operator!=): Implement in terms of
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.
1712 2014-04-25 Jonathan Wakely <jwakely@redhat.com>
1715 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
1716 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
1719 2014-04-25 Marc Glisse <marc.glisse@inria.fr>
1721 * testsuite/util/testsuite_abi.cc (check_version): Update for
1724 2014-04-24 Tim Shen <timshen91@gmail.com>
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.
1730 2014-04-24 Marc Glisse <marc.glisse@inria.fr>
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.
1737 2014-04-24 Andreas Schwab <schwab@suse.de>
1739 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
1740 new CXXABI_1.3.9 symbols.
1742 2014-04-23 Andreas Schwab <schwab@linux-m68k.org>
1744 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
1745 (CXXABI_1.3.9): New version.
1747 2014-04-22 Marc Glisse <marc.glisse@inria.fr>
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.
1754 2014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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):
1767 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
1768 Remove Solaris 9 reference.
1769 * doc/html/manual/configure.html: Regenerate.
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:
1776 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
1779 2014-04-16 Jonathan Wakely <jwakely@redhat.com>
1781 * include/std/functional (__is_location_invariant): Use __or_ helper.
1783 2014-04-15 Jonathan Wakely <jwakely@redhat.com>
1786 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
1789 * include/std/atomic (atomic<_Tp>): Add static assertion.
1790 * testsuite/29_atomics/atomic/60695.cc: New.
1793 * include/std/functional (function::_Callable): Exclude own type
1794 from the callable checks.
1795 * testsuite/20_util/function/60594.cc: New.
1797 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
1798 const to constexpr member functions.
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
1805 * include/std/atomic: Uglify parameter names.
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/
1812 * testsuite/20_util/tuple/53648.cc: Likweise.
1813 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
1815 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
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:
1823 * testsuite/23_containers/unordered_multimap/requirements/
1824 explicit_instantiation/3.cc: Likewise.
1825 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
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.
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.
1839 * include/experimental/string_view: Fix inconsistent exception specs.
1841 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
1842 Remove name of unused parameter.
1844 2014-04-14 Jonathan Wakely <jwakely@redhat.com>
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.
1852 * include/bits/allocator.h (operator==, operator!=): Add exception
1856 * include/std/tuple (get): Qualify calls to prevent ADL.
1857 * testsuite/20_util/tuple/60497.cc: New.
1859 * include/std/tuple (tuple_element_t): Define.
1860 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
1862 * testsuite/20_util/tuple/tuple_element_t.cc: New.
1864 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
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.
1871 2014-04-11 Marc Glisse <marc.glisse@inria.fr>
1873 * include/std/complex (__complex_exp, pow): Specify the template
1874 parameter in calls to std::polar, for expression templates.
1876 2014-04-10 Andreas Schwab <schwab@suse.de>
1878 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1880 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1881 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1883 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1885 2014-04-07 Jonathan Wakely <jwakely@redhat.com>
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
1892 2014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1893 Jack Howarth <howarth@bromo.med.uc.edu>
1896 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1899 2014-04-01 Jonathan Wakely <jwakely@redhat.com>
1901 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1903 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
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.
1911 2014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1912 Jonathan Wakely <jwakely@redhat.com>
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.
1919 2014-03-31 Jonathan Wakely <jwakely@redhat.com>
1921 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1923 2014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
1929 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
1931 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1933 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1934 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1936 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1938 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
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.
1946 * doc/html/*: Regenerate.
1948 2014-03-27 Jonathan Wakely <jwakely@redhat.com>
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.
1958 2014-03-25 Jonathan Wakely <jwakely@redhat.com>
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.
1965 2014-03-24 Jakub Jelinek <jakub@redhat.com>
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
1979 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1981 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1983 2014-03-23 François Dumont <fdumont@gcc.gnu.org>
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)):
1991 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1993 2014-03-23 John David Anglin <danglin@gcc.gnu.org>
1996 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1998 2014-03-21 Jonathan Wakely <jwakely@redhat.com>
2001 * include/debug/functions.h (_Is_contiguous_sequence): Define.
2002 (__foreign_iterator): Accept additional iterator. Do not dispatch on
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
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.
2022 2014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2024 * crossconfig.m4: Support spu-*-elf* targets.
2025 * configure: Regenerate.
2027 2014-03-18 Jonathan Wakely <jwakely@redhat.com>
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.
2036 2014-03-16 François Dumont <fdumont@gcc.gnu.org>
2038 * scripts/create_testsuite_files: Add testsuite/experimental in
2039 the list of folders to search for tests.
2041 2014-03-15 Andreas Schwab <schwab@linux-m68k.org>
2043 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
2045 2014-03-15 Tim Shen <timshen91@gmail.com>
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.
2053 2014-03-14 Jonathan Wakely <jwakely@redhat.com>
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.
2059 2014-03-12 Roland McGrath <mcgrathr@google.com>
2060 Mark Seaborn <mseaborn@google.com>
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.
2068 2014-03-11 Jonathan Wakely <jwakely@redhat.com>
2071 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
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
2095 2014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
2097 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
2098 for filesystem and fundamentals TS work items.
2100 2014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
2103 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
2104 Adjust dg-error directives.
2106 2014-02-26 Tim Shen <timshen91@gmail.com>
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:
2112 * testsuite/28_regex/match_results/format.cc: Likewise.
2114 2014-02-22 Marc Glisse <marc.glisse@inria.fr>
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.
2124 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
2126 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
2129 2014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
2131 Rename testsuite directory shared_mutex to shared_timed_mutex
2133 * testsuite/30_threads/shared_mutex: Moved to...
2134 * testsuite/30_threads/shared_timed_mutex: ...here
2136 2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
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.
2163 2014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
2169 2014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
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.
2175 2014-01-29 Jonathan Wakely <jwakely@redhat.com>
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&)):
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:
2199 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
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:
2216 * include/ext/array_allocator.h: Add deprecated attribute.
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.
2224 2014-01-28 Jonathan Wakely <jwakely@redhat.com>
2225 Kyle Lippincott <spectral@google.com>
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
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.
2241 2014-01-27 Jonathan Wakely <jwakely@redhat.com>
2244 * include/bits/shared_ptr_base.h
2245 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
2248 2014-01-27 Jason Merrill <jason@redhat.com>
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.
2257 2014-01-26 Jonathan Wakely <jwakely@redhat.com>
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.
2268 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
2269 * configure: Regenerate.
2271 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2274 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
2275 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2277 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2278 Peter A. Bigot <pab@pabigot.com>
2281 * include/experimental/string_view
2282 (copy(_CharT*, size_type, size_type) const): Correct throw string.
2283 Correct copy start location.
2285 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2286 Peter A. Bigot <pab@pabigot.com>
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.
2295 2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
2296 Peter A. Bigot <pab@pabigot.com>
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:
2307 2014-01-24 Jonathan Wakely <jwakely@redhat.com>
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.
2317 2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2318 Steve Ellcey <sellcey@mips.com>
2320 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
2322 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
2323 * (configure, config.h.in): Regenerate.
2324 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
2326 2014-01-23 Jonathan Wakely <jwakely@redhat.com>
2328 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
2329 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
2332 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
2333 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
2335 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
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.
2345 2014-01-22 Jonathan Wakely <jwakely@redhat.com>
2347 * include/bits/stl_deque.h (_Deque_impl): Move comment.
2350 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
2351 Split into separate default constructor and constructor taking
2353 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
2354 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
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&)):
2360 * include/debug/multimap.h
2361 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
2362 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
2364 * include/debug/multiset.h
2365 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
2366 * include/debug/vector (vector::vector(const allocator_type&)):
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&)):
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:
2395 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
2397 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
2399 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2401 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2403 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
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:
2422 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
2424 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
2426 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
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:
2435 2014-01-21 Tim Shen <timshen91@gmail.com>
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.
2441 2014-01-21 Jonathan Wakely <jwakely@redhat.com>
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.
2453 2014-01-20 François Dumont <fdumont@gcc.gnu.org>
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
2468 2014-01-20 Jonathan Wakely <jwakely@redhat.com>
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.
2491 2014-01-19 Tim Shen <timshen91@gmail.com>
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()):
2497 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
2499 2014-01-17 François Dumont <fdumont@gcc.gnu.org>
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<>)):
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
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.
2532 2014-01-17 Tim Shen <timshen91@gmail.com>
2534 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
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()):
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>.
2548 2014-01-17 Tim Shen <timshen91@gmail.com>
2550 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
2551 basic_regex<>::assign()): Change __compile_nfa to accept
2553 * include/bits/regex_compiler.h: Change _Compiler's template
2554 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
2555 * include/bits/regex_compiler.tcc: Likewise.
2557 2014-01-17 Tim Shen <timshen91@gmail.com>
2559 * include/bits/regex_compiler.h: Change _ScannerT into char-type
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
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()):
2569 * include/std/regex: Add <cstring> for using strchr.
2571 2014-01-17 Tim Shen <timshen91@gmail.com>
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.
2580 2014-01-15 François Dumont <fdumont@gcc.gnu.org>
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
2587 (__access_protected_ctor): ...this.
2588 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
2590 * testsuite/23_containers/unordered_set/
2591 not_default_constructible_hash_neg.cc: Likewise.
2593 2014-01-13 François Dumont <fdumont@gcc.gnu.org>
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&&)):
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<>)):
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.
2620 2014-01-10 Jonathan Wakely <jwakely@redhat.com>
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.
2630 * doc/xml/manual/backwards_compatibility.xml
2631 (backwards.third.nocreate_noreplace): Correct and expand.
2634 * doc/xml/manual/support.xml (std.support.types.null): Update links.
2636 2014-01-09 Jonathan Wakely <jwakely@redhat.com>
2639 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
2640 support for non-Movable types.
2643 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
2645 2014-01-08 François Dumont <fdumont@gcc.gnu.org>
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
2661 (test03): New, test with a non-propagating allocator.
2662 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
2664 2014-01-07 Tim Shen <timshen91@gmail.com>
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.
2689 2014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
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.
2697 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2699 Update copyright years
2701 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
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.
2708 Copyright (C) 2014 Free Software Foundation, Inc.
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.