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