]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/ChangeLog
2014-06-27 Paolo Carlini <paolo.carlini@oracle.com>
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
CommitLineData
90631441
JW
12014-06-26 Jonathan Wakely <jwakely@redhat.com>
2
3 * include/bits/shared_ptr_base.h (__shared_ptr::_Deleter): Fix
4 parameter type.
5
484dc599
JW
62014-06-25 Jonathan Wakely <jwakely@redhat.com>
7
8 * include/bits/alloc_traits.h (__alloc_rebind): Define alias template.
9 * include/bits/forward_list.h (_Fwd_list_base): Use __alloc_rebind.
10 * include/bits/hashtable_policy.h (_Insert_base, _Hashtable_alloc):
11 Likewise.
12 * include/ext/alloc_traits.h: Fix comment.
13
b925bf59
JW
14 * include/Makefile.am: Add new header.
15 * include/Makefile.in: Regenerate.
16 * include/bits/allocated_ptr.h (__allocated_ptr, __allocate_guarded):
17 New RAII utilities for working with allocators.
18 * include/bits/shared_ptr_base.h (_Sp_counted_deleter): Define
19 __allocator_type typedef and use new __allocated_ptr type.
20 (_Sp_counted_ptr_inplace): Likewise.
21 (__shared_count::__shared_count, __shared_ptr::__shared_ptr): Use
22 __allocate_guarded to to simplify exception handling.
23 * include/experimental/any (any::_Manager_alloc::_S_alloc): Likewise.
24 * include/std/future (_Result_alloc::_M_destroy): Likewise.
25 (_Result_alloc::_S_allocate_result): Likewise.
26 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line number.
27 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
28 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: New.
29 * testsuite/20_util/shared_ptr/creation/alloc.cc: Test allocator
30 with fancy pointer.
31 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
32
6ab0d680
JW
33 * testsuite/20_util/shared_ptr/creation/alloc.cc: Fix use of test
34 allocator.
35 * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
36 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
37
3fa591d4
JW
382014-06-24 Jonathan Wakely <jwakely@redhat.com>
39
40 * include/bits/functexcept.h (__throw_out_of_range_fmt): Change
41 attribute to __gnu_printf__ archetype to prevent warnings for "%zu".
42 * include/bits/locale_facets_nonio.tcc (time_get::do_get_weekday):
43 Remove unused typedef.
44 (time_get::do_get_monthname): Likewise.
45 * include/bits/stl_tree.h: Add system_header pragma.
46 * include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf::file): Remove
47 redundant const-qualifier.
48 * include/std/complex (complex::__rep): Use _GLIBCXX_CONSTEXPR macro
49 instead of _GLIBCXX_USE_CONSTEXPR.
50
83387bbd
JW
512014-06-23 Jonathan Wakely <jwakely@redhat.com>
52
53 * include/bits/parse_numbers.h (_Number_help): Fix divide-by-zero.
54 * include/std/chrono (_Checked_integral_constant): Allow zero.
55 * testsuite/20_util/duration/literals/values.cc: Test non-positive
56 values and digit separators.
7ce56fc8 57 * include/experimental/any
83387bbd 58
bb85ec6e
JW
59 PR libstdc++/61532
60 * testsuite/20_util/make_signed/requirements/typedefs-1.cc: Do not
61 apply the signed specifier to wchar_t.
62 * testsuite/20_util/make_signed/requirements/typedefs-2.cc: Likewise.
63 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Check
64 cv-qualifier and size.
65 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
66 Likewise.
67
7ce56fc8
JW
68 * include/experimental/any (any_v1): Rename namespace to
69 fundamentals_v1. Change string returned by bad_any_cast::what().
70 * include/experimental/optional (fundamentals_v1): Add namespace.
71 * include/experimental/string_view (fundamentals_v1): Likewise.
72 * testsuite/experimental/any/typedefs.cc: New.
73 * testsuite/experimental/optional/typedefs.cc: New.
74 * testsuite/experimental/string_view/typedefs.cc: New.
75
ad4684c2
PC
762014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
77 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
78
79 PR libstdc++/61536
80 * config/abi/pre/gnu.ver: Adjust for out of line comparisons.
81
e8043fa6
JW
822014-06-14 Jonathan Wakely <jwakely@redhat.com>
83
84 * doc/xml/manual/status_cxx2014.xml: Update Fundamentals TS status.
85 * include/Makefile.am: Add new header.
86 * include/Makefile.in: Regenerate.
87 * include/experimental/any: New.
88 * include/ext/aligned_buffer.h (__aligned_buffer(nullptr_t)): New
89 constructor.
90 * testsuite/experimental/any/assign/1.cc: New.
91 * testsuite/experimental/any/assign/2.cc: New.
92 * testsuite/experimental/any/cons/1.cc: New.
93 * testsuite/experimental/any/cons/2.cc: New.
94 * testsuite/experimental/any/cons/3.cc: New.
95 * testsuite/experimental/any/misc/any_cast.cc: New.
96 * testsuite/experimental/any/misc/any_cast_neg.cc: New.
97 * testsuite/experimental/any/misc/any_cast_no_rtti.cc: New.
98 * testsuite/experimental/any/misc/swap.cc: New.
99 * testsuite/experimental/any/modifiers/1.cc: New.
100 * testsuite/experimental/any/observers/type.cc: New.
101
00541349
JW
102 * doc/doxygen/user.cfg.in (INPUT): Add C++14 headers.
103 * include/bits/random.h (subtract_with_carry_engine): Fix Doxygen
104 warnings.
105 * include/bits/shared_ptr.h (shared_ptr): Likewise.
106 * include/bits/unordered_map.h (unordered_map, unordered_multimap):
107 Likewise.
108 * include/bits/unordered_set.h (unordered_set, unordered_multiset):
109 Likewise.
110 * include/parallel/list_partition.h (__parallel::list_partition):
111 Likewise.
112 * include/std/iomanip (quoted): Likewise.
113 * include/tr2/dynamic_bitset (dynamic_bitset): Likewise.
114
10d43d2f
JW
115 * doc/xml/api.xml: Link to more recent API docs.
116 * include/bits/allocator.h: Fix link in doxygen comment.
117 * include/bits/char_traits.h: Likewise.
118 * include/bits/ios_base.h: Likewise.
119 * include/bits/stl_map.h: Likewise.
120 * include/bits/stl_multimap.h: Likewise.
121 * include/bits/stl_multiset.h: Likewise.
122 * include/bits/stl_set.h: Likewise.
123 * include/bits/unordered_map.h: Likewise.
124 * include/bits/unordered_set.h: Likewise.
125 * include/ext/mt_allocator.h: Likewise.
126 * include/std/fstream: Likewise.
127 * include/std/iosfwd: Likewise.
128 * include/std/ostream: Likewise.
129 * include/std/sstream: Likewise.
130 * include/std/streambuf: Likewise.
131 * doc/html/*: Regenerate.
132
fb3bc977
JW
133 * include/experimental/any (any_cast): Combine duplicate doxygen
134 comments.
135 * include/experimental/string_view (basic_string_view): Update
136 doxygen comment.
137 * include/std/bitset (bitset): Move to Doxygen 'utilities' group.
138 * include/tr2/dynamic_bitset (_Bool2UChar): Remove unused templates.
139 (dynamic_bitset): Improve Doxygen comments.
140 * include/tr2/dynamic_bitset.tcc (operator>>): Improve Doxygen
141 comment.
142
58170a66
MR
1432014-06-11 Maciej W. Rozycki <macro@codesourcery.com>
144
145 * testsuite/27_io/basic_ostream/inserters_arithmetic/wchar_t/4402.cc
146 (test02) [TEST_NUMPUT_VERBOSE]: Use `wcout' rather than `cout'.
147
060269c4
JW
1482014-06-10 Jonathan Wakely <jwakely@redhat.com>
149
150 PR libstdc++/61390
151 * include/ext/pb_ds/detail/bin_search_tree_/traits.hpp
152 (bin_search_tree_traits): Do not redeclare template-parameters.
153 * testsuite/util/testsuite_iterators.h (test_container): Likewise.
154
109a3af4
JW
1552014-06-09 Jonathan Wakely <jwakely@redhat.com>
156
157 * doc/Makefile.am: Add missing file. Use generate.consistent.ids
158 parameter for DocBook HTML generation.
159 * doc/Makefile.in: Regenerate.
160 * doc/doxygen/user.cfg.in: Unset DOT_FONTNAME.
161 * doc/xml/faq.xml: Update content and improve formatting.
162 * doc/xml/manual/abi.xml: Add stable ID attribute and fix links.
163 * doc/xml/manual/allocator.xml: Add stable ID attribute.
164 * doc/xml/manual/bitmap_allocator.xml: Likewise.
165 * doc/xml/manual/build_hacking.xml: Likewise.
166 * doc/xml/manual/codecvt.xml: Change URL.
167 * doc/xml/manual/ctype.xml: Add stable ID attribute.
168 * doc/xml/manual/debug_mode.xml: Likewise.
169 * doc/xml/manual/documentation_hacking.xml: Likewise.
170 * doc/xml/manual/evolution.xml: Likewise.
171 * doc/xml/manual/extensions.xml: Likewise.
172 * doc/xml/manual/locale.xml: Likewise.
173 * doc/xml/manual/messages.xml: Make section id consistent, improve
174 markup, change URL.
175 * doc/xml/manual/parallel_mode.xml: Add stable ID attributes.
176 * doc/xml/manual/profile_mode.xml: Likewise.
177 * doc/xml/manual/shared_ptr.xml: Likewise. Also remove old info.
178 * doc/xml/manual/status_cxx1998.xml: Add stable ID attributes.
179 * doc/xml/manual/status_cxx2011.xml: Likewise.
180 * doc/xml/manual/status_cxx2014.xml: Likewise.
181 * doc/xml/manual/status_cxxtr1.xml: Likewise.
182 * doc/xml/manual/status_cxxtr24733.xml: Likewise.
183 * doc/xml/manual/using.xml: Likewise.
184 * doc/html/*: Regenerate.
185
45b4a796
JW
1862014-06-09 Jonathan Wakely <jwakely@redhat.com>
187
188 * include/tr1/beta_function.tcc: Fix spelling of include guard in
189 comment.
190
cb90f114
PC
1912014-06-08 Paolo Carlini <paolo.carlini@oracle.com>
192
193 * config/abi/pre/gnu.ver: Tighten some patterns; tidy.
194
25608e3a
ESR
1952014-06-06 Ed Smith-Rowland <3dw4rd@verizon.net>
196
197 DR 2344 - std::quoted doesn't respect padding
198 * include/std/iomanip: Allow for padding in quoted inserters.
199 * testsuite/27_io/manipulators/standard/char/dr2344.cc: New.
200 * testsuite/27_io/manipulators/standard/wchar_t/dr2344.cc: New.
201
4ac2509b
FD
2022014-06-06 François Dumont <fdumont@gcc.gnu.org>
203
204 * testsuite/23_containers/map/operators/1.cc: Simplify test.
205
f0bb8736
JW
2062014-06-06 Jonathan Wakely <jwakely@redhat.com>
207
208 * doc/xml/faq.xml (faq.stream_reopening_fails): Replace <quote> in
209 code example.
210 * doc/xml/manual/backwards_compatibility.xml
211 (backwards.second.stringstreams): Likewise.
212 * doc/xml/manual/configure.xml (--enable-libstdcxx-time): Document
213 change of default.
214 * doc/xml/manual/containers.xml (associative.bitset.type_string):
215 Replace <quote> in code example.
216 * doc/xml/manual/debug.xml: Clarify reference to ThreadSanitizer.
217 * doc/xml/manual/documentation_hacking.xml: Improve debugging tips,
218 fix typos, improve markup.
219 * doc/xml/manual/intro.xml (manual.intro.status.bugs.iso): Replace
220 <emphasis> with <replaceable>.
221 * doc/xml/manual/locale.xml (locale.impl.c): Remove backticks.
222 * doc/xml/manual/support.xml (std.support.memory): Replace <quote>
223 and remove newlines in string literal.
224
3c61a5ba
PC
2252014-06-03 Paolo Carlini <paolo.carlini@oracle.com>
226
227 DR 1423
228 PR c++/52174
229 * testsuite/20_util/is_assignable/value.cc: Update.
230
315eb4bb
JW
2312014-06-02 Jonathan Wakely <jwakely@redhat.com>
232
233 * include/std/condition_variable (condition_variable_any::_Unlock): Do
234 not swallow __forced_unwind.
235 * include/std/future (__future_base::_Task_setter): Likewise.
236 (__future_base::_Async_state_impl): Turn __forced_unwind into broken
237 promise and rethrow.
238 * include/std/mutex (try_lock): Likewise.
239 * testsuite/30_threads/async/forced_unwind.cc: New.
240 * testsuite/30_threads/packaged_task/forced_unwind.cc: New.
241
097f0bcf
JW
242 * include/bits/regex_compiler.h (__detail::_BracketMatcher): Reorder
243 members to avoid wasted space when not using a cache.
244 (__detail::_BracketMatcher::_M_ready()): Sort and deduplicate set.
245 * include/bits/regex_compiler.tcc
246 (__detail::_BracketMatcher::_M_apply(_CharT, false_type)): Use binary
247 search on set.
248 * include/bits/regex_executor.h (__detail::_Executor::_Match_mode):
249 New enumeration type to indicate match mode.
250 (__detail::_Executor::_State_info): New type holding members only
251 needed in BFS-mode. Replace unique_ptr<vector<bool>> with
252 unique_ptr<bool[]>.
253 (__detail::_Executor::_M_rep_once_more, __detail::_Executor::_M_dfs):
254 Replace template parameter with run-time function parameter.
255 (__detail::_Executor::_M_main): Likewise. Dispatch to ...
256 (__detail::_Executor::_M_main_dispatch): New overloaded functions to
257 implement DFS and BFS mode.
258 * include/bits/regex_executor.tcc (__detail::_Executor::_M_main):
259 Split implementation into ...
260 (__detail::_Executor::_M_main_dispatch): New overloaded functions.
261 (__detail::_Executor::_M_lookahead): Create nested executor on stack.
262 (__detail::_Executor::_M_rep_once_more): Pass match mode as function
263 argument instead of template argument.
264 (__detail::_Executor::_M_dfs): Likewise.
265 * include/bits/regex_scanner.tcc: Fix typos in comments.
266 * testsuite/performance/28_regex/range.cc: New.
267
d3718027
RS
2682014-06-02 Rüdiger Sonderfeld <ruediger@c-plusplus.de>
269 Jonathan Wakely <jwakely@redhat.com>
270
271 * libstdc++-v3/include/std/type_traits (__strictest_alignment): New
272 helper struct.
273 (aligned_union): New struct (C++11).
274 (aligned_union_t): New type alias (C++14).
275 * doc/xml/manual/status_cxx2011.xml: Update.
276 * libstdc++-v3/testsuite/20_util/aligned_union/1.cc: New file.
277 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
278 line number.
279
16545743
JW
2802014-06-01 Jonathan Wakely <jwakely@redhat.com>
281
282 PR libstdc++/61374
283 * include/experimental/string_view (operator basic_string): Correct
284 order of arguments.
285 (to_string): Replace with member function.
286 Add inline specifiers. Remove unused header. Remove _S_empty_rep and
287 allow _M_str to be null.
288 * testsuite/experimental/string_view/cons/char/1.cc: Adjust to new
289 default constructor semantics.
290 * testsuite/experimental/string_view/cons/wchar_t/1.cc: Likewise.
291 * testsuite/experimental/string_view/operations/copy/char/1.cc: Fix
292 copyright dates. Remove unused header.
293 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc:
294 Likewise.
295 * testsuite/experimental/string_view/operations/data/char/1.cc:
296 Fix copyright dates. Adjust to new default constructor semantics.
297 * testsuite/experimental/string_view/operations/data/wchar_t/1.cc:
298 Likewise.
299 * testsuite/experimental/string_view/operations/to_string/1.cc: New.
300
314efb66
JW
301 * include/bits/uses_allocator.h (__uses_allocator_helper): Simplify.
302 (__uses_allocator_arg): Remove unused type.
303 (__uses_alloc0): Turn into a trivial type.
304 (__uses_alloc): Add missing template parameter in primary template.
305 (__uses_alloc_impl): Rename to __uses_alloc_t.
306
29f09521
JW
3072014-05-30 Jonathan Wakely <jwakely@redhat.com>
308
309 * testsuite/lib/libstdc++.exp (libstdc++_init): Adjust regexp to
310 work with previous versions of Tcl.
311
2c936344
JW
312 * doc/xml/manual/appendix_contributing.xml (list.copyright): Replace
313 Benjamin's old email address.
314
8e43535e
JW
315 * doc/xml/manual/appendix_contributing.xml (list.copyright): Add
316 Paolo's address too.
317
710d672b
JW
3182014-05-29 Jonathan Wakely <jwakely@redhat.com>
319
320 * include/tr2/bool_set: Use UTF-8 for accented characters.
321 * scripts/run_doxygen: Handle Doxygen 1.8.x change.
322 * doc/doxygen/user.cfg.in: Update to Doxygen 1.8.6 format. Set
323 QUIET=YES, remove obsolete SYMBOL_CACHE_SIZE tag.
324
ecb249dd
JW
3252014-05-27 Jonathan Wakely <jwakely@redhat.com>
326
327 PR libstdc++/61329
328 * include/bits/regex_automaton.tcc (_State_base::_M_print): Add
329 inline specifier.
330 (_State_base::_M_dot): Likewise.
331
171fa27e
PC
3322014-05-25 Paolo Carlini <paolo.carlini@oracle.com>
333
334 * include/profile/map.h: Fix typo in comment; minor formatting fix.
335 * include/profile/multimap.h: Likewise.
336 * include/profile/set.h: Likewise.
337 * include/profile/multiset.h: Likewise.
338
f3de79d4
FD
3392014-05-24 François Dumont <fdumont@gcc.gnu.org>
340
341 * include/profile/array: Clean useless white chars.
342 * include/profile/base.h: Likewise.
343 * include/profile/iterator_tracker.h: Likewise.
344 * include/profile/bitset: Code cleanup and remove not instrumented code.
345 * include/profile/deque: Likewise.
346 * include/profile/forward_list: Likewise.
347 * include/profile/list (std::__profile::_List_profile<>): New.
348 (std::__profile::list<>): Inherit from latter and adapt.
349 * include/profile/impl/profiler_map_to_unordered_map.h: Generalize
350 advise to match any ordered to unordered container conversion.
351 * include/profile/ordered_base.h (std::__profile::_Ordered_profile<>):
352 New.
353 * include/Makefile.am: Add latter.
354 * include/Makefile.in: Regenerate.
355 * include/profile/map.h (std::__profile::map<>): Inherit from latter,
356 remove not instrumented code.
357 * include/profile/multimap.h (std::__profile::multimap<>): Likewise.
358 * include/profile/set.h (std::__profile::set<>): Likewise.
359 * include/profile/multiset.h (std::__profile::multiset<>): Likewise.
360 * include/profile/unordered_base.h: Add some line feed.
361 * include/profile/unordered_map: Clean useless white chars and replace
362 spaces with tabs.
363 * include/profile/unordered_set: Likewise.
364 * include/profile/vector (std::__profile::_Vector_profile_pre<>): New.
365 (std::__profile::_Vector_profile_post<>): New.
366 (std::__profile::vector<>): Inherit from latter and adapt.
367
75a8a745
JW
3682014-05-23 Jonathan Wakely <jwakely@redhat.com>
369
370 PR libstdc++/60793
371 * testsuite/*: Use 's/\*-\*-freebsd\* /&*-*-dragonfly* /' to add
372 dragonfly target selector to all tests that run on freebsd.
373
d90838f9
JW
374 * testsuite/23_containers/vector/capacity/resize/1.cc: Add xfail for
375 dragonfly.
376 * testsuite/30_threads/call_once/60497.cc: Add target selectors.
377 * testsuite/30_threads/condition_variable/members/53841.cc: Likewise.
378
cfbe41d0
JW
379 * testsuite/30_threads/async/54297.cc: Remove duplicate dragonfly
380 selector.
381 * testsuite/30_threads/call_once/60497.cc: Likewise.
382 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
383 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
384 * testsuite/30_threads/packaged_task/60564.cc: Likewise.
385 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
386 * testsuite/30_threads/promise/60966.cc: Likewise.
387 * testsuite/30_threads/shared_lock/cons/1.cc: Likewise.
388 * testsuite/30_threads/shared_lock/cons/2.cc: Likewise.
389 * testsuite/30_threads/shared_lock/cons/3.cc: Likewise.
390 * testsuite/30_threads/shared_lock/cons/4.cc: Likewise.
391 * testsuite/30_threads/shared_lock/cons/5.cc: Likewise.
392 * testsuite/30_threads/shared_lock/cons/6.cc: Likewise.
393 * testsuite/30_threads/shared_lock/locking/1.cc: Likewise.
394 * testsuite/30_threads/shared_lock/locking/2.cc: Likewise.
395 * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
396 * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
397 * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise.
398 * testsuite/30_threads/shared_lock/modifiers/2.cc: Likewise.
399 * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise.
400 * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc:
401 * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise.
402 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
403 * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise.
404
95539f21
FD
4052014-05-21 François Dumont <fdumont@gcc.gnu.org>
406
407 PR libstdc++/61143
408 * include/bits/hashtable.h: Fix move semantic to leave hashtable in a
409 usable state.
410 * testsuite/23_containers/unordered_set/61143.cc: New.
411 * testsuite/23_containers/unordered_set/modifiers/swap.cc: New.
412
21e2806a
JW
4132014-05-21 Jonathan Wakely <jwakely@redhat.com>
414
415 PR libstdc++/61269
416 * include/std/type_traits: Move include outside namespace std.
417 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error.
418 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Likewise.
419 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
420 Likewise.
421
ab65e21a
JW
422 * config/locale/dragonfly/c_locale.cc (facet::_S_create_c_locale):
423 Fix warning.
424
dbed5a9b
JM
4252014-05-21 John Marino <gnugcc@marino.st>
426
427 * acinclude.m4 (*-*-dragonfly*): New target.
428 * configure: Regenerate.
429 * configure.host (*-*-dragonfly*): New target.
430 * config/locale/dragonfly/c_locale.cc: New.
431 * config/locale/dragonfly/ctype_members.cc: New.
432 * config/os/bsd/dragonfly/ctype_base.h: New.
433 * config/os/bsd/dragonfly/ctype_configure_char.cc: New.
434 * config/os/bsd/dragonfly/ctype_inline.h: New.
435 * config/os/bsd/dragonfly/os_defines.h: New.
436
6ed9c90a
CP
4372014-05-20 Cesar Philippidis <cesar@codesourcery.com>
438
439 * scripts/testsuite_flags.in (cxxflags): Remove @CXXFLAGS@ since
440 libstdc++.exp imports those flags via getenv.
441 * testsuite/lib/libstdc++.exp (libstdc++_init): Ensure that
442 CXXFLAGS contains a '-O' flag.
443
a852a67c
AM
4442014-05-20 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
445
446 PR libstdc++/61223
447 Revert:
448 2014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
449
450 PR libstdc++/60758
451 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
452 and add unwind directives.
453
8ec7c36a
SH
4542014-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
455
456 * testsuite/lib/libstdc++.exp (load_gcc_lib): Register loaded libs.
457
4dae67e0
TS
4582014-05-20 Tim Shen <timshen91@gmail.com>
459
460 PR libstdc++/61227
461 * include/bits/regex_compiler.h
462 (_BracketMatcher<>::_M_add_character_class): Add negative character
463 class support.
464 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply):
465 Likewise.
466 * testsuite/28_regex/algorithms/regex_match/ecma/char/quoted_char.cc:
467 Add more testcases.
468
47059228
JW
4692014-05-19 Jonathan Wakely <jwakely@redhat.com>
470
471 * python/libstdcxx/v6/printers.py: Use Python3 raise syntax.
472
80333d3d
MG
4732014-05-17 Marc Glisse <marc.glisse@inria.fr>
474
475 * libsupc++/new_op.cc: Factor the calls to malloc, use __builtin_expect.
476 * libsupc++/new_opnt.cc: Likewise.
477
a0eaa08c
JW
4782014-05-17 Jonathan Wakely <jwakely@redhat.com>
479
480 PR libstdc++/60966
481 * include/std/future (__future_base::_State_baseV2::_M_set_result):
482 Pass lock into _M_do_set and hold it until the function returns.
483 Signal condition variable after call_once completes.
484 (__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
485 signal here.
486 * testsuite/30_threads/promise/60966.cc: New.
487
cac363bc
IS
4882014-05-16 Iain Sandoe <iain@codesourcery.com>
489 Sandra Loosemore <sandra@codesourcery.com>
490
a0eaa08c
JW
491 * testsuite/libstdc++-abi/abi.exp: Defer setting of baseline_subdir
492 until after checking that the test is eligible to be run.
cac363bc 493
53caffbe
JW
4942014-05-16 Jonathan Wakely <jwakely@redhat.com>
495
496 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Fix
497 test for 32-bit target.
498 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
499 Likewise.
500 * testsuite/tr1/2_general_utilities/shared_ptr/modifiers/reset_neg.cc:
501 Fix test.
502
2a2794f7
AM
5032014-05-16 Alexey Merzlyakov <alexey.merzlyakov@samsung.com>
504
505 PR libstdc++/60758
506 * libsupc++/eh_arm.cc (__cxa_end_cleanup): Change r4 to lr in save/restore
507 and add unwind directives.
508
cd1464db
JW
5092014-05-16 Jonathan Wakely <jwakely@redhat.com>
510
511 * include/bits/parse_numbers.h (__parse_int::_Number_help): Check for
512 overflow.
513 * include/std/chrono (chrono_literals::__select_type::_Select_type):
514 Remove.
515 (chrono_literals::_Checked_integral_constant): Define.
516 Simplify UDL operator templates and check for overflow.
517 * testsuite/20_util/duration/literals/range.cc: New.
518
5192014-05-16 Ed Smith-Rowland <3dw4rd@verizon.net>
a2f4bd2a
ESR
520 Jonathan Wakely <jwakely@redhat.com>
521
522 PR libstdc++/61166
523 * include/bits/parse_numbers.h: Use integral_constant to remove
524 duplication and simplify.
525 * testsuite/20_util/duration/literals/61166.cc: New.
526
3a004764
JW
5272014-05-15 Jonathan Wakely <jwakely@redhat.com>
528
c0eef1c8
JW
529 PR libstdc++/60326
530 * include/std/type_traits (__make_unsigned, __make_signed): Define
531 specializations for wchar_t, char16_t and char32_t.
532 * testsuite/20_util/make_signed/requirements/typedefs-4.cc: New.
533 * testsuite/20_util/make_unsigned/requirements/typedefs-1.cc: Correct
534 test for make_unsigned<volatile wchar_t>.
535 * testsuite/20_util/make_unsigned/requirements/typedefs-2.cc:
536 Likewise.
537 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
538 line number.
539 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
540 Likewise.
541 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
542 Likewise.
543
c6139a77 5442014-05-15 Jonathan Wakely <jwakely@redhat.com>
c0eef1c8 545
3a004764
JW
546 * include/std/tuple (tuple_size<cv _Tp>): Implement LWG 2313.
547 * include/std/array (tuple_size, tuple_element): Add Doxygen comments.
548 * include/std/utility (tuple_size, tuple_element): Likewise.
549 * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
550 Adjust dg-error line number.
551
af222e74
JW
5522014-05-14 Jonathan Wakely <jwakely@redhat.com>
553
554 * include/std/tuple (__add_c_ref, __add_ref, __add_r_ref): Remove.
555 (__tuple_element_t): Define.
556 (tuple_element): Use __tuple_element_t.
557 (__cv_tuple_size): Define.
558 (tuple_size<cv _Tp>): Use __cv_tuple_size.
559 (get, __get_helper, __get_helper2): Remove uses of __add_ref etc.
560 (get<_Tp>(tuple<_Types...>&&)): Use forward instead of move.
561 (__tuple_compare): Remove size check, re-order parameters.
562 (operator==, operator<): Use static_assert to check requirements.
563 * include/std/functional (__volget): use __tuple_element_t.
564 * testsuite/20_util/tuple/element_access/get_by_type.cc: Test rvalues.
565 * testsuite/20_util/uses_allocator/cons_neg.cc: Adjust dg-error.
566
75e75a08
JW
5672014-05-13 Jonathan Wakely <jwakely@redhat.com>
568
569 PR libstdc++/60497
570 * include/std/tuple (get, __tuple_compare): Qualify more calls to
571 prevent ADL. Cast comparison results to bool.
572 * testsuite/20_util/tuple/60497.cc: Test accessing rvalues.
573 * testsuite/20_util/tuple/comparison_operators/overloaded.cc: New.
574
b82f988e
JW
575 PR libstdc++/60497
576 * include/debug/array (get): Qualify call to other get overload.
577 * include/profile/array (get): Likewise.
578 * include/std/array (get): Likewise.
579 * include/std/functional (_Mu, _Bind, _Bind_result): Qualify std::get.
580 * include/std/mutex (unique_lock, call_once): Use __addressof.
581 (__unlock_impl): Remove unused template.
582 (__try_to_lock): Declare inline.
583 (__try_lock_impl::__do_try_lock): Qualify function calls.
584 (lock): Avoid narrowing conversion.
585 * testsuite/20_util/bind/60497.cc: New.
586 * testsuite/23_containers/array/element_access/60497.cc: New.
587 * testsuite/30_threads/call_once/60497.cc: New.
588 * testsuite/30_threads/unique_lock/cons/60497.cc: New.
589
a8218d79
JW
5902014-05-09 Jonathan Wakely <jwakely@redhat.com>
591
592 * config/abi/pre/gnu.ver (GLIBCXX_3.4.20): Correct regex_error export.
593 (GLIBCXX_3.4.21): Export base object constructor for regex_error.
594 * acinclude.m4 (libtool_VERSION): Bump.
595 * configure: Regenerate.
596 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.21 version.
597 * testsuite/28_regex/regex_error/base.cc: New.
598
e70c7f5b
JG
5992014-05-08 Joshua Gay <jgay@gnu.org>
600
601 PR libstdc++/61117
602 * doc/xml/faq.xml (faq.license.what_restrictions): Replace "open
603 source" with "free software".
604 * doc/html/faq.html: Likewise.
605
f0fd118f
JW
6062014-05-08 Jonathan Wakely <jwakely@redhat.com>
607
608 PR libstdc++/57394
609 * include/bits/ios_base.h (ios_base(const ios_base&)): Define as
610 deleted for C++11.
611 (operator=(const ios_base&)): Likewise.
612 * include/std/streambuf: Remove trailing whitespace.
613 (basic_streambuf(const basic_streambuf&)): Fix initializer for
614 _M_out_end. Define as defaulted for C++11.
615 (operator=(const basic_streambuf&)): Define as defaulted for C++11.
616 (swap(basic_streambuf&)): Define for C++11.
617 * testsuite/27_io/basic_streambuf/cons/57394.cc: New.
618
2735097a
JW
619 PR libstdc++/13860
620 * include/std/fstream (basic_filebuf): Enforce requirements on traits.
621
07e4f10a
JW
622 * include/std/iostream: Fix URL in comment.
623 * src/c++98/ios_init.cc: Fix path in comment.
624
a3820abe
PC
6252014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
626
627 * acinclude.m4 ([GLIBCXX_ENABLE_C99]): Avoid -Wwrite-strings warning.
628 * configure: Regenerate.
629
2588652e
JW
6302014-05-07 Jonathan Wakely <jwakely@redhat.com>
631
632 PR libstdc++/61023
633 * include/bits/stl_tree.h (_Rb_tree::_M_move_assign): Copy the
634 comparison function.
635 * testsuite/23_containers/set/cons/61023.cc: New.
636
bbf264c9
JW
637 PR libstdc++/61086
638 * include/bits/stl_iterator.h (__normal_iterator::_M_const_cast):
639 Remove.
640 * include/bits/stl_vector.h (vector::insert, vector::erase): Use
641 arithmetic to obtain a mutable iterator from const_iterator.
642 * include/bits/vector.tcc (vector::insert): Likewise.
643 * include/debug/vector (vector::erase): Likewise.
644 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
645 Adjust dg-error line number.
646 * testsuite/23_containers/vector/requirements/dr438/
647 constructor_1_neg.cc: Likewise.
648 * testsuite/23_containers/vector/requirements/dr438/
649 constructor_2_neg.cc: Likewise.
650 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
651 Likewise.
652
f03d1bb9
PC
6532014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
654
655 * include/Makefile.in: Regenerate.
656
15ee1a77
FD
6572014-05-06 François Dumont <fdumont@gcc.gnu.org>
658
659 * include/debug/macros.h [__glibcxx_check_equal_allocs]: Add
660 parameter to pass the 2 instances to check allocator equality.
661 * include/debug/safe_container.h: New, define _Safe_container<>.
662 * include/Makefile.am: Add previous.
663 * include/debug/deque (std::__debug::deque<>): Inherit
664 _Safe_container<>. Use default implementation for all special
665 functions.
666 * include/debug/forward_list (std::__debug::forward_list<>):
667 Likewise.
668 * include/debug/list (std::__debug::list<>): Likewise.
669 * include/debug/map.h (std::__debug::map<>): Likewise.
670 * include/debug/multimap.h (std::__debug::multimap<>): Likewise.
671 * include/debug/set.h (std::__debug::set<>): Likewise.
672 * include/debug/multiset.h (std::__debug::multiset<>): Likewise.
673 * include/debug/string (std::__debug::basic_string<>): Likewise.
674 * include/debug/unordered_map
675 (std::__debug::unordered_map<>): Likewise.
676 (std::__debug::unordered_multimap<>): Likewise.
677 * include/debug/unordered_set
678 (std::__debug::unordered_set<>): Likewise.
679 (std::__debug::unordered_multiset<>): Likewise.
680 * include/debug/vector (std::__debug::vector<>): Likewise.
681 * include/debug/safe_base.h (_Safe_sequence_base()): Add
682 noexcept.
683 (_Safe_sequence_base(_Safe_sequence_base&&): Remove.
684 (~_Safe_sequence_base()): Add noexcept.
685 * include/debug/safe_sequence.h
686 (std::__debug::_Safe_node_sequence<>): New.
687 * include/debug/safe_unordered_base.h
688 (_Safe_unordered_container_base()): Add noexcept.
689 (~_Safe_unordered_container_base()): Likewise.
690 (_M_swap(_Safe_unordered_container_base&)): Likewise.
691 * include/debug/safe_unordered_container.h:
692 (_Safe_unordered_container<>::_M_invalidate_locals()): New.
693 (_Safe_unordered_container<>::_M_invalidate_all()): New.
694 * src/c++11/debug.cc: Limit includes, adapt methods noexcept
695 qualifications.
696 * testsuite/util/debug/checks.h (check_construct1): Just implement
697 an invalid constructor invocation and no other operations
698 potentially not supported by some types of container.
699 (check_construct2): Likewise.
700 (check_construct3): Likewise.
701 * testsuite/23_containers/forward_list/allocator/move.cc: Add
702 check on iterators to make sure they are correctly moved in debug
703 mode.
704 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
705 Likewise.
706 * testsuite/23_containers/map/allocator/move.cc: Likewise.
707 * testsuite/23_containers/map/allocator/move_assign.cc: Likewise.
708 * testsuite/23_containers/multimap/allocator/move.cc: Likewise.
709 * testsuite/23_containers/multimap/allocator/move_assign.cc:
710 Likewise.
711 * testsuite/23_containers/multiset/allocator/move.cc: Likewise.
712 * testsuite/23_containers/multiset/allocator/move_assign.cc:
713 Likewise.
714 * testsuite/23_containers/set/allocator/move.cc: Likewise.
715 * testsuite/23_containers/set/allocator/move_assign.cc: Likewise.
716 * testsuite/23_containers/unordered_map/allocator/move.cc:
717 Likewise.
718 * testsuite/23_containers/unordered_map/allocator/move_assign.cc:
719 Likewise.
720 * testsuite/23_containers/unordered_multimap/allocator/move.cc:
721 Likewise.
722 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
723 Likewise.
724 * testsuite/23_containers/unordered_multiset/allocator/move.cc:
725 Likewise.
726 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
727 Likewise.
728 * testsuite/23_containers/unordered_set/allocator/move.cc:
729 Likewise.
730 * testsuite/23_containers/unordered_set/allocator/move_assign.cc:
731 Likewise.
732 * testsuite/23_containers/forward_list/debug/construct1_neg.cc:
733 New.
734 * testsuite/23_containers/forward_list/debug/construct2_neg.cc:
735 New.
736 * testsuite/23_containers/forward_list/debug/construct3_neg.cc:
737 New.
738 * testsuite/23_containers/forward_list/debug/construct4_neg.cc:
739 New.
740 * testsuite/23_containers/forward_list/debug/move_assign_neg.cc:
741 New.
742 * testsuite/23_containers/forward_list/debug/move_neg.cc: New.
743 * testsuite/23_containers/map/debug/construct5_neg.cc: New.
744 * testsuite/23_containers/map/debug/move_assign_neg.cc: New.
745 * testsuite/23_containers/map/debug/move_neg.cc: New.
746 * testsuite/23_containers/multimap/debug/construct5_neg.cc: New.
747 * testsuite/23_containers/multimap/debug/move_assign_neg.cc: New.
748 * testsuite/23_containers/multimap/debug/move_neg.cc: New.
749 * testsuite/23_containers/multiset/debug/construct5_neg.cc: New.
750 * testsuite/23_containers/multiset/debug/move_assign_neg.cc: New.
751 * testsuite/23_containers/multiset/debug/move_neg.cc: New.
752 * testsuite/23_containers/set/debug/construct5_neg.cc: New.
753 * testsuite/23_containers/set/debug/move_assign_neg.cc: New.
754 * testsuite/23_containers/set/debug/move_neg.cc: New.
755 * testsuite/23_containers/unordered_map/debug/construct5_neg.cc:
756 New.
757 * testsuite/23_containers/unordered_map/debug/move_assign_neg.cc:
758 New.
759 * testsuite/23_containers/unordered_map/debug/move_neg.cc: New.
760 * testsuite/23_containers/unordered_multimap/debug/construct5_neg.cc:
761 New.
762 * testsuite/23_containers/unordered_multimap/debug/move_assign_neg.cc:
763 New.
764 * testsuite/23_containers/unordered_multimap/debug/move_neg.cc:
765 New.
766 * testsuite/23_containers/unordered_multiset/debug/construct5_neg.cc:
767 New.
768 * testsuite/23_containers/unordered_multiset/debug/move_assign_neg.cc:
769 New.
770 * testsuite/23_containers/unordered_multiset/debug/move_neg.cc:
771 New.
772 * testsuite/23_containers/unordered_set/debug/construct5_neg.cc:
773 New.
774 * testsuite/23_containers/unordered_set/debug/move_assign_neg.cc:
775 New.
776 * testsuite/23_containers/unordered_set/debug/move_neg.cc: New.
777 * testsuite/23_containers/vector/debug/move_neg.cc: New.
778
dd14d429
AS
7792014-05-05 Andreas Schwab <schwab@linux-m68k.org>
780
781 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt
782 (CXXABI_1.3.9): Remove __float128 symbols.
783
047f1cec
JW
7842014-05-02 Jonathan Wakely <jwakely@redhat.com>
785
786 PR libstdc++/59476
787 * python/libstdcxx/v6/printers.py (get_value_from_Rb_tree_node): New
788 function to handle both C++03 and C++11 _Rb_tree_node implementations.
789 (StdRbtreeIteratorPrinter, StdMapPrinter, StdSetPrinter): Use it.
790 * testsuite/libstdc++-prettyprinters/simple.cc: Update comment to
791 refer to...
792 * testsuite/libstdc++-prettyprinters/simple11.cc: New.
793
62da5a07
JW
794 PR libstdc++/61036
795 * include/bits/shared_ptr_base.h (__shared_ptr::__shared_ptr(_Tp1*)):
796 Check the correct type in the static assertion.
797 * testsuite/20_util/shared_ptr/cons/61036.cc: New.
798
a670a9bb
TS
7992014-04-27 Tim Shen <timshen91@gmail.com>
800
801 * include/bits/regex_automaton.h (_NFA<>::_M_insert_repeat):
802 Add _S_opcode_repeat support to distingush a loop from
803 _S_opcode_alternative.
804 * include/bits/regex_automaton.tcc (_State_base::_M_print,
805 _State_base::_M_dot, _NFA<>::_M_eliminate_dummy,
806 _StateSeq<>::_M_clone): Likewise.
807 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
808 Likewise.
809 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Likewise.
810 * include/bits/regex_scanner.tcc (_Scanner<>::_M_eat_escape_ecma):
811 Uglify local variable __i.
812 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_make_cache):
813 Use size_t instead of int to compare with vector::size().
814
8152014-04-27 Tim Shen <timshen91@gmail.com>
816
817 * include/bits/regex_executor.h: Add _M_rep_count to track how
818 many times this repeat node are visited.
819 * include/bits/regex_executor.tcc (_Executor<>::_M_rep_once_more,
820 _Executor<>::_M_dfs): Use _M_rep_count to prevent entering
821 infinite loop.
822
8232014-04-27 Tim Shen <timshen91@gmail.com>
824
825 * include/bits/regex.tcc (__regex_algo_impl<>): Remove
826 _GLIBCXX_REGEX_DFS_QUANTIFIERS_LIMIT and use
827 _GLIBCXX_REGEX_USE_THOMPSON_NFA instead.
828 * include/bits/regex_automaton.h: Remove quantifier counting variable.
829 * include/bits/regex_automaton.tcc (_State_base::_M_dot):
830 Adjust debug NFA dump.
831
e2ce9436
LGB
8322014-04-25 Lars Gullik Bjønnes <larsbj@gullik.org>
833
834 PR libstdc++/60710
835 * include/experimental/optional (operator!=): Implement in terms of
836 operator==.
837 * testsuite/experimental/optional/relops/1.cc: Remove operator!=.
838 * testsuite/experimental/optional/relops/2.cc: Likewise.
839 * testsuite/experimental/optional/relops/3.cc: Likewise.
840 * testsuite/experimental/optional/relops/4.cc: Likewise.
841 * testsuite/experimental/optional/relops/5.cc: Likewise.
842 * testsuite/experimental/optional/relops/6.cc: Likewise.
843
4ec21835
JW
8442014-04-25 Jonathan Wakely <jwakely@redhat.com>
845
846 PR libstdc++/60958
847 * include/tr1/regex (regex_traits::isctype): Comment out broken code.
848 * testsuite/util/testsuite_regex.h (regex_match_debug): Improve
849 comment.
850
e4012a04
MG
8512014-04-25 Marc Glisse <marc.glisse@inria.fr>
852
853 * testsuite/util/testsuite_abi.cc (check_version): Update for
854 CXXABI_1.3.9.
855
836c42f6
TS
8562014-04-24 Tim Shen <timshen91@gmail.com>
857
858 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()):
859 Do _M_alt before _M_next.
860 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: Add testcases.
861
b911b50d
MG
8622014-04-24 Marc Glisse <marc.glisse@inria.fr>
863
864 PR libstdc++/43622
865 * config/abi/pre/gnu.ver (CXXABI_1.3.9): Remove __float128 symbols.
866 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
867 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
868
84c5df1c
AS
8692014-04-24 Andreas Schwab <schwab@suse.de>
870
871 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update for
872 new CXXABI_1.3.9 symbols.
873
eab264af
AS
8742014-04-23 Andreas Schwab <schwab@linux-m68k.org>
875
876 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
877 (CXXABI_1.3.9): New version.
878
793c625f
MG
8792014-04-22 Marc Glisse <marc.glisse@inria.fr>
880
881 PR libstdc++/43622
882 * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols.
883 * config/abi/pre/gnu-versioned-namespace.ver: New symbols.
884 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
885
d9f069ab
RO
8862014-04-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
887
888 * configure.host: Remove solaris2.9 handling.
889 Change os_include_dir to os/solaris/solaris2.10.
890 * acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
891 * crossconfig.m4: Remove *-solaris2.9 handling, simplify.
892 * configure: Regenerate.
893 * config/abi/post/solaris2.9: Remove.
894 * config/os/solaris/solaris2.9: Rename to ...
895 * config/os/solaris/solaris2.10: ... this.
896 * config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
897 Remove.
898
899 * doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
900 Remove Solaris 9 reference.
901 * doc/html/manual/configure.html: Regenerate.
902
903 * testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
904 Remove *-*-solaris2.9 xfail.
905 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
906 Likewise.
907
908 * testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
909 xfail.
910
6e2d247b
JW
9112014-04-16 Jonathan Wakely <jwakely@redhat.com>
912
913 * include/std/functional (__is_location_invariant): Use __or_ helper.
914
4b3f9829
JW
9152014-04-15 Jonathan Wakely <jwakely@redhat.com>
916
917 PR libstdc++/60734
918 * include/bits/stl_tree.h (_Rb_tree::_M_end): Fix invalid cast.
919
9ffc6d0b
JW
920 PR libstdc++/60695
921 * include/std/atomic (atomic<_Tp>): Add static assertion.
922 * testsuite/29_atomics/atomic/60695.cc: New.
923
4803acce
JW
924 PR libstdc++/60594
925 * include/std/functional (function::_Callable): Exclude own type
926 from the callable checks.
927 * testsuite/20_util/function/60594.cc: New.
928
260d16c8
JW
929 * include/bits/atomic_base.h (__atomic_base<_PTp*>::_M_type_size): Add
930 const to constexpr member functions.
931
ed39835f
JW
932 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)): Use
933 delegating constructor.
934 * include/bits/shared_ptr_base.h
935 (__shared_ptr::__shared_ptr(nullptr_t)): Likewise
936
227df36e
JW
937 * include/std/atomic: Uglify parameter names.
938
3a0f3672
JW
939 PR c++/60786
940 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
941 1.cc: Fix invalid explicit instantiations with unqualified names.
942 * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/
943 2.cc: Likweise.
944 * testsuite/20_util/tuple/53648.cc: Likweise.
945 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
946 Likewise.
947 * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
948 Likewise.
949 * testsuite/23_containers/unordered_map/requirements/
950 debug_container.cc: Likewise.
951 * testsuite/23_containers/unordered_map/requirements/
952 explicit_instantiation/3.cc: Likewise.
953 * testsuite/23_containers/unordered_multimap/requirements/debug.cc:
954 Likewise.
955 * testsuite/23_containers/unordered_multimap/requirements/
956 explicit_instantiation/3.cc: Likewise.
957 * testsuite/23_containers/unordered_multiset/requirements/debug.cc:
958 Likewise.
959 * testsuite/23_containers/unordered_multiset/requirements/
960 explicit_instantiation/3.cc: Likewise.
961 * testsuite/23_containers/unordered_set/requirements/
962 debug_container.cc: Likewise.
963 * testsuite/23_containers/unordered_set/requirements/
964 explicit_instantiation/3.cc: Likewise.
965
a1e1bc90
JW
966 * testsuite/24_iterators/insert_iterator/requirements/container.cc: Do
967 not use uninitialized members in mem-initializers.
968 * testsuite/ext/throw_value/cons.cc: Fix most vexing parse.
969 * testsuite/util/testsuite_common_types.h: Update comment.
970
b9de84c9
JW
971 * include/experimental/string_view: Fix inconsistent exception specs.
972
33fbb358
JW
973 * include/bits/shared_ptr.h (shared_ptr::shared_ptr(nullptr_t)):
974 Remove name of unused parameter.
975
5b99e0a0
JW
9762014-04-14 Jonathan Wakely <jwakely@redhat.com>
977
978 * include/bits/stl_vector.h (_Vector_base::_Vector_impl,
979 _Vector_base::_M_allocate): NullablePointer requirements do not
980 include initialization from literal zero, use value-initialization.
981 * include/bits/vector.tcc (vector::_M_insert_aux,
982 vector::_M_explace_back_aux): Likewise for assignment.
983
e364673d
JW
984 * include/bits/allocator.h (operator==, operator!=): Add exception
985 specifications.
986
39e6a690
JW
987 PR libstdc++/60497
988 * include/std/tuple (get): Qualify calls to prevent ADL.
989 * testsuite/20_util/tuple/60497.cc: New.
990
025eac9b
JW
991 * include/std/tuple (tuple_element_t): Define.
992 * testsuite/20_util/tuple/tuple_element.cc: Change to compile-only
993 test.
994 * testsuite/20_util/tuple/tuple_element_t.cc: New.
995
4de3afd9
MG
9962014-04-11 Marc Glisse <marc.glisse@inria.fr>
997
998 PR libstdc++/59434
999 * include/bits/stl_iterator.h (move_iterator::reference,
1000 move_iterator::operator*): Implement LWG 2106.
1001 * testsuite/24_iterators/move_iterator/dr2106.cc: New file.
1002
742f66e7
MG
10032014-04-11 Marc Glisse <marc.glisse@inria.fr>
1004
1005 * include/std/complex (__complex_exp, pow): Specify the template
1006 parameter in calls to std::polar, for expression templates.
1007
9e837b7f
AS
10082014-04-10 Andreas Schwab <schwab@suse.de>
1009
4ada6d58
AS
1010 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Remove TLS
1011 symbols.
1012 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Likewise.
1013 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Likewise.
1014
9e837b7f
AS
1015 * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update.
1016
631e3e1b
JW
10172014-04-07 Jonathan Wakely <jwakely@redhat.com>
1018
1019 * testsuite/20_util/exchange/1.cc: Add missing return statements.
1020 * testsuite/20_util/pair/40925.cc: Avoid most vexing parse.
1021 * testsuite/22_locale/codecvt_byname/50714.cc: Add missing exception
1022 specifications.
1023
33466676
DH
10242014-04-02 Dominique d'Humieres <dominiq@lps.ens.fr>
1025 Jack Howarth <howarth@bromo.med.uc.edu>
1026
1027 PR target/54407
1028 * testsuite/30_threads/condition_variable/54185.cc: Skip for
1029 darwin < 11.
1030
be35d328
JW
10312014-04-01 Jonathan Wakely <jwakely@redhat.com>
1032
1033 * doc/xml/manual/backwards_compatibility.xml (backwards.third.headers):
1034 Update link.
1035 * doc/xml/manual/policy_data_structures_biblio.xml (bibliography):
1036 Fix broken links.
1037 * doc/xml/manual/shared_ptr.xml (shared_ptr.impl): Likewise.
1038 * doc/xml/manual/using_exceptions.xml (bibliography): Likewise.
1039 * doc/xml/manual/concurrency_extensions.xml
1040 (manual.ext.concurrency.impl.atomic_fallbacks): Likewise.
1041 * doc/html/*: Regenerate.
1042
71bdda56
LGB
10432014-03-31 Lars Gullik Bjønnes <larsbj@gullik.org>
1044 Jonathan Wakely <jwakely@redhat.com>
1045
1046 PR libstdc++/60270
1047 * include/std/iomanip (_Quoted_string operator>>): Do not clear
1048 string if input is not quoted.
1049 * testsuite/27_io/manipulators/standard/char/60270.cc: New.
1050
0812493f
JW
10512014-03-31 Jonathan Wakely <jwakely@redhat.com>
1052
1053 * libsupc++/eh_ptr.cc: Improve static_assert messages.
1054
750dc278
RO
10552014-03-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1056
1057 * testsuite/18_support/exception_ptr/60612-terminate.cc
1058 (terminate, f): Wrap in _GLIBCXX_USE_C99.
1059 * testsuite/18_support/exception_ptr/60612-unexpected.cc: Likewise.
1060
25d24c42
JW
10612014-03-27 Jonathan Wakely <jwakely@redhat.com>
1062
1063 * doc/xml/manual/io.xml (std.io.objects): Additional markup.
1064
6f8b5e0c
JW
1065 * doc/xml/faq.xml (faq): Refer to clauses instead of chapters.
1066 * doc/xml/manual/appendix_contributing.xml (contrib.design_notes):
1067 Likewise.
1068 * doc/xml/manual/backwards_compatibility.xml (backwards.third):
1069 Likewise.
1070 * doc/xml/manual/test.xml (test.organization.layout): Likewise.
1071
b08d3b68
JW
1072 * doc/xml/manual/containers.xml (associative.bitset.size_variable):
1073 Fix bad s/part/chapter/ substitutions.
1074 * doc/xml/manual/io.xml (std.io): Likewise.
1075 * doc/xml/manual/numerics.xml (std.numerics.generalized_ops): Likewise.
1076 * doc/xml/manual/strings.xml (strings.string.Cstring): Likewise.
1077
ffcbf03f
JW
1078 * doc/html/*: Regenerate.
1079
3941b260
JW
10802014-03-27 Jonathan Wakely <jwakely@redhat.com>
1081
1082 PR libstdc++/60612
1083 * libsupc++/eh_ptr.cc: Assert __cxa_dependent_exception layout is
1084 compatible with __cxa_exception.
1085 * libsupc++/unwind-cxx.h (__cxa_dependent_exception): Add padding.
1086 Fix typos in comments.
1087 * testsuite/18_support/exception_ptr/60612-terminate.cc: New.
1088 * testsuite/18_support/exception_ptr/60612-unexpected.cc: New.
1089
5ec16257
JW
10902014-03-25 Jonathan Wakely <jwakely@redhat.com>
1091
1092 PR libstdc++/60658
1093 * include/bits/atomic_base.h (__atomic_base<_PTp*>::is_lock_free()):
1094 Use sizeof pointer type not the element type.
1095 * testsuite/29_atomics/atomic/60658.cc: New.
1096
6f6c00f3
JJ
10972014-03-24 Jakub Jelinek <jakub@redhat.com>
1098
1099 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
1100 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1101 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1102 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1103 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1104 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1105 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1106 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1107 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Likewise.
1108 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Remove TLS
1109 entries.
1110
76627edd
JDA
11112014-03-23 John David Anglin <danglin@gcc.gnu.org>
1112
1113 * testsuite/23_containers/bitset/45713.cc: Skip compile on hppa*64*-*-*.
1114
f7279c1a
FD
11152014-03-23 François Dumont <fdumont@gcc.gnu.org>
1116
1117 * include/bits/hashtable.h (_Hashtable(allocator_type)): Fix call
1118 to delegated constructor.
1119 (_Hashtable(size_type, _H1, key_equal, allocator_type)): Likewise.
1120 (_Hashtable<_It>(_It, _It, size_type, _H1, key_equal, allocator_type)):
1121 Likewise.
1122 (_Hashtable(
1123 initializer_list, size_type, _H1, key_equal, allocator_type)): Likewise.
1124
d570d678
JDA
11252014-03-23 John David Anglin <danglin@gcc.gnu.org>
1126
1127 PR libstdc++/60623
1128 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1129
72d1f255
JW
11302014-03-21 Jonathan Wakely <jwakely@redhat.com>
1131
1132 PR libstdc++/60587
1133 * include/debug/functions.h (_Is_contiguous_sequence): Define.
1134 (__foreign_iterator): Accept additional iterator. Do not dispatch on
1135 iterator category.
1136 (__foreign_iterator_aux2): Likewise. Add overload for iterators
1137 from different types of debug container. Use _Is_contiguous_sequence
1138 instead of is_lvalue_reference.
1139 (__foreign_iterator_aux3): Accept additional iterator. Avoid
1140 dereferencing past-the-end iterator.
1141 (__foreign_iterator_aux4): Use const value_type* instead of
1142 potentially user-defined const_pointer type.
1143 * include/debug/macros.h (__glibcxx_check_insert_range): Fix comment
1144 and pass end iterator to __gnu_debug::__foreign_iterator.
1145 (__glibcxx_check_insert_range_after): Likewise.
1146 (__glibcxx_check_max_load_factor): Fix comment.
1147 * include/debug/vector (_Is_contiguous_sequence): Define partial
1148 specializations.
1149 * testsuite/23_containers/vector/debug/57779_neg.cc: Remove
1150 -std=gnu++11 option and unused header.
1151 * testsuite/23_containers/vector/debug/60587.cc: New.
1152 * testsuite/23_containers/vector/debug/60587_neg.cc: New.
1153
e70c4c41
UW
11542014-03-20 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1155
1156 * crossconfig.m4: Support spu-*-elf* targets.
1157 * configure: Regenerate.
1158
f7e68d08
JW
11592014-03-18 Jonathan Wakely <jwakely@redhat.com>
1160
1161 PR libstdc++/60564
1162 * include/std/future (__future_base::_Task_state<>): Change
1163 constructors to template functions using perfect forwarding.
1164 (__create_task_state): Use decayed type as stored task.
1165 (packaged_task::packaged_task(_Fn&&)): Forward instead of moving.
1166 * testsuite/30_threads/packaged_task/60564.cc: New.
1167
86faf710
FD
11682014-03-16 François Dumont <fdumont@gcc.gnu.org>
1169
1170 * scripts/create_testsuite_files: Add testsuite/experimental in
1171 the list of folders to search for tests.
1172
dcf39d82
AS
11732014-03-15 Andreas Schwab <schwab@linux-m68k.org>
1174
1175 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: New file.
1176
ee54a3b3
TS
11772014-03-15 Tim Shen <timshen91@gmail.com>
1178
1179 * include/bits/regex.h: Add/modify comments.
1180 * include/bits/regex_compiler.h: Likewise.
1181 * include/bits/regex_executor.h: Likewise.
1182 * include/bits/regex_executor.tcc: Likewise.
1183 * include/bits/regex_scanner.h: Likewise.
1184
b1520f3d
JW
11852014-03-14 Jonathan Wakely <jwakely@redhat.com>
1186
1187 PR ipa/58721
1188 * config/abi/pre/gnu.ver (GLIBCXX_3.4.11): Remove unused pattern for
1189 _ZNSt12system_errorC* symbols which are not exported on any target.
1190
90021b55
RM
11912014-03-12 Roland McGrath <mcgrathr@google.com>
1192 Mark Seaborn <mseaborn@google.com>
1193
1194 PR libstdc++/59392
1195 * libsupc++/eh_call.cc (__cxa_call_unexpected): Call __do_catch with
1196 the address of a null pointer, not with a null pointer to pointer.
1197 Copy comment for this case from eh_personality.cc:__cxa_call_unexpected.
1198 * testsuite/18_support/bad_exception/59392.cc: New file.
1199
06dce007
JW
12002014-03-11 Jonathan Wakely <jwakely@redhat.com>
1201
1202 PR libstdc++/60499
1203 * include/debug/forward_list (forward_list::operator=(forward_list&&)):
1204 Uglify name.
1205 * include/debug/map (map::operator=(map&&)): Likewise.
1206 * include/debug/multimap (multimap::operator=(multimap&&)): Likewise.
1207 * include/debug/multiset (multiset::operator=(multiset&&)): Likewise.
1208 * include/debug/set (set::operator=(set&&)): Likewise.
1209 * include/debug/unordered_map
1210 (unordered_map::operator=(unordered_map&&)): Likewise.
1211 (unordered_multimap::operator=(unordered_multimap&&)): Likewise.
1212 * include/debug/unordered_set
1213 (unordered_set::operator=(unordered_set&&)): Likewise.
1214 (unordered_multiset::operator=(unordered_multiset&&)): Likewise.
1215 * include/debug/vector (vector::operator=(vector&&)): Likewise.
1216 * testsuite/23_containers/forward_list/debug/60499.cc: New
1217 * testsuite/23_containers/map/debug/60499.cc: New
1218 * testsuite/23_containers/multimap/debug/60499.cc: New
1219 * testsuite/23_containers/multiset/debug/60499.cc: New
1220 * testsuite/23_containers/set/debug/60499.cc: New
1221 * testsuite/23_containers/unordered_map/debug/60499.cc: New
1222 * testsuite/23_containers/unordered_multimap/debug/60499.cc: New
1223 * testsuite/23_containers/unordered_multiset/debug/60499.cc: New
1224 * testsuite/23_containers/unordered_set/debug/60499.cc: New
1225 * testsuite/23_containers/vector/debug/60499.cc: New
1226
700bf0d3
ESR
12272014-03-05 Ed Smith-Rowland <3dw4rd@verizon.net>
1228
1229 * doc/xml/manual/status_cxx2014.xml: Add new items and latest papers
1230 for filesystem and fundamentals TS work items.
1231
064fd5a8
PC
12322014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
1233
1234 PR c++/60376
1235 * testsuite/29_atomics/headers/atomic/types_std_c++0x_neg.cc:
1236 Adjust dg-error directives.
1237
91bb5cd9
TS
12382014-02-26 Tim Shen <timshen91@gmail.com>
1239
1240 * include/bits/regex.tcc (match_results<>::format,
1241 regex_replace<>): Update __out after calling std::copy.
1242 * testsuite/28_regex/algorithms/regex_replace/char/dr2213.cc:
1243 Add testcase.
1244 * testsuite/28_regex/match_results/format.cc: Likewise.
1245
6aba6941
MG
12462014-02-22 Marc Glisse <marc.glisse@inria.fr>
1247
1248 PR libstdc++/60308
1249 * include/bits/stl_deque.h (_Deque_base::_Deque_base(const
1250 allocator_type&)): Remove redundant call to _M_initialize_map.
1251 (deque::deque(const allocator_type&)): Initialize _Base with a
1252 constructor that calls _M_initialize_map.
1253
1254 Partial revert:
1255
1256 2013-09-20 Marc Glisse <marc.glisse@inria.fr>
1257 PR libstdc++/58338
1258 (_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
1259 _M_initialize_map.
1260
94ff3384
ESR
12612014-02-21 Ed Smith-Rowland <3dw4rd@verizon.net>
1262
1263 Rename testsuite directory shared_mutex to shared_timed_mutex
1264 for consistency.
1265 * testsuite/30_threads/shared_mutex: Moved to...
1266 * testsuite/30_threads/shared_timed_mutex: ...here
1267
4bbfc5fa
ESR
12682014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
1269
1270 Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
1271 * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
1272 * testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
1273 * testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
1274 * testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
1275 * testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
1276 * testsuite/30_threads/shared_lock/requirements/
1277 explicit_instantiation.cc: Ditto.
1278 * testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
1279 * testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
1280 * testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
1281 * testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
1282 * testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
1283 * testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
1284 * testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
1285 * testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
1286 * testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
1287 * testsuite/30_threads/shared_mutex/requirements/
1288 standard_layout.cc: Ditto.
1289 * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
1290 * testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
1291 * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
1292 * testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
1293 * testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
1294
53a6d1ce
RO
12952014-02-10 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1296
1297 * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail
1298 execution on i?86-*-solaris2.9, remove comment.
1299 * testsuite/22_locale/num_put/put/wchar_t/14220.cc: Likewise.
1300
5a47e4c5
RS
13012014-02-09 Richard Sandiford <rdsandiford@googlemail.com>
1302
1303 * config/abi/post/mips64-linux-gnu/32/baseline_symbols.txt: New file.
1304 * config/abi/post/mips64-linux-gnu/baseline_symbols.txt: Update.
1305 * config/abi/post/mips64-linux-gnu/64/baseline_symbols.txt: Likewise.
1306
85c13695 13072014-01-29 Jonathan Wakely <jwakely@redhat.com>
20067423
JW
1308
1309 * include/bits/alloc_traits.h (allocator_traits::_S_allocate): Do
1310 not use varargs when argument could be non-POD.
1311 (__alloctr_rebind_helper): Eliminate static const bool member by
1312 using true_type and false_type.
1313 (allocator_traits::__allocate_helper): Likewise.
1314 (allocator_traits::__construct_helper): Likewise.
1315 (allocator_traits::__destroy_helper): Likewise.
1316 (allocator_traits::__maxsize_helper): Likewise.
1317 (allocator_traits::__select_helper): Likewise.
1318 * include/bits/ptr_traits.h (__ptrtr_rebind_helper): Likewise.
1319 * include/bits/stl_tree.h (_Rb_tree::operator=(const _Rb_tree&)):
1320 Remove redundant condition.
1321 * include/bits/stl_vector.h (vector::operator=(const vector&)):
1322 Likewise.
1323 (_Vector_impl::_M_allocate, _Vector_impl::_M_deallocate): Use
1324 indirection through __alloc_traits.
1325 * include/ext/alloc_traits.h (__allocator_always_compares_equal):
1326 Eliminate static const bool members by using true_type and false_type.
1327 (__gnu_cxx::__alloc_traits::__is_custom_pointer): Optimize.
1328 * testsuite/util/testsuite_allocator.h (PointerBase): Define.
1329 * testsuite/20_util/allocator_traits/members/allocate_hint_nonpod.cc:
1330 New.
1331 * testsuite/20_util/allocator_traits/requirements/typedefs2.cc: New.
1332
8a972abd
JW
1333 PR libstdc++/59829
1334 * include/bits/stl_vector.h (vector::data()): Call _M_data_ptr.
1335 (vector::_M_data_ptr): New overloaded functions to ensure empty
1336 vectors do not dereference the pointer.
1337 * testsuite/23_containers/vector/59829.cc: New.
1338 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1339 Adjust dg-error line number.
1340 * testsuite/23_containers/vector/requirements/dr438/
1341 constructor_1_neg.cc: Likewise.
1342 * testsuite/23_containers/vector/requirements/dr438/
1343 constructor_2_neg.cc: Likewise.
1344 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1345 Likewise.
1346
d530142d
JW
1347 PR libstdc++/21609
1348 * include/ext/array_allocator.h: Add deprecated attribute.
1349
1492a408
JW
1350 PR libstdc++/57226
1351 * doc/xml/manual/debug.xml (debug.gdb): Update documentation for
1352 installation and use of python printers.
1353 * doc/xml/manual/status_cxx2011.xml: Update.
1354 * doc/html/*: Regenerate.
1355
156b60e0
JW
13562014-01-28 Jonathan Wakely <jwakely@redhat.com>
1357 Kyle Lippincott <spectral@google.com>
1358
1359 PR libstdc++/59656
1360 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing
1361 constructor and grant friendship to weak_ptr.
1362 (weak_ptr::lock()): Use new constructor.
1363 * include/bits/shared_ptr_base.h
1364 (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function
1365 and define specializations.
1366 (__shared_count): Add new non-throwing constructor.
1367 (__shared_ptr): Add new non-throwing constructor and grant friendship
1368 to __weak_ptr.
1369 (__weak_ptr::lock()): Use new constructor.
1370 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error.
1371 * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
1372
fb1ca954
JW
13732014-01-27 Jonathan Wakely <jwakely@redhat.com>
1374
1375 PR libstdc++/59215
1376 * include/bits/shared_ptr_base.h
1377 (_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
1378 load.
1379
ccc2e73c
JM
13802014-01-27 Jason Merrill <jason@redhat.com>
1381
1382 Core DR 475
1383 PR c++/41174
1384 PR c++/59224
1385 * libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
1386 * libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
1387 (__cxa_allocate_exception): Don't set it here.
1388
4d0bb770
JW
13892014-01-26 Jonathan Wakely <jwakely@redhat.com>
1390
1391 * include/bits/stl_map.h: Remove anachronistic comment.
1392 * include/bits/stl_multimap.h: Add whitespace.
1393 * testsuite/23_containers/map/modifiers/emplace/1.cc: Use
1394 -std=gnu++11 instead of -std=c++11.
1395 * testsuite/23_containers/map/operators/2.cc: Likewise.
1396 * testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
1397 * testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
1398 * testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.
1399
2720e16b
JW
1400 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
1401 * configure: Regenerate.
1402
bb393514
ESR
14032014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1404
1405 PR libstdc++/59531
1406 * testsuite/experimental/string_view/operations/copy/char/1.cc: New.
1407 * testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
1408
14092014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1410 Peter A. Bigot <pab@pabigot.com>
1411
1412 PR libstdc++/59531
1413 * include/experimental/string_view
1414 (copy(_CharT*, size_type, size_type) const): Correct throw string.
1415 Correct copy start location.
1416
14172014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1418 Peter A. Bigot <pab@pabigot.com>
1419
1420 PR libstdc++/59530
1421 * include/experimental/string_view (operator[](size_type) const):
1422 Fix one-off index error in debug check.
1423 * testsuite/experimental/string_view/element_access/char/1.cc: Don't
1424 test basic_string_view at size().
1425 * testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
1426
14272014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
1428 Peter A. Bigot <pab@pabigot.com>
1429
1430 PR libstdc++/59529
1431 * include/experimental/string_view
1432 (basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
1433 * testsuite/experimental/string_view/operations/substr/char/1.cc:
1434 Comment out catch of out_of_range; No terminating null
1435 in basic_string_view. Check begin == end.
1436 * testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
1437 Ditto.
1438
f7491277
JW
14392014-01-24 Jonathan Wakely <jwakely@redhat.com>
1440
1441 PR libstdc++/59548
1442 * include/debug/safe_base.h (_Safe_sequence_base): Define copy
1443 constructor to prevent it being implicitly defined as deleted, but
1444 do not copy anything.
1445 * include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
1446 Define copy and move constructors similar to _Safe_sequence_base's.
1447 * testsuite/23_containers/unordered_map/59548.cc: New.
1448
7370b9df
BRF
14492014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
1450 Steve Ellcey <sellcey@mips.com>
1451
1452 * acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
1453 function.
1454 * configure.ac: Use GLIBCXX_CHECK_TMPNAM.
1455 * (configure, config.h.in): Regenerate.
1456 * include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
1457
1f0affce
JW
14582014-01-23 Jonathan Wakely <jwakely@redhat.com>
1459
1460 * doc/xml/faq.xml (a-how_to_set_paths): Expand FAQ answer.
1461 * doc/xml/manual/abi.xml (abi.versioning.history): Correct symver.
1462
6a5839c8
JW
1463 PR libstdc++/59872
1464 * include/bits/stl_map.h (map::operator=(map&&)): Fix comment.
1465 * include/bits/stl_multimap.h (multimap::operator=(multimap&&)):
1466 Likewise.
1467 * include/bits/stl_multiset.h (multiset::operator=(multiset&&)):
1468 Likewise.
1469 * include/bits/stl_set.h (set::operator=(set&&)): Likewise.
1470 * include/bits/stl_tree.h (_Rb_tree::_M_move_data): New overloaded
1471 functions to perform moving or copying of elements from rvalue tree.
1472 (_Rb_tree::_Rb_tree(_Rb_tree&&)): Use _M_move_data.
1473 (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Likewise.
1474 * testsuite/23_containers/map/59872.cc: New.
1475 * testsuite/23_containers/map/56613.cc: Remove duplicate include.
1476
af0e0fa0
JW
14772014-01-22 Jonathan Wakely <jwakely@redhat.com>
1478
1479 * include/bits/stl_deque.h (_Deque_impl): Move comment.
1480
c3cdd71f
JW
1481 PR libstdc++/58764
1482 * include/bits/stl_deque.h (deque::deque(const allocator_type&):
1483 Split into separate default constructor and constructor taking
1484 allocator.
1485 * include/bits/stl_list.h (list::list(const allocator_type&): Likewise.
1486 * include/bits/stl_vector.h (vector::vector(const allocator_type&):
1487 Likewise.
1488 * include/debug/deque (deque::deque(const allocator_type&)): Likewise.
1489 * include/debug/list (list::list(const _Allocator&)): Likewise.
1490 * include/debug/map.h (map::map(const _Compare&, const _Allocator&)):
1491 Likewise.
1492 * include/debug/multimap.h
1493 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1494 * include/debug/set.h (set::set(const _Compare&, const _Allocator&)):
1495 Likewise.
1496 * include/debug/multiset.h
1497 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1498 * include/debug/vector (vector::vector(const allocator_type&)):
1499 Likewise.
1500 * include/profile/deque (deque::deque(const _Allocator&)): Likewise.
1501 * include/profile/list (list::list(const _Allocator&)): Likewise.
1502 * include/profile/map.h
1503 (map::map(const _Compare&, const _Allocator&)): Likewise.
1504 * include/profile/multimap.h
1505 (multimap::multimap(const _Compare&, const _Allocator&)): Likewise.
1506 * include/profile/set.h
1507 (set::set(const _Compare&, const _Allocator&)): Likewise.
1508 * include/profile/multiset.h
1509 (multiset::multiset(const _Compare&, const _Allocator&)): Likewise.
1510 * include/profile/vector (vector::vector(const _Allocator&)):
1511 Likewise.
1512 * testsuite/23_containers/deque/58764.cc: New.
1513 * testsuite/23_containers/list/58764.cc: New.
1514 * testsuite/23_containers/map/58764.cc: New.
1515 * testsuite/23_containers/multimap/58764.cc: New.
1516 * testsuite/23_containers/set/58764.cc: New.
1517 * testsuite/23_containers/multiset/58764.cc: New.
1518 * testsuite/23_containers/vector/58764.cc: New.
1519 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
1520 Adjust dg-error line number.
1521 * testsuite/23_containers/deque/requirements/dr438/
1522 constructor_1_neg.cc: Likewise.
1523 * testsuite/23_containers/deque/requirements/dr438/
1524 constructor_2_neg.cc: Likewise.
1525 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
1526 Likewise.
1527 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1528 Likewise.
1529 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1530 Likewise.
1531 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1532 Likewise.
1533 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1534 Likewise.
1535 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1536 Likewise.
1537 * testsuite/23_containers/vector/requirements/dr438/
d9dcda6f
JW
1538 constructor_1_neg.cc: Likewise.
1539 * testsuite/23_containers/vector/requirements/dr438/
1540 constructor_2_neg.cc: Likewise.
1541 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1542 Likewise.
1543
1544 PR libstdc++/58764 (again)
1545 * include/bits/stl_list.h (list): Make default constructor's exception
1546 specification conditional.
1547 * include/bits/stl_vector.h (vector): Likewise.
1548 * testsuite/util/testsuite_allocator.h (SimpleAllocator): Add noexcept
1549 to default constructor.
1550 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1551 Adjust dg-error line number.
1552 * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc:
1553 Likewise.
1554 * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc:
1555 Likewise.
1556 * testsuite/23_containers/list/requirements/dr438/insert_neg.cc:
1557 Likewise.
1558 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1559 Likewise.
1560 * testsuite/23_containers/vector/requirements/dr438/
c3cdd71f
JW
1561 constructor_1_neg.cc: Likewise.
1562 * testsuite/23_containers/vector/requirements/dr438/
1563 constructor_2_neg.cc: Likewise.
1564 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1565 Likewise.
1566
8f7082f5
TS
15672014-01-21 Tim Shen <timshen91@gmail.com>
1568
1569 * include/bits/regex.tcc: Remove incorrect `nosubs` handling.
1570 * include/bits/regex_scanner.tcc: Handle `nosubs` correctly.
1571 * testsuite/28_regex/constants/syntax_option_type.cc: Add a test case.
1572
6ff956e3
JW
15732014-01-21 Jonathan Wakely <jwakely@redhat.com>
1574
1575 PR libstdc++/56267
1576 * include/bits/hashtable.h (__cache_default): Do not depend on
1577 whether the hash function is DefaultConstructible or CopyAssignable.
1578 (_Hashtable): Adjust static assertions.
1579 * doc/xml/manual/containers.xml (containers.unordered.cache): Update.
1580 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1581 dg-error line number.
1582 * testsuite/23_containers/unordered_set/
1583 not_default_constructible_hash_neg.cc: Remove.
1584
9d0bb2ea
FD
15852014-01-20 François Dumont <fdumont@gcc.gnu.org>
1586
1587 * scripts/create_testsuite_files: Add testsuite/experimental in
1588 the list of folders to search for tests.
1589 * include/experimental/string_view
1590 (basic_string_view<>::operator[]): Comment _GLIBCXX_DEBUG_ASSERT,
1591 incompatible with constexpr qualifier.
1592 (basic_string_view<>::front()): Likewise.
1593 (basic_string_view<>::back()): Likewise.
1594 * testsuite/experimental/string_view/element_access/wchar_t/2.cc:
1595 Merge dg-options directives into one.
1596 * testsuite/experimental/string_view/element_access/char/2.cc:
1597 Likewise. Remove invalid experimental namespace scope on
1598 string_view_type.
1599
92e16228
JW
16002014-01-20 Jonathan Wakely <jwakely@redhat.com>
1601
1602 PR libstdc++/56267
1603 * include/bits/hashtable_policy.h (_Hash_code_base<... false>): Grant
1604 friendship to _Local_iterator_base<..., false>.
1605 (_Local_iterator_base): Give protected access to all existing members.
1606 (_Local_iterator_base::_M_curr()): New public accessor.
1607 (_Local_iterator_base::_M_get_bucket()): New public accessor.
1608 (_Local_iterator_base<..., false>::_M_init()): New function to manage
1609 the lifetime of the _Hash_code_base explicitly.
1610 (_Local_iterator_base<..., false>::_M_destroy()): Likewise.
1611 (_Local_iterator_base<..., false>): Define copy constructor and copy
1612 assignment operator that use new functions to manage _Hash_code_base.
1613 (operator==(const _Local_iterator_base&, const _Local_iterator_base&),
1614 operator==(const _Local_iterator_base&, const _Local_iterator_base&)):
1615 Use public API for _Local_iterator_base.
1616 * include/debug/safe_local_iterator.h (_Safe_local_iterator): Likewise.
1617 * include/debug/unordered_map (__debug::unordered_map::erase(),
1618 __debug::unordered_multimap::erase()): Likewise.
1619 * include/debug/unordered_set (__debug::unordered_set::erase(),
1620 __debug::unordered_multiset::erase()): Likewise.
1621 * testsuite/23_containers/unordered_set/56267-2.cc: New test.
1622
053eb1f3
TS
16232014-01-19 Tim Shen <timshen91@gmail.com>
1624
1625 * include/bits/regex_compiler.h (_Comipler<>::_M_quantifier()):
1626 Fix parse error of multiple consecutive quantifiers like "a**".
1627 * include/bits/regex_compiler.tcc (_Comipler<>::_M_quantifier()):
1628 Likewise.
1629 * testsuite/28_regex/basic_regex/multiple_quantifiers.cc: New.
1630
1217ee06
FD
16312014-01-17 François Dumont <fdumont@gcc.gnu.org>
1632
1633 * include/profile/set.h (set): Implement C++11 allocator-aware
1634 container requirements.
1635 * include/profile/map.h (map): Likewise.
1636 * include/profile/multiset.h (multiset): Likewise.
1637 * include/profile/multimap.h (multimap): Likewise.
1638 * include/profile/set.h
1639 (set::operator=(const set&)): Define as default in C++11 mode.
1640 (set::operator=(set&&)): Likewise.
1641 * include/profile/map.h
1642 (map::operator=(const map&)): Likewise.
1643 (map::operator=(map&&)): Likewise.
1644 * include/profile/multiset.h
1645 (multiset::operator=(const multiset&)): Likewise.
1646 (multiset::operator=(multiset&&)): Likewise.
1647 * include/profile/multimap.h
1648 (multimap::operator=(const multimap&)): Likewise.
1649 (multimap::operator=(multimap&&)): Likewise.
1650 * include/profile/set.h (set::operator=(std::initializer_list<>)):
1651 Rely on the same operator from normal mode.
1652 * include/profile/map.h (map::operator=(std::initializer_list<>)):
1653 Likewise.
1654 * include/profile/multiset.h
1655 (multiset::operator=(std::initializer_list<>)): Likewise.
1656 * include/profile/multimap.h
1657 (multimap::operator=(std::initializer_list<>)): Likewise.
1658 * include/profile/set.h (set::swap(set&)): Add noexcept
1659 specification.
1660 * include/profile/map.h (map::swap(map&)): Likewise.
1661 * include/profile/multiset.h (multiset::swap(multiset&)): Likewise.
1662 * include/profile/multimap.h (multimap::swap(multimap&)): Likewise.
1663
ddf41e9d
TS
16642014-01-17 Tim Shen <timshen91@gmail.com>
1665
1666 * include/bits/regex_automaton.tcc (_StateSeq<>::_M_clone()): Do not
1667 use std::map.
1668 * include/bits/regex_automaton.h: Do not use std::set.
1669 * include/bits/regex_compiler.h (_BracketMatcher<>::_M_add_char(),
1670 _BracketMatcher<>::_M_add_collating_element(),
1671 _BracketMatcher<>::_M_add_equivalence_class(),
1672 _BracketMatcher<>::_M_make_range()): Likewise.
1673 * include/bits/regex_compiler.tcc (_BracketMatcher<>::_M_apply()):
1674 Likewise.
1675 * include/bits/regex_executor.h: Do not use std::queue.
1676 * include/bits/regex_executor.tcc (_Executor<>::_M_main(),
1677 _Executor<>::_M_dfs()): Likewise.
1678 * include/std/regex: Remove <map>, <set> and <queue>.
1679
16802014-01-17 Tim Shen <timshen91@gmail.com>
1681
1682 * include/bits/regex.h (__compile_nfa<>(), basic_regex<>::basic_regex(),
1683 basic_regex<>::assign()): Change __compile_nfa to accept
1684 const _CharT* only.
1685 * include/bits/regex_compiler.h: Change _Compiler's template
1686 argument from <_FwdIter, _TraitsT> to <_TraitsT>.
1687 * include/bits/regex_compiler.tcc: Likewise.
1688
16892014-01-17 Tim Shen <timshen91@gmail.com>
1690
1691 * include/bits/regex_compiler.h: Change _ScannerT into char-type
1692 templated.
1693 * include/bits/regex_scanner.h (_Scanner<>::_Scanner()): Separate
1694 _ScannerBase from _Scanner; Change _Scanner's template argument from
1695 _FwdIter to _CharT. Avoid use of std::map and std::set by using arrays
1696 instead.
1697 * include/bits/regex_scanner.tcc (_Scanner<>::_Scanner(),
1698 _Scanner<>::_M_scan_normal(), _Scanner<>::_M_eat_escape_ecma(),
1699 _Scanner<>::_M_eat_escape_posix(), _Scanner<>::_M_eat_escape_awk()):
1700 Likewise.
1701 * include/std/regex: Add <cstring> for using strchr.
1702
17032014-01-17 Tim Shen <timshen91@gmail.com>
1704
1705 * bits/regex_automaton.tcc: Indentation fix.
1706 * bits/regex_compiler.h (__compile_nfa<>(), _Compiler<>,
1707 _RegexTranslator<> _AnyMatcher<>, _CharMatcher<>,
1708 _BracketMatcher<>): Add bool option template parameters and
1709 specializations to make matching more efficient and space saving.
1710 * bits/regex_compiler.tcc: Likewise.
1711
1bb59e05
FD
17122014-01-15 François Dumont <fdumont@gcc.gnu.org>
1713
9b7dc56e 1714 PR libstdc++/59712
1bb59e05
FD
1715 * include/bits/hashtable_policy.h: Fix some long lines.
1716 * include/bits/hashtable.h (__hash_code_base_access): Define and
1717 use it to check its _M_bucket_index noexcept qualification. Use
1718 also in place of...
1719 (__access_protected_ctor): ...this.
1720 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1721 Adapt line number.
1722 * testsuite/23_containers/unordered_set/
1723 not_default_constructible_hash_neg.cc: Likewise.
1724
51835a80
FD
17252014-01-13 François Dumont <fdumont@gcc.gnu.org>
1726
1727 * include/debug/set.h (set): Implement C++11 allocator-aware
1728 container requirements.
1729 * include/debug/map.h (map): Likewise.
1730 * include/debug/multiset.h (multiset): Likewise.
1731 * include/debug/multimap.h (multimap): Likewise.
1732 * include/debug/set.h (set::operator=(set&&)): Add noexcept and
1733 fix implementation regarding management of safe iterators.
1734 * include/debug/map.h (map::operator=(map&&)): Likewise.
1735 * include/debug/multiset.h (multiset::operator=(multiset&&)): Likewise.
1736 * include/debug/multimap.h (multimap::operator=(multimap&&)):
1737 Likewise.
1738 * include/debug/set.h (set::operator=(std::initializer_list<>)):
1739 Rely on the same operator from normal mode.
1740 * include/debug/map.h (map::operator=(std::initializer_list<>)):
1741 Likewise.
1742 * include/debug/multiset.h
1743 (multiset::operator=(std::initializer_list<>)): Likewise.
1744 * include/debug/multimap.h
1745 (multimap::operator=(std::initializer_list<>)): Likewise.
1746 * include/debug/set.h (set::swap(set&)): Add noexcept
1747 specification, add allocator equality check.
1748 * include/debug/map.h (map::swap(map&)): Likewise.
1749 * include/debug/multiset.h (multiset::swap(multiset&)): Likewise.
1750 * include/debug/multimap.h (multimap::swap(multimap&)): Likewise.
1751
92bf1382
JW
17522014-01-10 Jonathan Wakely <jwakely@redhat.com>
1753
1754 PR libstdc++/59698
1755 * doc/xml/manual/status_cxx1998.xml (iso.1998.specific): Markup
1756 and stylistic improvements.
1757 * doc/xml/manual/codecvt.xml (std.localization.facet.codecvt): Likewise
1758 and update for C++11.
1759 * doc/xml/manual/ctype.xml (std.localization.facet.ctype): Likewise.
1760
b1fb52ca
JW
1761 PR libstdc++/59687
1762 * doc/xml/manual/backwards_compatibility.xml
1763 (backwards.third.nocreate_noreplace): Correct and expand.
1764
48c7451e
JW
1765 PR libstdc++/59699
1766 * doc/xml/manual/support.xml (std.support.types.null): Update links.
1767
f0bc4aea
JW
17682014-01-09 Jonathan Wakely <jwakely@redhat.com>
1769
1770 PR libstdc++/59738
1771 * include/bits/stl_vector.h (vector<>::_M_move_assign): Restore
1772 support for non-Movable types.
1773
4bc0ec32
JW
1774 PR libstdc++/59680
1775 * src/c++11/thread.cc (__sleep_for): Fix call to ::sleep.
1776
ace295af
FD
17772014-01-08 François Dumont <fdumont@gcc.gnu.org>
1778
1779 * include/bits/stl_vector.h (std::vector<>::_M_move_assign): Pass
1780 *this allocator instance when building temporary vector instance
1781 so that *this allocator does not get moved.
1782 * include/debug/safe_base.h
1783 (_Safe_sequence_base(_Safe_sequence_base&&)): New.
1784 * include/debug/vector (__gnu_debug::vector<>(vector&&)): Use new
1785 move constructor from _Safe_sequence_base.
1786 (__gnu_debug::vector<>(vector&&, const allocator_type&)): Swap
1787 safe iterators if the instance is moved.
1788 (__gnu_debug::vector<>::operator=(vector&&)): Likewise.
1789 * testsuite/23_containers/vector/allocator/move.cc (test01): Add
1790 check on a vector iterator.
1791 * testsuite/23_containers/vector/allocator/move_assign.cc
1792 (test02): Likewise.
1793 (test03): New, test with a non-propagating allocator.
1794 * testsuite/23_containers/vector/debug/move_assign_neg.cc: New.
1795
f43cc2a6
TS
17962014-01-07 Tim Shen <timshen91@gmail.com>
1797
1798 * include/bits/regex_compiler.h (_AnyMatcher<>::_AnyMatcher(),
1799 _AnyMatcher<>::operator(), _AnyMatcher<>::_M_apply(),
1800 _CharMatcher<>::_CharMatcher(), _CharMatcher<>::_M_translate(),
1801 _BracketMatcher<>::_BracketMatcher(), _BracketMatcher<>::operator(),
1802 _BracketMatcher<>::_M_add_char(),
1803 _BracketMatcher<>::_M_add_collating_element(),
1804 _BracketMatcher<>::_M_add_equivalence_class(),
1805 _BracketMatcher<>::_M_add_character_class(),
1806 _BracketMatcher<>::_M_make_range(), _BracketMatcher<>::_M_ready(),
1807 _BracketMatcher<>::_M_apply(), _BracketMatcher<>::_M_make_cache()):
1808 Fix _AnyMatcher behavior of POSIX style and move _M_flags
1809 to template parameter; Add cache for _BracketMatcher. Adjust
1810 declarations from here...
1811 * include/bits/regex.h (basic_regex<>::imbue()): ...to here. Also,
1812 imbuing a regex will trigger a recompilation to rebuild the cache.
1813 * include/bits/regex_compiler.tcc (_Compiler<>::_M_atom(),
1814 _Compiler<>::_M_bracket_expression()): Adjust matchers' caller for
1815 different template bool parameters.
1816 * include/bits/regex_executor.h: Remove unnecessary declarations.
1817 * include/std/regex: Adjust including orders.
1818 * testsuite/28_regex/traits/char/user_defined.cc: New.
1819 * testsuite/28_regex/traits/wchar_t/user_defined.cc: New.
1820
14c12d0d
RO
18212014-01-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1822
1823 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1824 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1825 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1826 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1827 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1828
aa118a03
RS
18292014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1830
1831 Update copyright years
1832
f9030485
RS
18332014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1834
1835 * testsuite/18_support/new_handler.cc,
1836 testsuite/18_support/terminate_handler.cc,
1837 testsuite/18_support/unexpected_handler.cc: Use the standard form for
1838 the copyright notice.
86a2db33 1839\f
94c13a09 1840Copyright (C) 2014 Free Software Foundation, Inc.
3cc6dd4d 1841
86a2db33
JJ
1842Copying and distribution of this file, with or without modification,
1843are permitted in any medium without royalty provided the copyright
1844notice and this notice are preserved.