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