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