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