re PR libstdc++/66327 (-fsanitize=nonnull-attribute errors in stl_algobase.h)
[gcc.git] / libstdc++-v3 / ChangeLog
1 2015-05-29 Jonathan Wakely <jwakely@redhat.com>
2
3 PR libstdc++/66327
4 * include/bits/stl_algobase.h (__equal<true>::equal): Do not call
5 memcmp with null pointers.
6 (__lexicographical_compare<true>::__lc): Do not call memcmp for empty
7 ranges.
8
9 2015-05-28 Jonathan Wakely <jwakely@redhat.com>
10
11 PR libstdc++/65352
12 * include/profile/array (array::data): Use _S_ptr.
13 * include/debug/array (array::data): Likewise.
14
15 PR libstdc++/65352
16 * include/std/array (__array_traits::_S_ptr): New function.
17 (array::data): Use _S_ptr to avoid creating invalid reference.
18 * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
19 dg-error line numbers.
20 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
21 likewise.
22
23 2015-05-27 Jonathan Wakely <jwakely@redhat.com>
24
25 * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr
26 instead of downcasting.
27 (_Rb_tree::_M_copy): Change second parameter to _Base_ptr.
28 (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise.
29 (_Rb_tree::_S_iter): Remove.
30 (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove.
31 (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr
32 instead of _S_lower_bound_tr
33 (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload.
34 (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here
35 instead of calling _S_lower_bound_tr.
36 (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload.
37 (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here
38 instead of calling _S_upper_bound_tr.
39 (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload.
40 (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise.
41 (_Rb_tree::equal_range): Use _Base_ptr for end pointer.
42 (_Rb_tree::_M_get_insert_unique_pos): Likewise.
43 (_Rb_tree::_M_get_insert_equal_pos): Likewise.
44 (_Rb_tree::_M_insert_equal_lower_node): Likewise.
45 (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique,
46 _Rb_tree::_M_emplace_hint_unique): Remove static_cast.
47
48 PR libstdc++/66017
49 * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf.
50 (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction
51 from _Base_ptr.
52 (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast.
53 (_Rb_tree::begin, _Rb_tree::end): Remove static_cast.
54 * include/ext/aligned_buffer.h (__aligned_membuf): New type using
55 alignment of _Tp as a member subobject, not as a complete object.
56 * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup
57 _Link_type manually as it might not be in the debug info.
58
59 2015-05-26 Doug Evans <dje@google.com>
60
61 * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add
62 operator-> support.
63 * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for
64 operator->.
65
66 2015-05-26 Jonathan Wakely <jwakely@redhat.com>
67
68 * include/bits/locale_conv.h: Fix copyright years.
69 * include/bits/quoted_string.h: Likewise.
70 * src/filesystem/Makefile.am: Likewise.
71 * testsuite/22_locale/conversions/buffer/1.cc: Likewise.
72 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc:
73 Likewise.
74 * testsuite/22_locale/conversions/string/1.cc: Likewise.
75 * testsuite/22_locale/conversions/string/2.cc: Likewise.
76 * testsuite/22_locale/conversions/string/3.cc: Likewise.
77 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
78 Likewise.
79 * testsuite/22_locale/conversions/string/requirements/typedefs.cc:
80 Likewise.
81 * testsuite/util/testsuite_fs.h: Likewise.
82
83 2015-05-23 François Dumont fdumont@gcc.gnu.org>
84
85 PR libstdc++/64657
86 * include/debug/functions.h (__check_sorted_aux): Cast expression to
87 void.
88
89 2015-05-21 David Edelsohn <dje.gcc@gmail.com>
90
91 PR target/66224
92 * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER):
93 Don't use isync. Use lwsync if available.
94 * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use
95 powerpc cpu definition.
96
97 2015-05-21 Jason Merrill <jason@redhat.com>
98
99 * libsupc++/del_opv.cc: Suppress -Wsized-deallocation.
100 * libsupc++/del_op.cc: Likewise.
101
102 2015-05-20 François Dumont fdumont@gcc.gnu.org>
103
104 * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify
105 usage of typeid.
106 (_Error_formatter::_M_print_type): New.
107 * src/c++11/debug.cc
108 (_Error_formatter::_Parameter::_M_print_field): Use latter.
109 (_Error_formatter::_M_print_type): Implement latter using
110 __cxaabiv1::__cxa_demangle to print demangled type name.
111
112 * include/bits/cpp_type_traits.h
113 (std::move_iterator): Delete declaration.
114 (std::__is_move_iterator<move_iterator>): Move partial specialization...
115 * include/bits/stl_iterator.h: ... here.
116 (std::__miter_base): Overloads for std::reverse_iterator and
117 std::move_iterator.
118 * include/bits/stl_algobase.h (std::__miter_base): Provide default
119 implementation.
120
121 2015-05-20 Jonathan Wakely <jwakely@redhat.com>
122
123 * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam.
124
125 PR libstdc++/66078
126 * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add
127 overload for pointers.
128 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
129 808590.cc: Add -std=gnu++03 switch.
130 * testsuite/20_util/specialized_algorithms/uninitialized_copy/
131 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11.
132 * testsuite/23_containers/vector/modifiers/push_back/
133 strong_guarantee.cc: New.
134
135 2015-05-19 Jonathan Wakely <jwakely@redhat.com>
136
137 * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare.
138 (operator==(const list&, const list&)): If size() is O(1) compare
139 sizes before comparing each element.
140 * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define.
141 (list::resize): Use _M_resize_pos.
142
143 2015-05-19 François Dumont <fdumont@gcc.gnu.org>
144
145 * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor
146 invocations.
147 * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise.
148 * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise.
149 * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise.
150
151 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
152
153 * configure.host: Define cpu_defines_dir for ARM.
154 * config/cpu/arm/cpu_defines.h: New file.
155
156 2015-05-17 François Dumont <fdumont@gcc.gnu.org>
157
158 * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add
159 missing constructors.
160 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
161 Likewise.
162 * include/debug/unordered_map (unordered_map, unordered_multimap): Add
163 missing constructors.
164 * include/debug/unordered_set (unordered_set, unordered_multiset):
165 Likewise.
166 * include/profile/unordered_map (unordered_map, unordered_multimap): Add
167 missing constructors.
168 * include/profile/unordered_set (unordered_set, unordered_multiset):
169 Likewise.
170
171 2015-05-15 Jonathan Wakely <jwakely@redhat.com>
172
173 * src/filesystem/ops.cc (stat_type): Define alias for struct stat and
174 use throughout the file.
175 (make_file_type): New function.
176 (file_size(const path&, error_code&)): Report an error for anything
177 that isn't a regular file.
178 (status(const path&), symlink_status(const path&)): Do not throw for
179 file_type::not_found.
180 (temp_directory_path()): Check additional environment variables.
181 * testsuite/experimental/filesystem/operations/exists.cc: New.
182 * testsuite/experimental/filesystem/operations/file_size.cc: New.
183 * testsuite/experimental/filesystem/operations/status.cc: New.
184 * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
185 New.
186
187 2015-05-14 Nathan Myers <ncm@cantrip.org>
188 Jonathan Wakely <jwakely@redhat.com>
189
190 PR libstdc++/66055
191 * include/std/unordered_map (unordered_map, unordered_multimap): Add
192 missing constructors.
193 * include/std/unordered_set (unordered_set, unordered_multiset):
194 Likewise.
195 * testsuite/23_containers/unordered_map/cons/66055.cc: New.
196 * testsuite/23_containers/unordered_multimap/cons/66055.cc: New.
197 * testsuite/23_containers/unordered_multiset/cons/66055.cc: New.
198 * testsuite/23_containers/unordered_set/cons/66055.cc: New.
199
200 2015-05-14 Jonathan Wakely <jwakely@redhat.com>
201
202 PR libstdc++/66011
203 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and
204 sendfile.
205 * config.h.in: Regenerate.
206 * configure: Regenerate.
207 * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do
208 not return after copying contents. Use fchmod, fchmodat, and sendfile
209 when available.
210 (current_path, permissions, space): Use errno not return value.
211
212 PR libstdc++/66018
213 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct
214 dirent.d_type.
215 * config.h.in: Regenerate.
216 * configure: Regenerate.
217 * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove.
218
219 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
220
221 * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete.
222 * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS.
223 * config.h.in: Regenerate.
224 * configure: Likewise.
225 * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by
226 __USING_SJLJ_EXCEPTIONS__.
227 * libsupc++/eh_throw.cc: Likewise.
228 * libsupc++/eh_ptr.cc: Likewise.
229 * doc/html/manual/appendix_porting.html: Remove
230 GLIBCXX_ENABLE_SJLJ_EXCEPTIONS
231 * doc/xml/manual/build_hacking.xml: Likewise.
232 * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions.
233 * doc/xml/manual/configure.xml: Likewise.
234
235 2015-05-13 Jonathan Wakely <jwakely@redhat.com>
236
237 * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check
238 for nullptr (LWG 2415).
239 * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test
240 construction from empty unique_ptr.
241 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
242 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
243
244 * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()):
245 Define (LWG 2454).
246 * testsuite/20_util/raw_storage_iterator/base.cc: New.
247
248 * include/std/future (packaged_task(allocator_arg_t, const A&, F&&):
249 Remove explicit (LWG 2407).
250
251 * include/bits/basic_string.h (basic_string::basic_string()): Make
252 noexcept conditional on allocator (LWG 2455).
253
254 * include/std/complex (polar): Check for negative rho (LWG 2459).
255
256 * include/experimental/tuple (apply): Handle pointers to member (LWG
257 2418).
258 * include/std/functional (_Mem_fn_base): Make constructors constexpr.
259 (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr.
260 * testsuite/experimental/tuple/apply.cc: Test pointer to member.
261
262 * include/bits/random.h (seed_seq): More noexcept (LWG 2440).
263
264 * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466.
265 * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust.
266 * testsuite/23_containers/forward_list/allocator/minimal.cc:
267 Likewise.
268 * testsuite/23_containers/map/allocator/minimal.cc: Likewise.
269 * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise.
270 * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise.
271 * testsuite/23_containers/set/allocator/minimal.cc: Likewise.
272 * testsuite/23_containers/unordered_map/allocator/minimal.cc:
273 Likewise.
274 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc:
275 Likewise.
276 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc:
277 Likewise.
278 * testsuite/23_containers/unordered_set/allocator/minimal.cc:
279 Likewise.
280 * testsuite/util/testsuite_allocator.h: Remove unused parameter.
281
282 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris.
283 * configure: Regenerate.
284
285 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
286
287 * Makefile.in: Regenerated with automake-1.11.6.
288 * aclocal.m4: Likewise.
289 * configure: Likewise.
290 * doc/Makefile.in: Likewise.
291 * include/Makefile.in: Likewise.
292 * libsupc++/Makefile.in: Likewise.
293 * po/Makefile.in: Likewise.
294 * python/Makefile.in: Likewise.
295 * src/Makefile.in: Likewise.
296 * src/c++11/Makefile.in: Likewise.
297 * src/c++98/Makefile.in: Likewise.
298 * src/filesystem/Makefile.in: Likewise.
299 * testsuite/Makefile.in: Likewise.
300
301 2015-05-09 Jason Merrill <jason@redhat.com>
302
303 * testsuite/20_util/headers/functional/synopsis.cc: Add
304 _GLIBCXX14_CONSTEXPR.
305 * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise.
306
307 2015-05-08 Jason Merrill <jason@redhat.com>
308
309 * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98.
310 * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98.
311 * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98.
312 * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98.
313 * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98.
314 * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98.
315 * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98.
316 * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98.
317 * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98.
318 * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98.
319 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
320 Likewise.
321 * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated.
322 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
323 Adjust expected errors.
324 * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc:
325 Likewise.
326 * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc:
327 Likewise.
328 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
329 Likewise.
330 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
331 Likewise.
332 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
333 Likewise.
334 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
335 Likewise.
336 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
337 Likewise.
338 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
339 Likewise.
340 * testsuite/23_containers/vector/requirements/dr438
341 /constructor_1_neg.cc: Likewise.
342 * testsuite/23_containers/vector/requirements/dr438
343 /constructor_2_neg.cc: Likewise.
344 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
345 Likewise.
346 * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated.
347 * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated.
348 * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated.
349 * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated.
350 * testsuite/ext/array_allocator/check_allocate_max_size.cc:
351 Add -Wno-deprecated.
352 * testsuite/ext/array_allocator/check_deallocate_null.cc:
353 Add -Wno-deprecated.
354 * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated.
355 * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated.
356 * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error.
357 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
358 Add -std=c++98.
359 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
360 Add -std=c++98.
361 * testsuite/tr1/2_general_utilities/shared_ptr/assign
362 /auto_ptr_rvalue_neg.cc: Add -std=c++98.
363 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
364 Add -std=c++98 -fno-show-column.
365 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
366 Add -std=c++98.
367 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
368 Add -std=c++98.
369 * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98.
370 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98.
371
372 * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
373 * src/c++98/Makefile.in: Regenerate.
374 * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98.
375 * src/Makefile.in: Regenerate.
376
377 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
378
379 PR libstdc++/51617
380 * include/std/future (async): Change default policy to launch::async.
381
382 * include/experimental/any (any::_Storage): Fix alignment of buffer.
383 (any::_Internal): Check alignment of type.
384 * testsuite/experimental/any/cons/aligned.cc: New.
385 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
386
387 * include/experimental/iterator (ostream_joiner): Simplify by using
388 the injected-class-name and the ostream_type typedef.
389
390 * include/experimental/iterator: New. Define ostream_joiner.
391 * include/Makefile.am: Add new header.
392 * include/Makefile.in: Regenerate.
393 * testsuite/experimental/iterator/make_ostream_joiner.cc: New.
394 * testsuite/experimental/iterator/ostream_joiner.cc: New.
395 * testsuite/experimental/iterator/requirements.cc: New.
396 * doc/xml/manual/status_cxx2017.xml: Update status.
397 * doc/html/manual/status.html: Regenerate.
398
399 * include/experimental/numeric: New. Define gcd and lcm.
400 * include/Makefile.am: Add new header.
401 * include/Makefile.in: Regenerate.
402 * testsuite/experimental/numeric/gcd.cc: New.
403 * testsuite/experimental/numeric/lcm.cc: New.
404 * doc/xml/manual/status_cxx2017.xml: Update status.
405 * doc/html/manual/status.html: Regenerate.
406
407 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
408
409 Revert addition of feature macros from other headers per latest SD-6.
410 * include/experimental/deque: Remove feature-test macro.
411 * include/experimental/forward_list: Ditto.
412 * include/experimental/list: Ditto.
413 * include/experimental/map: Ditto.
414 * include/experimental/set: Ditto.
415 * include/experimental/string: Ditto.
416 * include/experimental/unordered_map: Ditto.
417 * include/experimental/unordered_set: Ditto.
418
419 2015-05-02 Jonathan Wakely <jwakely@redhat.com>
420
421 * include/experimental/any (any::_Storage): Make non-copyable.
422 (any::any): Do not copy _Storage object.
423 (any::operator=): Implement more efficiently than swapping.
424 (any::swap): Use new _Op_xfer operation.
425 (any::_Op::_Op_xfer): New enumerator.
426 (_Manager_internal::_S_alloc): Remove unused function.
427 (_Manager_internal::_S_create, _Manager_external::_S_create): Use out
428 parameter instead of returning a _Storage object.
429 (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add
430 _Op_xfer operation for moving and swapping.
431 * testsuite/experimental/any/cons/nontrivial.cc: New.
432 * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.
433
434 * include/experimental/fs_path.h (filesystem_error::~filesystem_error):
435 Declare.
436 * src/filesystem/path.cc (filesystem_error::~filesystem_error):
437 Define.
438
439 PR libstdc++/65978
440 * include/std/tuple (forward_as_tuple, tie): Add constexpr.
441 * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment
442 and fix tests for forward_as_tuple and tie.
443
444 * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]:
445 Set timespec members explicitly instead of with a braced-init-list.
446 [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro.
447
448 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net>
449
450 * include/experimental/deque: Add feature-test macro.
451 * include/experimental/forward_list: Ditto.
452 * include/experimental/list: Ditto.
453 * include/experimental/map: Ditto.
454 * include/experimental/set: Ditto.
455 * include/experimental/string: Ditto.
456 * include/experimental/unordered_map: Ditto.
457 * include/experimental/unordered_set: Ditto.
458
459 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
460
461 * include/experimental/memory: Correct feature-test macro.
462
463 * include/experimental/memory: Add feature-test macro.
464 * include/experimental/vector: Likewise.
465 * doc/xml/manual/status_cxx2017.xml: Update status.
466 * doc/html/manual/status.html: Regenerate.
467
468 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com>
469
470 Implement observer_ptr.
471 * include/Makefile.am: Add new header.
472 * include/Makefile.in: Regenerate.
473 * include/experimental/memory: New.
474 * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New.
475 * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New.
476 * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New.
477 * testsuite/experimental/memory/observer_ptr/make_observer.cc: New.
478 * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New.
479 * testsuite/experimental/memory/observer_ptr/requirements.cc: New.
480 * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New.
481 * testsuite/experimental/memory/observer_ptr/typedefs.cc: New.
482
483 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
484
485 * src/filesystem/path.cc (path::compare): Do not copy strings.
486
487 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h>
488 is not available.
489 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat.
490 * configure: Regenerate.
491 * config.h.in: Regenerate.
492 * configure.ac: Check for utime.h
493 * include/experimental/fs_path.h (path::string<>)
494 [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword.
495 * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir,
496 closedir, dirent, readdir_r): Replace dummy functions with #error.
497 (native_readdir, _Dir::advance): Use readdir when readdir_r is missing.
498 * src/filesystem/ops.cc (do_stat, is_set): Make inline.
499 (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime.
500 (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod.
501 (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set
502 error_code.
503
504 * include/experimental/fs_path.h (path::_List): Use vector instead of
505 list.
506 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt.
507 * src/filesystem/path.cc: Use std::prev instead of decrementing
508 rvalues. Fix whitespace.
509 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
510 Do not decrement iterators before begin.
511
512 * include/experimental/fs_dir.h: Fix use of non-reserved names.
513 * include/experimental/fs_ops.h: Likewise.
514 * include/experimental/fs_path.h: Likewise.
515 * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use
516 C++11 when checking for support.
517
518 * include/bits/locale_classes.h (locale::facet): Delete copy
519 operations in C++11 mode.
520
521 * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name.
522
523 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris.
524 * configure: Regenerate.
525
526 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net>
527
528 Inline one-line erasure dispatch functions.
529 * include/experimental/forward_list (erase_if(), erase()): Inline.
530 * include/experimental/list (erase_if(), erase()): Inline.
531 * include/experimental/map (erase_if(*)): Inline.
532 * include/experimental/set (erase_if(*)): Inline.
533 * include/experimental/string (erase_if(), erase()): Inline.
534 * include/experimental/unordered_map (erase_if(*)): Inline.
535 * include/experimental/unordered_set (erase_if(*)): Inline.
536
537 2015-05-01 Jonathan Wakely <jwakely@redhat.com>
538
539 * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file.
540 * doc/xml/manual/status_cxx2011.xml: Update status tables.
541 * doc/xml/manual/status_cxx2014.xml: Likewise.
542 * doc/xml/manual/status_cxx2017.xml: New.
543 * doc/xml/manual/using.xml: Fix typo.
544 * doc/html/*: Regenerate.
545
546 * include/std/memory (pointer_safety, declare_reachable,
547 undeclare_reachable, declare_no_pointers, undeclare_no_pointers,
548 get_pointer_safety): Define.
549 * testsuite/20_util/pointer_safety/1.cc: New.
550
551 2015-04-30 Jonathan Wakely <jwakely@redhat.com>
552
553 Implement N4100 File System TS
554 * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define.
555 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define.
556 * config.h.in: Regenerate.
557 * configure: Regenerate.
558 * configure.ac: Enable filesystem TS and check its dependencies.
559 * include/Makefile.am: Add new headers.
560 * include/Makefile.in: Regenerate.
561 * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in,
562 __str_codecvt_out): Move code conversion logic from wstring_convert
563 into new global functions.
564 (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new
565 functions.
566 (wstring_convert::_M_conv): Remove.
567 * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip.
568 * include/experimental/filesystem: New.
569 * include/experimental/fs_dir.h: New.
570 * include/experimental/fs_fwd.h: New.
571 * include/experimental/fs_ops.h: New.
572 * include/experimental/fs_path.h: New.
573 * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h.
574 * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add.
575 * src/Makefile.am (SUBDIRS): Add filesystem.
576 * src/Makefile.in: Regenerate.
577 * src/filesystem/Makefile.am: New.
578 * src/filesystem/Makefile.in: New.
579 * src/filesystem/dir.cc: New.
580 * src/filesystem/ops.cc: New.
581 * src/filesystem/path.cc: New.
582 * testsuite/experimental/filesystem/operations/absolute.cc: New.
583 * testsuite/experimental/filesystem/operations/copy.cc: New.
584 * testsuite/experimental/filesystem/operations/current_path.cc: New.
585 * testsuite/experimental/filesystem/path/append/path.cc: New.
586 * testsuite/experimental/filesystem/path/assign/assign.cc: New.
587 * testsuite/experimental/filesystem/path/assign/copy.cc: New.
588 * testsuite/experimental/filesystem/path/compare/compare.cc: New.
589 * testsuite/experimental/filesystem/path/compare/path.cc: New.
590 * testsuite/experimental/filesystem/path/compare/strings.cc: New.
591 * testsuite/experimental/filesystem/path/concat/path.cc: New.
592 * testsuite/experimental/filesystem/path/concat/strings.cc: New.
593 * testsuite/experimental/filesystem/path/construct/copy.cc: New.
594 * testsuite/experimental/filesystem/path/construct/default.cc: New.
595 * testsuite/experimental/filesystem/path/construct/locale.cc: New.
596 * testsuite/experimental/filesystem/path/construct/range.cc: New.
597 * testsuite/experimental/filesystem/path/decompose/extension.cc: New.
598 * testsuite/experimental/filesystem/path/decompose/filename.cc: New.
599 * testsuite/experimental/filesystem/path/decompose/parent_path.cc:
600 New.
601 * testsuite/experimental/filesystem/path/decompose/relative_path.cc:
602 New.
603 * testsuite/experimental/filesystem/path/decompose/root_directory.cc:
604 New.
605 * testsuite/experimental/filesystem/path/decompose/root_name.cc:
606 New.
607 * testsuite/experimental/filesystem/path/decompose/root_path.cc:
608 New.
609 * testsuite/experimental/filesystem/path/decompose/stem.cc: New.
610 * testsuite/experimental/filesystem/path/generic/generic_string.cc:
611 New.
612 * testsuite/experimental/filesystem/path/itr/traversal.cc: New.
613 * testsuite/experimental/filesystem/path/modifiers/clear.cc: New.
614 * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc:
615 New.
616 * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc:
617 New.
618 * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc:
619 New.
620 * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc:
621 New.
622 * testsuite/experimental/filesystem/path/modifiers/swap.cc: New.
623 * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New.
624 * testsuite/experimental/filesystem/path/query/empty.cc: New.
625 * testsuite/experimental/filesystem/path/query/has_extension.cc: New.
626 * testsuite/experimental/filesystem/path/query/has_filename.cc: New.
627 * testsuite/experimental/filesystem/path/query/has_parent_path.cc:
628 New.
629 * testsuite/experimental/filesystem/path/query/has_relative_path.cc:
630 New.
631 * testsuite/experimental/filesystem/path/query/has_root_directory.cc:
632 New.
633 * testsuite/experimental/filesystem/path/query/has_root_name.cc:
634 New.
635 * testsuite/experimental/filesystem/path/query/has_root_path.cc:
636 New.
637 * testsuite/experimental/filesystem/path/query/has_stem.cc: New.
638 * testsuite/experimental/filesystem/path/query/is_relative.cc: New.
639 * testsuite/util/testsuite_fs.h: New.
640
641 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net>
642
643 Add fundamentals TR container erasure.
644 * include/Makefile.am: Add new headers.
645 * include/Makefile.in: Add new headers.
646 * include/experimental/array: New.
647 * include/experimental/deque: New.
648 * include/experimental/erase_if.tcc: New.
649 * include/experimental/forward_list: New.
650 * include/experimental/list: New.
651 * include/experimental/map: New.
652 * include/experimental/set: New.
653 * include/experimental/string: New.
654 * include/experimental/unordered_map: New.
655 * include/experimental/unordered_set: New.
656 * include/experimental/vector: New.
657 * testsuite/experimental/deque/erasure.cc: New.
658 * testsuite/experimental/forward_list/erasure.cc: New.
659 * testsuite/experimental/list/erasure.cc: New.
660 * testsuite/experimental/map/erasure.cc: New.
661 * testsuite/experimental/set/erasure.cc: New.
662 * testsuite/experimental/string/erasure.cc: New.
663 * testsuite/experimental/unordered_map/erasure.cc: New.
664 * testsuite/experimental/unordered_set/erasure.cc: New.
665 * testsuite/experimental/vector/erasure.cc: New.
666
667 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
668
669 * include/bits/cpp_type_traits.h
670 (__gnu_cxx::__is_normal_iterator): Delete.
671 * include/bits/stl_algobase.h (std::__niter_base): Adapt.
672 * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11.
673 (std::__niter_base): Overloads for std::reverse_iterator,
674 __gnu_cxx::__normal_iterator and std::move_iterator.
675
676 2015-04-30 François Dumont <fdumont@gcc.gnu.org>
677
678 * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes):
679 Delete.
680 * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt):
681 Remove usage of latter and compute size of the prime numbers array
682 locally.
683
684 2015-04-29 Doug Evans <dje@google.com>
685
686 PR libstdc++/65839
687 * python/libstdcxx/v6/xmethods.py (get_bool_type): New function.
688 Replace all lookups of "bool" with this.
689 (get_std_size_type): New function. Replace all lookups of std::size_t
690 with this.
691 (*Worker): New method get_result_type.
692 (DequeWorkerBase.__init__): New arg val_type. All callers updated.
693 (ListWorkerBase.__init__): New arg val_type. All callers updated.
694 (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated.
695 Delete setting of name, enabled.
696 (UniquePtrDerefWorker.__init__): New arg elem_type. All callers
697 updated. Delete setting of name.
698 (UniquePtrMethodsMatcher): Rewrite for consistency with all other
699 libstdc++ xmethod matchers.
700 * testsuite/libstdc++-xmethods/array.cc: Add whatis tests.
701 * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto.
702 * testsuite/libstdc++-xmethods/deque.cc: Ditto.
703 * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto.
704 * testsuite/libstdc++-xmethods/list.cc: Ditto.
705 * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto.
706 * testsuite/libstdc++-xmethods/vector.cc: Ditto.
707
708 2015-04-29 Doug Evans <dje@google.com>
709
710 Use consistent naming for value type attributes.
711 * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype
712 to _val_type.
713 (ArraySizeWorker, ArrayEmptyWorker): Ditto.
714 (ArrayFrontWorker, ArrayBackWorker): Ditto.
715 (ArrayAtWorker, ArraySubscriptWorker): Ditto.
716 (DequeWorkerBase): Rename elemtype to val_type.
717 (ForwardListWorkerBase): Rename _elem_type to _val_type.
718 (ForwardListFrontWorker): Ditto. And rename elem_address to
719 val_address.
720 (ForwardListMethodsMatcher): Rename elem_type to val_type.
721 (VectorWorkerBase): Rename _elemtype to _val_type.
722
723 2015-04-29 Jonathan Wakely <jwakely@redhat.com>
724
725 PR libstdc++/65760
726 * include/std/functional (__check_func_return_type): Use is_same to
727 avoid using _is_convertible on incomplete types.
728 * testsuite/20_util/function/65760.cc: New.
729
730 PR libstdc++/64657
731 * include/bits/basic_string (basic_string::_S_copy_chars): Cast
732 expression to void.
733 * include/bits/locale_facets_nonio.tcc (money_get::_M_extract,
734 time_get::_M_extract_num, time_get::_M_extract_name,
735 time_get::_M_extract_wday_or_month): Likewise.
736 * include/bits/stl_algo.h (__includes, __replace_copy_if,
737 __is_sorted_until, __is_permutation, transform): Likewise.
738 * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m,
739 __equal::equal, __lexicographical_compare_impl, equal): Likewise.
740 * include/bits/stl_numeric.h (inner_product): Likewise.
741 * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise.
742 * testsuite/util/testsuite_iterators.h (output_iterator_wrapper,
743 input_iterator_wrapper): Declare unusable comma operator.
744 * testsuite/21_strings/basic_string/cons/char/64657.cc: New.
745 * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc:
746 New.
747
748 2015-04-28 Doug Evans <dje@google.com>
749
750 * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI):
751 Define to zero.
752
753 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
754
755 * include/bits/stl_algo.h (random_shuffle): Only define for hosted
756 implementations.
757
758 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
759
760 * Makefile.am (SUBDIRS): Move python to hosted_source.
761 * Makefile.in: Regenerate.
762 * acinclude.m4 (glibcxx_SUBDIRS): Reorder.
763 * configure: Regenerate.
764
765 2015-04-28 Marc Glisse <marc.glisse@inria.fr>
766
767 PR libstdc++/65883
768 * include/std/limits (numeric_limits): Add missing unsigned.
769
770 2015-04-28 Stephan Bergmann <sbergman@redhat.com>
771
772 * include/debug/vector (_Safe_vector::operator=): Add missing returns.
773
774 2015-04-28 Jonathan Wakely <jwakely@redhat.com>
775
776 PR libstdc++/60333
777 * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>):
778 Handle enumeration types larger than sizeof(long).
779 (__make_signed_selector<_Tp, false, true>): Find unsigned type then
780 make it signed.
781 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
782 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
783 Likewise.
784 * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New.
785 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust
786 dg-error.
787 * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New.
788
789 PR libstdc++/61645
790 * include/bits/forward_list.h (forward_list::splice_after): Add
791 noexcept.
792 * include/bits/forward_list.tcc (forward_list::splice_after):
793 Likewise.
794
795 PR libstdc++/65631
796 * include/bits/random.h (seed_seq) Define copy constructor and copy
797 assignment as deleted.
798 * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New.
799
800 * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if.
801 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
802 Use -std=gnu++1z. Check feature-test macro.
803
804 * include/std/type_traits (void_t): Add.
805 * testsuite/20_util/void_t/1.cc: New.
806
807 2015-04-28 Tim Shen <timshen@google.com>
808
809 * include/bits/regex.tcc: Handle regex_constants::__polynomial.
810 * include/bits/regex_automaton.tcc: Throw exception when parsing
811 back-reference with flag __polynomial.
812 * include/bits/regex_constants.h: Add extension flag
813 syntax_option_type __polynomial.
814 * bits/regex_executor.tcc: Still let BFS process ECMAScript.
815 Alternative operation will be fixed in the coming refactoring.
816 * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn
817 loose match_search_debug to use DFS only.
818
819 2015-04-27 Sandra Loosemore <sandra@codesourcery.com>
820
821 PR libstdc++/65909
822 * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale):
823 Make the generated test program fail gracefully if the target
824 doesn't support passing command-line arguments.
825
826 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com>
827 Jonathan Wakely <jwakely@redhat.com>
828
829 * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions):
830 Return false or zero if the library is built without exceptions.
831 * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if
832 the library is built without exceptions.
833
834 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com>
835
836 * config/abi/pre/gnu.ver: Fix comment.
837
838 Add support for std::uncaught_exceptions.
839 * acinclude.m4: Bump libtool_VERSION.
840 * config/abi/pre/gnu.ver: Export the new symbol.
841 * configure: Regenerate.
842 * libsupc++/eh_catch.cc (uncaught_exceptions): New.
843 * libsupc++/exception (uncaught_exceptions): New.
844 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New.
845 * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version.
846
847 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com>
848 Michael Hanselmann <public@hansmi.ch>
849
850 PR libstdc++/62258
851 * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of
852 uncaught exceptions.
853 * testsuite/18_support/exception_ptr/62258.cc: New.
854
855 2015-04-27 Jonathan Wakely <jwakely@redhat.com>
856
857 * doc/xml/manual/extensions.xml: Add cross-reference.
858 * doc/html/manual/ext_compile_checks.html: Regenerate.
859
860 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
861
862 * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define.
863 * configure.host (os_include_dir): Set to "os/generic" for linux-musl*.
864
865 2015-04-22 Renlin Li <renlin.li@arm.com>
866
867 * testsuite/lib/dg-options.exp (dg-require-thread-fence): New.
868 * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New.
869 * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it.
870 * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise.
871 * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise.
872
873 2015-04-21 Jonathan Wakely <jwakely@redhat.com>
874
875 * doc/xml/manual/configure.xml: Update descriptions of options
876 affecting dual ABI and add cross-references.
877 * doc/xml/manual/strings.xml: Clarify that string isn't COW now.
878 * doc/xml/manual/using.xml: Document ABI transition.
879 * doc/html/*: Regenerate.
880
881 * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library.
882 * doc/xml/manual/using.xml: Document newer -std options. Use better
883 examples of nested namespaces.
884
885 2015-04-20 Jonathan Wakely <jwakely@redhat.com>
886
887 * doc/xml/manual/concurrency_extensions.xml: Update documentation
888 on atomics.
889 * doc/xml/manual/using.xml: Likewise. Improve markup.
890 * doc/html/*: Regenerate.
891
892 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
893
894 * scripts/extract_symvers.pl: Ignore elfdump error output.
895
896 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
897
898 PR libstdc++/61347
899 * include/bits/stl_iterator_base_funcs.h (_List_iterator,
900 _List_const_iterator): Declare.
901 (__distance): Declare new overloads for _List_iterator and
902 _List_const_iterator.
903 * include/bits/stl_list.h (__distance): New overloads for
904 _List_iterator and _List_const_iterator.
905 * testsuite/23_containers/list/61347.cc: New testcase.
906
907 2015-04-14 Jonathan Wakely <jwakely@redhat.com>
908
909 * doc/xml/manual/evolution.xml: Fix typos.
910 * doc/html/manual/api.html: Regenerate.
911
912 2015-04-14 Hans-Peter Nilsson <hp@axis.com>
913
914 * testsuite/29_atomics/atomic/62259.cc: Assert atomic
915 alignment is larger-equal, not equal, to default alignment.
916
917 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
918
919 PR libstdc++/65754
920 * config/abi/pre/gnu.ver: Export base object constructors for
921 fstreams.
922 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
923 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
924 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
925 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
926 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
927 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
928 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
929 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
930 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
931 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
932 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
933 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
934 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
935 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
936 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
937 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
938 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
939 * testsuite/27_io/basic_fstream/cons/base.cc: New.
940
941 2015-04-13 Jonathan Wakely <jwakely@redhat.com>
942
943 * doc/xml/manual/evolution.xml: Document changes since 4.5 release.
944 * doc/html/*: Regenerate.
945
946 2015-04-12 Uros Bizjak <ubizjak@gmail.com>
947
948 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
949
950 2015-04-10 Andreas Schwab <schwab@linux-m68k.org>
951
952 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
953
954 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
955
956 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
957
958 * doc/xml/manual/test.xml: Improve documentation on running a subset
959 of tests.
960 * doc/html/manual/test.html: Regenerate.
961
962 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
963
964 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update
965 for GCC 5.1 release.
966 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
967 Likewise.
968
969 2015-04-10 Jonathan Wakely <jwakely@redhat.com>
970
971 * include/std/shared_mutex (shared_timed_mutex): Add comments to
972 explain the logic in the non-pthread_rwlock_t version.
973 (_Mutex): Remove redundant type.
974 (_M_n_readers): Rename to _S_max_readers.
975 (_M_write_entered, _M_readers): New convenience functions.
976 (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience
977 functions. Use predicates with condition variables. Simplify bitwise
978 operations.
979 (try_lock_for, try_shared_lock_for): Convert duration to time_point
980 and call try_lock_until or try_shared_lock_until respectively.
981 (try_lock_until, try_shared_lock_until): Wait on the condition
982 variables until the specified time passes.
983 (unlock): Add Debug Mode assertion.
984 (unlock_shared): Add Debug Mode assertion.
985 * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New.
986
987 * include/std/shared_mutex (shared_timed_mutex): Only use
988 pthread_rwlock_t when the POSIX Timeouts option is supported.
989 * testsuite/30_threads/shared_lock/cons/5.cc: Remove
990 dg-require-gthreads-timed.
991 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
992 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
993 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
994
995 2015-04-09 H.J. Lu <hongjiu.lu@intel.com>
996
997 * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update.
998
999 2015-04-09 Jonathan Wakely <jwakely@redhat.com>
1000 Richard Henderson <rth@redhat.com>
1001
1002 PR libstdc++/65147
1003 * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase
1004 alignment.
1005 * include/std/atomic (atomic): For types with a power of two size set
1006 alignment to at least the size.
1007 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1008 * testsuite/29_atomics/atomic/65147.cc: New.
1009 * testsuite/29_atomics/atomic_integral/65147.cc: New.
1010
1011 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1012
1013 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate.
1014 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1015 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1016
1017 2015-04-07 Jakub Jelinek <jakub@redhat.com>
1018
1019 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
1020 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
1021 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1022 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
1023 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
1024 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
1025 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
1026 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
1027
1028 2015-03-30 Jonathan Wakely <jwakely@redhat.com>
1029
1030 PR libstdc++/65630
1031 * config/abi/pre/gnu.ver: Export operator+ for new strings.
1032 * testsuite/21_strings/basic_string/operators/char/65630.cc: New.
1033 * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New.
1034
1035 2015-03-28 Tim Shen <timshen@google.com>
1036
1037 PR libstdc++/65420
1038 * include/bits/regex_constants.h: Use constexpr variables for flags.
1039 * testsuite/28_regex/constants/constexpr.cc: New testcase.
1040
1041 2015-03-27 Jonathan Wakely <jwakely@redhat.com>
1042
1043 PR libstdc++/65499
1044 * include/std/chrono: Add using-directive for literals to std::chrono.
1045 * testsuite/20_util/duration/literals/65499.cc: New.
1046
1047 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1048
1049 PR libstdc++/58038
1050 PR libstdc++/60421
1051 * include/std/thread (this_thread::sleep_for): Check for negative
1052 durations.
1053 (this_thread::sleep_until): Check for times in the past.
1054 * testsuite/30_threads/this_thread/58038.cc: New.
1055 * testsuite/30_threads/this_thread/60421.cc: New.
1056
1057 2015-03-26 Jonathan Wakely <jwakely@redhat.com>
1058
1059 PR libstdc++/62259
1060 PR libstdc++/65147
1061 * include/std/atomic (atomic<T>): Increase alignment for types with
1062 the same size as one of the integral types.
1063 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1064 * testsuite/29_atomics/atomic/62259.cc: New.
1065
1066 2015-03-26 Richard Henderson <rth@redhat.com>
1067
1068 PR libstdc++/65033
1069 * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build
1070 a fake pointer indicating type alignment.
1071 (__atomic_base<T *>::is_lock_free): Likewise.
1072 * include/std/atomic (atomic<T>::is_lock_free): Likewise.
1073
1074 2015-03-25 Alan Lawrence <alan.lawrence@arm.com>
1075
1076 PR libstdc++/33394
1077 * testsuite/21_strings/basic_string/pthread33394.cc: Use
1078 dg-additional-options.
1079
1080 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com>
1081
1082 PR libstdc++/65543
1083 * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert
1084 thinko in r150387.
1085 * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&):
1086 Likewise.
1087 * testsuite/27_io/rvalue_streams-2.cc: New.
1088
1089 2015-03-24 Jonathan Wakely <jwakely@redhat.com>
1090
1091 PR libstdc++/33394
1092 * testsuite/21_strings/basic_string/pthread33394.cc: Add test.
1093
1094 2015-03-23 Jonathan Wakely <jwakely@redhat.com>
1095
1096 PR libstdc++/64967
1097 * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use.
1098 * configure: Regenerate.
1099 * src/c++11/compatibility-c++0x.cc (error_category), generic_category,
1100 system_category): Use macros for versioned namespace.
1101 * src/c++11/futex.cc: Add missing end macro for versioned namespace.
1102
1103 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com>
1104
1105 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable
1106 test for unused for ARM.
1107 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise.
1108 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1109
1110 2015-03-20 Jonathan Wakely <jwakely@redhat.com>
1111
1112 * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace.
1113 * include/ext/codecvt_specializations.h (encoding_state,
1114 encoding_char_traits): Remove abi-tag and use inline namespace.
1115 * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line.
1116
1117 2015-03-19 Jason Merrill <jason@redhat.com>
1118
1119 * config/locale/gnu/messages_members.cc: Revert abi-tag change.
1120 * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change.
1121
1122 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1123
1124 PR c++/65046
1125 * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs,
1126 get_catalogs): Add abi-tag.
1127 * include/ext/codecvt_specializations.h (encoding_state,
1128 encoding_char_traits): Likewise.
1129 * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise.
1130 * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string,
1131 numpunct_shim, collate_shim, time_get_shim, moneypunct_shim,
1132 money_get_shim, money_put_shim, messages_shim): Likewise.
1133 * src/c++11/future.cc (future_error_category::message): Likewise.
1134 * src/c++11/system_error.cc (generic_error_category::message,
1135 system_error_category::message): Likewise.
1136 (__sso_string): Disable -Wabi-tag warnings.
1137
1138 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1139
1140 PR libstdc++/13631
1141 * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback
1142 implementation for old glibc. Fix whitespace.
1143
1144 2015-03-18 Jonathan Wakely <jwakely@redhat.com>
1145 Torvald Riegel <triegel@redhat.com>
1146
1147 * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t.
1148 * config.h.in: Regenerate.
1149 * configure: Regenerate.
1150 * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T.
1151 (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER.
1152 (shared_timed_mutex::lock_shared()): Retry on EAGAIN.
1153 (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and
1154 EDEADLK.
1155
1156 2015-03-17 Jonathan Wakely <jwakely@redhat.com>
1157
1158 * libsupc++/nested_exception.h: Do not try to derive from final
1159 classes.
1160 * testsuite/18_support/nested_exception/throw_with_nested.cc: Test
1161 final class.
1162
1163 * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of
1164 unused exception variable.
1165 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
1166 * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate
1167 test.
1168 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
1169
1170 2015-03-13 Jonathan Wakely <jwakely@redhat.com>
1171
1172 * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly.
1173 * configure: Regenerate.
1174
1175 * include/experimental/system_error: Fix include guard.
1176
1177 2015-03-12 Renlin Li <renlin.li@arm.com>
1178
1179 * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for
1180 wrapped target.
1181
1182 2015-03-10 Tim Shen <timshen@google.com>
1183
1184 PR libstdc++/64441
1185 * include/bits/regex.h (match_results<>::size,
1186 match_results<>::position, match_results<>::str,
1187 match_results<>::operator[], match_results<>::prefix,
1188 match_results<>::suffix, match_results<>::end,
1189 match_results<>::_M_resize, match_results<>::_M_unmatched_sub,
1190 match_results<>::_M_prefix, match_results<>::_M_suffix): Remove
1191 global __unmatched_sub. Add unmatched submatch as part of
1192 match_results.
1193 * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>,
1194 regex_iterator<>::operator++): Adjust to use match_results::_M_prefix.
1195 * testsuite/28_regex/match_results/out_of_range_submatches.cc:
1196 New testcases.
1197
1198 2015-03-09 Jonathan Wakely <jwakely@redhat.com>
1199
1200 PR libstdc++/64467
1201 * testsuite/28_regex/traits/char/isctype.cc: Don't test newline
1202 for newlib targets. Really fix mixed line-endings this time.
1203
1204 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
1205
1206 * include/std/future (future_error(error_code)): Construct base
1207 class with error_code's message.
1208 * src/c++11/future.cc (future_error::what()): Do not call c_str() on
1209 temporary string.
1210
1211 2015-03-05 Jonathan Wakely <jwakely@redhat.com>
1212
1213 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1214 noconv result.
1215 * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8.
1216 * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16.
1217
1218 2015-03-04 Jonathan Wakely <jwakely@redhat.com>
1219
1220 PR libstdc++/64797
1221 * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle
1222 incomplete multibyte sequences correctly.
1223 * include/std/codecvt (codecvt_utf8, codecvt_utf16,
1224 codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point.
1225 * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character):
1226 Define constants.
1227 (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point):
1228 Define convenience functions.
1229 (read_utf8_code_point): Return relevant constant to distinguish
1230 incomplete characters from invalid sequences.
1231 (read_utf16_code_point): Likewise. Check for invalid sequences.
1232 (ucs4_in, utf16_in): Use incomplete_mb_character constant.
1233 (utf16_out): Check for invalid sequences.
1234 (utf16_span): Fix condition.
1235 (ucs2_out): Use is_high_surrogate.
1236 (ucs2_in): Use incomplete_mb_character constant and fix condition.
1237 * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace.
1238 * testsuite/22_locale/conversions/buffer/1.cc: New.
1239 * testsuite/22_locale/conversions/string/2.cc: Use char16_t and
1240 char32_t instead of wchar_t.
1241 * testsuite/22_locale/conversions/string/3.cc: New.
1242
1243 2015-03-03 Iain Sandoe <iain@codesourcery.com>
1244
1245 PR libstdc++/64883
1246 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check
1247 visibility for Darwin.
1248 * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and
1249 also deprecated.
1250 * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise.
1251
1252 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
1253
1254 PR libstdc++/65279
1255 * include/std/scoped_allocator (__inner_type_impl,
1256 scoped_allocator_adaptor): Add defaulted copy assignment and move
1257 assignment operators.
1258 * testsuite/20_util/scoped_allocator/65279.cc: New.
1259
1260 2015-03-02 Jonathan Wakely <jwakely@redhat.com>
1261
1262 PR libstdc++/64367
1263 * include/std/stdexcept (__sso_string): Don't use non-static member
1264 in sizeof.
1265
1266 2015-02-28 Matthias Klose <doko@ubuntu.com>
1267
1268 PR libstdc++/65246
1269 * python/libstdcxx/v6/__init__.py: Use explicit relative imports.
1270
1271 2015-02-22 Jonathan Wakely <jwakely@redhat.com>
1272
1273 * doc/xml/manual/status_cxx2011.xml: Remove duplicated information.
1274 * doc/html/manual/status.html: Regenerate.
1275
1276 2015-02-20 Jonathan Wakely <jwakely@redhat.com>
1277
1278 PR libstdc++/64695
1279 * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new
1280 tuple layout.
1281
1282 * doc/xml/manual/status_cxx2011.xml: Document implementation-defined
1283 behavior.
1284 * doc/html/manual/status.html: Regenerate.
1285
1286 2015-02-19 Jonathan Wakely <jwakely@redhat.com>
1287
1288 PR libstdc++/58357
1289 * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2.
1290 * include/bits/stl_algo.h (__rotate, rotate): Likewise.
1291
1292 2015-02-19 Hans-Peter Nilsson <hp@axis.com>
1293
1294 PR testsuite/65093
1295 * testsuite/26_numerics/random/binomial_distribution/operators/values.cc
1296 (test01): Add explanatory comment. Keep only the bd1 sub-test and
1297 split out bd2, bd3, bd4, and bd5 sub-tests into...
1298 * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc,
1299 testsuite/26_numerics/random/binomial_distribution/operators/values3.cc,
1300 testsuite/26_numerics/random/binomial_distribution/operators/values4.cc,
1301 testsuite/26_numerics/random/binomial_distribution/operators/values5.cc:
1302 New separate files with the old parts.
1303
1304 2015-02-18 Jonathan Wakely <jwakely@redhat.com>
1305
1306 * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output
1307 surrogate pairs.
1308 (utf16_in): Pass mode argument to write_utf16_code_point.
1309 (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to
1310 native byte order.
1311 * testsuite/22_locale/codecvt/char16_t.cc: New.
1312 * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo.
1313
1314 * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint.
1315 * testsuite/22_locale/codecvt/char32_t.cc: Likewise.
1316
1317 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
1318 Jonathan Wakely <jwakely@redhat.com>
1319
1320 * testsuite/22_locale/codecvt/char32_t.cc: New.
1321
1322 2015-02-17 Jonathan Wakely <jwakely@redhat.com>
1323
1324 PR libstdc++/65085
1325 * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure
1326 empty string gets null-terminated.
1327 * testsuite/21_strings/basic_string/cons/char/65085.cc: New.
1328
1329 2015-02-13 Matthew Wahab <matthew.wahab@arm.com>
1330
1331 * testsuite/28_regex/traits/char/isctype.cc (test01): Fix
1332 mixed line-endings introduced in last change.
1333
1334 2015-02-12 Matthew Wahab <matthew.wahab@arm.com>
1335
1336 * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test
1337 for __NEWLIB__ macro with a dejagnu set macro.
1338 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1339
1340 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
1341
1342 PR libstdc++/64467
1343 * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib
1344 special case for '\n'.
1345 * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise.
1346
1347 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
1348
1349 * src/c++11/futex.cc: Do not define for gthr-single.h targets.
1350
1351 2015-02-01 Jonathan Wakely <jwakely@redhat.com>
1352
1353 PR libstdc++/64883
1354 * include/c_global/cstdio (gets): Use __deprecated__ attribute instead
1355 of deprecated.
1356 * include/c_std/cstdio (gets): Likewise.
1357 * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing
1358 with attributes used in darwin headers.
1359
1360 2015-01-29 Jakub Jelinek <jakub@redhat.com>
1361
1362 * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of
1363 $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first.
1364 * configure: Regenerated.
1365
1366 2015-01-29 H.J. Lu <hongjiu.lu@intel.com>
1367
1368 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1369 after vtv_cygmin is set.
1370 * configure: Regenerated.
1371
1372 2015-01-29 Matthias Klose <doko@ubuntu.com>
1373
1374 * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN
1375 unconditionally.
1376 * configure: Regenerate.
1377
1378 2015-01-29 Caroline Tice <cmtice@google.com>
1379
1380 Committing VTV Cywin/Ming patch for Patrick Wollgast
1381 * configure: Regenerate.
1382 * libsupc++/Makefile.in: Regenerate.
1383 * src/Makefile.in: Regenerate.
1384
1385 2015-01-29 Jonathan Wakely <jwakely@redhat.com>
1386
1387 * include/bits/atomic_base.h: Use __always_inline__ instead of
1388 always_inline.
1389 * include/bits/atomic_futex.h: Likewise.
1390 * include/bits/c++config: Use __abi_tag__ instead of abi_tag.
1391 * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use
1392 __packed__ instead of packed.
1393 * include/std/shared_mutex: Use __unused__ instead of unused.
1394 * testsuite/17_intro/headers/c++1998/all_attributes.cc: New.
1395 * testsuite/17_intro/headers/c++200x/all_attributes.cc: New.
1396 * testsuite/17_intro/headers/c++2014/all_attributes.cc: New.
1397
1398 2015-01-28 Caroline Tice <cmtice@google.com>
1399
1400 Committing VTV Cywin/Ming patch for Patrick Wollgast
1401 * acinclude.m4: Define VTV_CYGMIN.
1402 * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES
1403 and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set.
1404 * libsupc++/vtv_stubs.cc: Add none weak declaration of every function
1405 for Cygwin and MinGW.
1406 * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if
1407 VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS,
1408 libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set.
1409
1410 2015-01-28 Jonathan Wakely <jwakely@redhat.com>
1411
1412 PR libstdc++/64828
1413 * libsupc++/Makefile.am: Compile del_opvs.cc as C++14.
1414 * libsupc++/Makefile.in: Regenerate.
1415 * src/c++11/Makefile.in: Regenerate.
1416
1417 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1418
1419 * testsuite/lib/libstdc++.exp (v3_target_compile): Remove
1420 check for unsupported.
1421 (v3_target_compile_as_c): Likewise.
1422
1423 2015-01-28 Richard Biener <rguenther@suse.de>
1424
1425 PR libstdc++/64798
1426 * libsupc++/eh_alloc.cc (struct allocated_entry): Align
1427 data member.
1428 (pool::allocate): Adjust allocation size and alignment to
1429 that change.
1430 (pool::free): Adjust pointer offsetting.
1431
1432 2015-01-27 Jonathan Wakely <jwakely@redhat.com>
1433
1434 PR libstdc++/64368
1435 * include/std/shared_mutex (shared_timed_mutex::try_lock_for,
1436 shared_timed_mutex::try_lock_until): Only define when POSIX thread
1437 timeouts option is supported.
1438 (shared_timed_mutex::try_shared_lock_for,
1439 shared_timed_mutex::try_shared_lock_until): Likewise.
1440
1441 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
1442
1443 PR libstdc++/64368
1444 * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(),
1445 numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping.
1446 * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping
1447 and use cache's _M_grouping field.
1448 (__numpunct_fill_cache): Likewise.
1449 (__moneypunct_fill_cache): Improve comments.
1450
1451 2015-01-26 Jonathan Wakely <jwakely@redhat.com>
1452
1453 * testsuite/23_containers/set/operations/2.cc: Add test for
1454 non-transparent comparison function.
1455
1456 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org>
1457
1458 PR target/29366
1459 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add):
1460 Remove SH4A inline asm and lock based implementations and use the
1461 defaults from ext/atomicity.h.
1462
1463 2015-01-23 Jonathan Wakely <jwakely@redhat.com>
1464
1465 * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match
1466 new std::string constructors for byname facets.
1467
1468 2015-01-22 Richard Biener <rguenther@suse.de>
1469
1470 PR libstdc++/64535
1471 * libsupc++/eh_alloc.cc: Include new.
1472 (bitmask_type): Remove.
1473 (one_buffer): Likewise.
1474 (emergency_buffer): Likewise.
1475 (emergency_used): Likewise.
1476 (dependents_buffer): Likewise.
1477 (dependents_used): Likewise.
1478 (class pool): New custom fixed-size arena, variable size object
1479 allocator.
1480 (emergency_pool): New global.
1481 (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool.
1482 (__cxxabiv1::__cxa_free_exception): Likewise.
1483 (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise.
1484 (__cxxabiv1::__cxa_free_dependent_exception): Likewise.
1485
1486 2015-01-22 Tim Shen <timshen@google.com>
1487
1488 PR libstdc++/64680
1489 * include/bits/regex.h (basic_regex<>::basic_regex,
1490 basic_regex<>::operator=, basic_regex<>::imbue): Conform to the
1491 standard interface.
1492 * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase.
1493
1494 2015-01-22 Tim Shen <timshen@google.com>
1495
1496 PR libstdc++/64649
1497 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1498 regex_traits<>::lookup_classname): Correctly narrow input chars.
1499 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase.
1500
1501 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
1502
1503 * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters.
1504
1505 2015-01-21 Jonathan Wakely <jwakely@redhat.com>
1506
1507 * testsuite/29_atomics/atomic/64658.cc: Test stored value.
1508
1509 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1510
1511 * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags.
1512 * doc/xml/manual/status_cxx2014.xml: Update status.
1513 * doc/html/manual/status.html: Regenerate.
1514
1515 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1516
1517 PR libstdc++/64650
1518 * include/experimental/optional (bad_optional_access): Add default
1519 constructor.
1520 * testsuite/experimental/optional/requirements.cc: Test for default
1521 constructor.
1522
1523 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1524
1525 * include/bits/stl_map.h (map::find<>, map::count<>,
1526 map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New
1527 member function templates to perform heterogeneous lookup.
1528 * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>,
1529 multimap::lower_bound<>, multimap::upper_bound<>,
1530 multimap::equal_range<>): Likewise.
1531 * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>,
1532 multiset::lower_bound<>, multiset::upper_bound<>,
1533 multiset::equal_range<>): Likewise.
1534 * include/bits/stl_set.h (set::find<>, set::count<>,
1535 set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise.
1536 * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr,
1537 _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr,
1538 _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr,
1539 _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise.
1540 * testsuite/23_containers/map/operations/2.cc: New.
1541 * testsuite/23_containers/multimap/operations/2.cc: New.
1542 * testsuite/23_containers/multiset/operations/2.cc: New.
1543 * testsuite/23_containers/set/operations/2.cc: New.
1544
1545 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1546
1547 * config/abi/pre/gnu.ver: Export new constructors.
1548 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
1549 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
1550 specializations and declare explicit instantiations.
1551 * include/bits/locale_classes.h (locale, collate_byname): Add string
1552 constructors.
1553 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
1554 Likewise.
1555 * include/bits/locale_facets_nonio.h (time_get_byname,
1556 time_put_byname, moneypunct_byname, messages_byname): Likewise.
1557 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
1558 codecvt_byname<char32_t>): Define explicit instantiations.
1559 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
1560 Instantiate string constructors.
1561 (ctype_byname): Define string constructor.
1562 * testsuite/22_locale/codecvt_byname/1.cc: New.
1563 * testsuite/22_locale/collate_byname/1.cc: New.
1564 * testsuite/22_locale/ctype_byname/2.cc: New.
1565 * testsuite/22_locale/messages_byname/1.cc: New.
1566 * testsuite/22_locale/moneypunct_byname/1.cc: New.
1567 * testsuite/22_locale/numpunct_byname/1.cc: New.
1568
1569 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
1570
1571 PR libstdc++/64658
1572 * include/std/atomic (atomic_init): Define.
1573 * testsuite/29_atomics/atomic/64658.cc: New.
1574
1575 2015-01-19 Tim Shen <timshen@google.com>
1576
1577 PR libstdc++/64649
1578 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
1579 regex_traits<>::lookup_classname): Support forward iterators.
1580 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
1581 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
1582
1583 2015-01-19 Tim Shen <timshen@google.com>
1584
1585 PR libstdc++/64584
1586 PR libstdc++/64585
1587 * include/bits/regex.h (basic_regex<>::basic_regex,
1588 basic_regex<>::assign, basic_regex<>::imbue,
1589 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
1590 imbuing basic_regex; Make assign() transactional against exception.
1591 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
1592 __compile_nfa SFINAE.
1593 * include/std/regex: Adjust include order to avoid __compile_nfa
1594 forward declaration.
1595 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
1596 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
1597
1598 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
1599 Jonathan Wakely <jwakely@redhat.com>
1600
1601 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
1602 on overloads for arrays.
1603 (cbegin, cend, rbegin, rend, crbegin, crend): New.
1604 * testsuite/24_iterators/range_access_cpp14.cc: New.
1605
1606 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1607
1608 PR libstdc++/64646
1609 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
1610 end of the second range.
1611 * testsuite/25_algorithms/is_permutation/64646.cc: New.
1612
1613 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1614
1615 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
1616 * doc/html/manual/status.html: Regenerate.
1617
1618 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
1619
1620 * include/bits/atomic_futex.h: Use mutex and condition_variable when
1621 atomic int is not lock-free. Make member variables private.
1622 * src/c++11/futex.cc: Likewise.
1623
1624 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
1625
1626 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1627
1628 PR libstdc++/64638
1629 * include/bits/atomic_futex.h: Use appropriate config macros for
1630 availability of std::mutex, std::condition and std::chrono.
1631
1632 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
1633 Jonathan Wakely <jwakely@redhat.com>
1634
1635 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
1636 * doc/html/*: Regenerate.
1637
1638 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1639
1640 DR 488
1641 PR libstdc++/58357
1642 * include/bits/algorithmfwd.h (rotate): Return an iterator.
1643 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
1644 * testsuite/25_algorithms/rotate/dr488.cc: New.
1645 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
1646 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1647 2.cc: Likewise.
1648 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
1649 pod.cc: Likewise.
1650
1651 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1652
1653 PR libstdc++/60940
1654 * include/bits/atomic_base.h: Remove atomic integral typedefs as
1655 synonyms for __atomic_base<int> etc.
1656 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
1657 likewise for all atomic integral types.
1658 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
1659 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
1660
1661 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1662
1663 PR libstdc++/56785
1664 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
1665 and define one-element specialization.
1666 * testsuite/20_util/tuple/56785.cc: New.
1667
1668 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
1669
1670 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
1671 Remove unused header.
1672 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
1673 Likewise.
1674 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1675 Likewise.
1676
1677 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1678
1679 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
1680 * include/std/locale: Include new header.
1681 * include/Makefile.am: Add it.
1682 * include/Makefile.in: Regenerate.
1683 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
1684 * testsuite/22_locale/conversions/string/1.cc: New.
1685 * testsuite/22_locale/conversions/string/2.cc: New.
1686 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
1687 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
1688 New.
1689
1690 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1691
1692 * config/abi/pre/gnu.ver: Export new symbols.
1693 * include/Makefile.am: Add codecvt.
1694 * include/Makefile.in: Regenerate.
1695 * include/std/codecvt: New header.
1696 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
1697 __codecvt_utf8_utf16_base): Define specializations.
1698 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
1699 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
1700 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
1701 New.
1702
1703 2015-01-16 Torvald Riegel <triegel@redhat.com>
1704
1705 * src/c++11/futex.cc: New file.
1706 * include/bits/atomic_futex.h: New file.
1707 * include/std/future (__future_base::_State_baseV2): Use
1708 atomic_futex_unsigned instead of mutex+condvar.
1709 * src/c++11/futex.cc: Likewise.
1710 * include/Makefile.am: Add atomic_futex.h.
1711 * include/Makefile.in: Likewise.
1712 * src/c++11/Makefile.am: Add futex.cc.
1713 * src/c++11/Makefile.in: Likewise.
1714
1715 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
1716
1717 * acinclude.m4: Fix typo in comment.
1718 * configure: Regenerate.
1719 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
1720 codecvt<char16_t, char, mbstate_t>): Declare specializations.
1721 * include/bits/locale_facets.h: Reserve space for new specializations.
1722 * src/c++11/Makefile.am: Add codecvt.cc.
1723 * src/c++11/Makefile.in: Regenerate.
1724 * src/c++11/codecvt.cc: New.
1725 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
1726 with -std=gnu++11.
1727 * src/c++98/Makefile.in: Regenerate.
1728 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
1729 * src/c++98/localename.cc: Likewise.
1730 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
1731 * testsuite/22_locale/codecvt/utf8.cc: New.
1732 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
1733 specializations are installed in locale objects.
1734
1735 2015-01-16 Torvald Riegel <triegel@redhat.com>
1736
1737 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
1738 implementation.
1739
1740 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
1741
1742 PR libstdc++/64571
1743 * config/abi/pre/gnu.ver: Export fstream functions using new string.
1744
1745 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
1746
1747 PR libstdc++/64560
1748 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
1749 for RTTI support.
1750
1751 PR libstdc++/64553
1752 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
1753
1754 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1755
1756 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
1757 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
1758 Multi Processing Runtime Library".
1759
1760 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
1761
1762 PR libstdc++/64476
1763 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
1764 is_assignable arguments.
1765 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
1766 New.
1767
1768 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1769
1770 * libsupc++/unwind-cxx.h: Revert previous commit.
1771
1772 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
1773
1774 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
1775
1776 2015-01-09 Tim Shen <timshen@google.com>
1777
1778 PR libstdc++/64239
1779 * include/bits/regex.h (match_results<>::swap): Use std::swap
1780 instead of swap.
1781 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
1782 Likewise.
1783 * testsuite/28_regex/match_results/swap.cc: New testcase.
1784
1785 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
1786
1787 PR libstdc++/60132
1788 * include/std/type_traits (has_trivial_default_constructor,
1789 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
1790 attribute.
1791 * testsuite/20_util/has_trivial_copy_assign/requirements/
1792 explicit_instantiation.cc: Use -Wno-deprecated.
1793 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
1794 Likewise.
1795 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
1796 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1797 explicit_instantiation.cc: Likewise.
1798 * testsuite/20_util/has_trivial_copy_constructor/requirements/
1799 typedefs.cc: Likewise.
1800 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
1801 * testsuite/20_util/has_trivial_default_constructor/requirements/
1802 explicit_instantiation.c: Likewise.
1803 * testsuite/20_util/has_trivial_default_constructor/requirements/
1804 typedefs.cc: Likewise.
1805 * testsuite/20_util/has_trivial_default_constructor/value.cc:
1806 Likewise.
1807 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
1808 trait.
1809 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
1810 * testsuite/util/testsuite_common_types.h: Likewise.
1811
1812 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
1813
1814 * include/bits/hashtable_policy.h: Use __bool_constant.
1815
1816 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
1817
1818 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
1819 * libsupc++/Makefile.in: Regenerate.
1820
1821 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
1822
1823 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
1824
1825 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1826
1827 Update copyright years.
1828
1829 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
1830
1831 PR libstdc++/64483
1832 * testsuite/18_support/exception_ptr/64241.cc: Use
1833 dg-require-atomic-builtins.
1834
1835 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
1836
1837 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
1838 date.
1839
1840 2015-01-02 Tim Shen <timshen@google.com>
1841
1842 PR libstdc++/64475
1843 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
1844 iterator, since the original one shouldn't be mutated.
1845
1846 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
1847
1848 PR libstdc++/64422
1849 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
1850 (string::insert): Likewise.
1851 (string::replace): Likewise.
1852 (wstring::erase): Likewise.
1853 (wstring::insert): Likewise.
1854 (wstring::replace): Likewise.
1855 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
1856
1857 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
1858
1859 PR libstdc++/64468
1860 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
1861
1862 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
1863
1864 PR libstdc++/64438
1865 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
1866 Revert removal of dg-require-string-conversions.
1867 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
1868 Likewise.
1869 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
1870 Likewise.
1871 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
1872 Likewise.
1873 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
1874 Likewise.
1875 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
1876 Likewise.
1877 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
1878 Likewise.
1879 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
1880 Likewise.
1881 * testsuite/21_strings/basic_string/numeric_conversions/char/
1882 stoull.cc: Likewise.
1883 * testsuite/21_strings/basic_string/numeric_conversions/char/
1884 to_string.cc: Likewise.
1885 \f
1886 Copyright (C) 2015 Free Software Foundation, Inc.
1887
1888 Copying and distribution of this file, with or without modification,
1889 are permitted in any medium without royalty provided the copyright
1890 notice and this notice are preserved.