]>
Commit | Line | Data |
---|---|---|
f55e699d JW |
1 | 2015-11-11 Jonathan Wakely <jwakely@redhat.com> |
2 | ||
3 | PR libstdc++/60421 | |
4 | * include/std/thread (this_thread::sleep_for): Retry on EINTR. | |
5 | (this_thread::sleep_until): Retry if time not reached. | |
6 | * src/c++11/thread.cc (__sleep_for): Retry on EINTR. | |
7 | * testsuite/30_threads/this_thread/60421.cc: Test interruption and | |
8 | non-steady clocks. | |
9 | ||
e3907f12 | 10 | 2015-11-11 Ville Voutilainen <ville.voutilainen@gmail.com> |
269fa2a9 VV |
11 | |
12 | LWG 2510, make the default constructors of library tag types | |
13 | explicit. | |
14 | * include/bits/mutex.h (defer_lock_t, try_lock_t, | |
15 | adopt_lock_t): Add an explicit default constructor. | |
16 | * include/bits/stl_pair.h (piecewise_construct_t): Likewise. | |
17 | * include/bits/uses_allocator.h (allocator_arg_t): Likewise. | |
18 | * libsupc++/new (nothrow_t): Likewise. | |
19 | * testsuite/17_intro/tag_type_explicit_ctor.cc: New. | |
20 | ||
832ca6ac JW |
21 | 2015-11-11 Jonathan Wakely <jwakely@redhat.com> |
22 | ||
23 | PR libstdc++/64651 | |
24 | * libsupc++/exception_ptr.h (rethrow_exception): Add using-declaration | |
25 | to __exception_ptr namespace. | |
26 | * testsuite/18_support/exception_ptr/rethrow_exception.cc: Test ADL. | |
27 | Remove unnecessary test variables. | |
28 | ||
fb933335 JW |
29 | 2015-11-10 Jonathan Wakely <jwakely@redhat.com> |
30 | ||
d4a9dffb JW |
31 | PR libstdc++/68190 |
32 | * include/bits/stl_multiset.h (multiset::find): Fix return types. | |
33 | * include/bits/stl_set.h (set::find): Likewise. | |
34 | * testsuite/23_containers/map/operations/2.cc: Test find return types. | |
35 | * testsuite/23_containers/multimap/operations/2.cc: Likewise. | |
36 | * testsuite/23_containers/multiset/operations/2.cc: Likewise. | |
37 | * testsuite/23_containers/set/operations/2.cc: Likewise. | |
38 | ||
60baa188 JW |
39 | * doc/xml/manual/status_cxx2017.xml: Update. |
40 | * doc/html/*: Regenerate. | |
41 | ||
fb933335 JW |
42 | * include/bits/functional_hash.h: Fix grammar in comment. |
43 | ||
ec494945 FD |
44 | 2015-11-09 François Dumont <fdumont@gcc.gnu.org> |
45 | ||
46 | * include/bits/stl_algo.h | |
47 | (partial_sort_copy): Instantiate std::iterator_traits only if concept | |
48 | checks. | |
49 | (lower_bound): Likewise. | |
50 | (upper_bound): Likewise. | |
51 | (equal_range): Likewise. | |
52 | (binary_search): Likewise. | |
53 | * include/bits/stl_heap.h (pop_heap): Likewise. | |
54 | ||
277ec793 KT |
55 | 2015-11-06 Kai Tietz <ktietz70@googlemail.com> |
56 | ||
57 | * testsuite/26_numerics/complex/requirements/constexpr.cc | |
58 | * testsuite/26_numerics/complex/requirements/constexpr_functions.cc: | |
59 | Use constexpr where needed. | |
60 | ||
9a4bbd5d DM |
61 | 2015-11-06 David Malcolm <dmalcolm@redhat.com> |
62 | ||
63 | * testsuite/lib/libstdc++.exp (v3_target_compile): Add | |
64 | -fno-diagnostics-show-caret -fdiagnostics-color=never to | |
65 | option's additional_flags. | |
66 | ||
34148d68 JM |
67 | 2015-11-03 Jason Merrill <jason@redhat.com> |
68 | ||
69 | * libsupc++/new: Declare sized deletes. | |
70 | ||
f7632193 VV |
71 | 2015-11-03 Ville Voutilainen <ville.voutilainen@gmail.com> |
72 | ||
73 | Make the default constructors of tuple and pair conditionally explicit. | |
74 | * include/std/type_traits (is_unsigned, __is_array_unknown_bounds, | |
75 | __is_default_constructible_atom, __is_default_constructible_safe, | |
76 | __is_direct_constructible_new_safe, __is_direct_constructible_ref_cast, | |
77 | __is_nt_default_constructible_impl, is_nothrow_default_constructible, | |
78 | is_nothrow_constructible, is_nothrow_assignable, | |
79 | is_trivially_constructible, is_trivially_copy_constructible, | |
80 | is_trivially_move_constructible, is_trivially_assignable, | |
81 | is_trivially_copy_assignable, is_trivially_move_assignable, | |
82 | is_trivially_destructible): Simplify. | |
83 | * include/std/type_traits ( | |
84 | __do_is_implicitly_default_constructible_impl, | |
85 | __is_implicitly_default_constructible_impl, | |
86 | __is_implicitly_default_constructible_safe, | |
87 | __is_implicitly_default_constructible): New. | |
88 | * include/bits/stl_pair.h (pair::pair()): Use it. | |
89 | * include/std/tuple (tuple<_T1, _T2>::tuple): Use it. | |
90 | * include/std/tuple (_ImplicitlyDefaultConstructibleTuple): New. | |
91 | * include/std/tuple (tuple<_Types...>::tuple()): Use it. | |
92 | * testsuite/20_util/declval/requirements/1_neg.cc: Adjust. | |
32fec2c8 PC |
93 | * testsuite/20_util/is_implicitly_default_constructible/ |
94 | requirements/explicit_instantiation.cc: New. | |
95 | * testsuite/20_util/is_implicitly_default_constructible/requirements/ | |
96 | typedefs.cc: Likewise. | |
97 | * testsuite/20_util/is_implicitly_default_constructible/value.cc: | |
98 | Likewise. | |
f7632193 | 99 | * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust. |
32fec2c8 PC |
100 | * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: |
101 | Likewise. | |
f7632193 VV |
102 | * testsuite/20_util/pair/cons/explicit_construct.cc: Likewise. |
103 | * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. | |
104 | ||
93e95400 JW |
105 | 2015-10-24 Jonathan Wakely <jwakely@redhat.com> |
106 | ||
107 | * include/std/functional (__invoke_impl): New overloads. | |
108 | (__invoke): Replace with a single function calling __invoke_impl. | |
109 | (invoke): Add C++17 std::invoke. | |
110 | (reference_wrapper::operator()): Qualify call to __invoke. | |
111 | (_Mem_fn_traits_base, _Mem_fn_traits): Remove unused typedefs. | |
112 | (_Mem_fn_base): Remove unused typedefs and implement call operator in | |
113 | terms of __invoke. | |
114 | * include/std/future (__future_base::_Async_state_commonV2): Do not | |
115 | pass reference_wrapper as object argument to call_once. | |
116 | * include/std/type_traits (result_of): Define nested __invoke_type. | |
117 | Handle reference_wrapper as per LWG 2219. | |
118 | * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error directives. | |
119 | * testsuite/20_util/function_objects/mem_fn/55463.cc: Remove tests | |
120 | using member functions of reference_wrapper. | |
121 | ||
6fbd5984 JW |
122 | 2015-10-24 Jonathan Wakely <jwakely@redhat.com> |
123 | ||
124 | * include/std/future (async): Use deferred function on exception. | |
125 | * testsuite/30_threads/async/except.cc: New. | |
126 | ||
f9badf71 JW |
127 | 2015-10-21 Jonathan Wakely <jwakely@redhat.com> |
128 | ||
129 | * include/std/type_traits (__cpp_lib_bool_constant): Define. | |
130 | ||
fe29811c JW |
131 | 2015-10-16 Jonathan Wakely <jwakely@redhat.com> |
132 | ||
133 | * doc/xml/manual/configure.xml: Document | |
134 | --enable-libstdcxx-filesystem-ts option. | |
135 | * doc/xml/manual/status_cxx2014.xml: Document libstdc++fs.a. | |
136 | * doc/xml/manual/using.xml: Likewise. | |
137 | * doc/html/*: Regenerate. | |
138 | ||
6b6254db AR |
139 | 2015-10-16 Aurelio Remonda <aurelio.remonda@tallertechnologies.com> |
140 | ||
141 | * testsuite/25_algorithms/random_shuffle/moveable.cc: Change variable | |
142 | N from const int N = 200000 to const unsigned int N = 10000. | |
143 | Delete useless fill_ascending function call. | |
144 | ||
750002e0 SN |
145 | 2015-10-15 Szabolcs Nagy <szabolcs.nagy@arm.com> |
146 | ||
147 | * testsuite/lib/libstdc++.exp (libstdc++-dg-test): Check for | |
148 | unsupported compiler output. | |
149 | ||
141aa58b NF |
150 | 2015-10-13 Nathan Froyd <froydnj@gcc.gnu.org> |
151 | ||
152 | * config/cpu/i486/opt/bits/opt_random.h: Include pmmintrin.h instead | |
153 | of x86intrin.h, and only do so when __SSE3__ | |
154 | * include/ext/random: Include emmintrin.h instead of x86intrin.h | |
155 | ||
3c97fe77 JM |
156 | 2015-10-11 Joseph Myers <joseph@codesourcery.com> |
157 | ||
158 | * crossconfig.m4 (GLIBCXX_CROSSCONFIG) <*-linux* | *-uclinux* | | |
159 | *-gnu* | *-kfreebsd*-gnu | *-knetbsd*-gnu | *-cygwin*>: Check for | |
160 | __cxa_thread_atexit_impl. | |
161 | * configure: Regenerate. | |
162 | ||
7b5fde83 JW |
163 | 2015-10-09 Jonathan Wakely <jwakely@redhat.com> |
164 | ||
165 | * include/experimental/erase_if.h: Move to ... | |
166 | * include/experimental/bits/erase_if.h: New. | |
167 | * include/experimental/fs_dir.h: Move to ... | |
168 | * include/experimental/bits/fs_dir.h: New. | |
169 | * include/experimental/fs_fwd.h: Move to ... | |
170 | * include/experimental/bits/fs_fwd.h: New. | |
171 | * include/experimental/fs_ops.h: Move to ... | |
172 | * include/experimental/bits/fs_ops.h: New. | |
173 | * include/experimental/fs_path.h: Move to ... | |
174 | * include/experimental/bits/fs_path.h: New. | |
175 | * include/experimental/string_view.tcc: Move to ... | |
176 | * include/experimental/bits/string_view.tcc: New. | |
177 | * include/Makefile.am: Add include/experimental/bits sub-directory. | |
178 | * include/Makefile.in: Regenerate. | |
179 | * include/experimental/filesystem: Adjust includes. | |
180 | * include/experimental/map: Likewise. | |
181 | * include/experimental/set: Likewise. | |
182 | * include/experimental/string_view: Likewise. | |
183 | * include/experimental/unordered_map: Likewise. | |
184 | * include/experimental/unordered_set: Likewise. | |
185 | ||
057ce497 VV |
186 | 2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com> |
187 | ||
188 | PR 67844. | |
189 | * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject | |
190 | conversions from tuple types same as the target tuple. | |
191 | * testsuite/20_util/tuple/67844.cc: New. | |
192 | * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add | |
193 | a missing copyright header. | |
194 | ||
8b756210 JW |
195 | 2015-10-03 Jonathan Wakely <jwakely@redhat.com> |
196 | ||
acfdd51f JW |
197 | * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support |
198 | for _Manager_alloc. | |
199 | ||
f4cfe221 JW |
200 | * src/c++98/locale.cc: Fix comment. |
201 | * src/c++98/locale_init.cc: Likewise. | |
202 | ||
1ca9de51 JW |
203 | * testsuite/21_strings/basic_string/literals/types.cc: Guard use of |
204 | wchar_t with _GLIBCXX_USE_WCHAR_T. | |
205 | * testsuite/21_strings/basic_string/literals/values.cc: Likewise. | |
206 | * testsuite/21_strings/basic_string/requirements/citerators.cc: | |
207 | Likewise. | |
208 | * testsuite/22_locale/messages/13631.cc: Likewise. | |
209 | * testsuite/experimental/string_view/literals/types.cc: Likewise. | |
210 | * testsuite/experimental/string_view/literals/values.cc: Likewise. | |
211 | ||
8b756210 JW |
212 | * src/filesystem/Makefile.am: Add cxx11_abi_sources. |
213 | * src/filesystem/Makefile.in: Regenerate. | |
214 | * src/filesystem/cow-dir.cc: New. | |
215 | * src/filesystem/cow-ops.cc: New. | |
216 | * src/filesystem/cow-path.cc: New. | |
217 | * src/filesystem/dir.cc: Define macro for new ABI. | |
218 | * src/filesystem/ops.cc: Likewise. | |
219 | * src/filesystem/path.cc: Likewise. | |
220 | ||
7b65155f JW |
221 | 2015-10-02 Jonathan Wakely <jwakely@redhat.com> |
222 | ||
ee216d80 JW |
223 | * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: |
224 | Minor tweaks to match narrow char version. | |
225 | ||
c980d0b4 JW |
226 | * testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard |
227 | explicit instantiation with check for new ABI. | |
228 | * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: | |
229 | Likewise. Use wchar_t as char_type. | |
230 | ||
783aa06e JW |
231 | * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] |
232 | (basic_string::front() const, basic_string::back() const): Use | |
233 | noexcept instead of _GLIBCXX_NOEXCEPT macro. | |
234 | (__versa_string::front, __versa_string::back): Likewise. | |
235 | ||
38cccb0b JW |
236 | * acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment. |
237 | ||
7fcdbdd2 JW |
238 | * include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] |
239 | (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. | |
240 | * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] | |
241 | (path::wstring, path::generic_wstring): Disable. | |
242 | * src/filesystem/path.cc (path::_S_convert_loc) | |
243 | [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. | |
244 | * testsuite/experimental/filesystem/path/assign/assign.cc: Check for | |
245 | wchar_t support. | |
246 | * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. | |
247 | * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. | |
248 | ||
43222a5e JW |
249 | * testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic |
250 | name for paths. Prefer snprintf to sprintf. | |
251 | ||
7b65155f JW |
252 | PR libstdc++/67747 |
253 | * src/filesystem/dir.cc (native_readdir): Remove. | |
254 | (_Dir::advance): Use readdir instead of native_readdir. | |
255 | (recursive_directory_iterator(const path&, directory_options, | |
256 | error_code*)): Use swap instead of reset. | |
257 | ||
f14decaf JW |
258 | 2015-10-01 Jonathan Wakely <jwakely@redhat.com> |
259 | ||
7b8089a3 JW |
260 | * doc/html/manual/errno.html: Add new file. |
261 | ||
f14decaf JW |
262 | * doc/xml/manual/diagnostics.xml: Document use of errno. |
263 | * doc/html/*: Regenerate. | |
264 | * config/locale/generic/c_locale.cc (_Save_errno): New helper. | |
265 | (__convert_to_v): Use _Save_errno. | |
266 | * include/ext/string_conversions.h (__stoa): Only restore errno when | |
267 | it isn't set to non-zero. | |
268 | ||
9702ee6a FD |
269 | 2015-09-30 François Dumont <fdumont@gcc.gnu.org> |
270 | Jonathan Wakely <jwakely@redhat.com> | |
271 | ||
272 | * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs): | |
273 | Move... | |
274 | * config/locale/gnu/c++locale_internal.h: ...here in std namespace. | |
275 | * config/locale/gnu/c_locale.cc: Move implementation of latter here. | |
276 | * src/c++98/Makefile.am: Compile c++locale.cc with -fimplicit-templates. | |
277 | * src/c++98/Makefile.in: Regenerate. | |
278 | * config/abi/pre/gnu.ver: Adjust. | |
279 | ||
eea10f8c MK |
280 | 2015-09-30 Matthias Klose <doko@ubuntu.com> |
281 | ||
282 | * config/cpu/alpha, config/cpu/ia64: Remove empty directories. | |
283 | ||
ce535a96 JW |
284 | 2015-09-29 Jonathan Wakely <jwakely@redhat.com> |
285 | ||
6d601106 JW |
286 | * include/ext/string_conversions.h (__stoa): Save and restore errno. |
287 | * testsuite/21_strings/basic_string/numeric_conversions/char/errno.cc: | |
288 | New. | |
289 | ||
b5988229 JW |
290 | PR libstdc++/67583 |
291 | * testsuite/27_io/basic_stringbuf/seekoff/char/1.cc: Fix sputn call | |
292 | with mismatched arguments. | |
293 | * testsuite/27_io/basic_stringbuf/seekoff/wchar_t/1.cc: Likewise. | |
294 | ||
ce535a96 JW |
295 | PR libstdc++/65393 |
296 | * config/abi/pre/gnu.ver: Export new symbols. | |
297 | * include/std/thread (thread::_State, thread::_State_impl): New types. | |
298 | (thread::_M_start_thread): Add overload taking unique_ptr<_State>. | |
299 | (thread::_M_make_routine): Remove. | |
300 | (thread::_S_make_state): Add. | |
301 | (thread::_Impl_base, thread::_Impl, thread::_M_start_thread) | |
302 | [_GLIBCXX_THREAD_ABI_COMPAT] Only declare conditionally. | |
303 | * src/c++11/thread.cc (execute_native_thread_routine): Rename to | |
304 | execute_native_thread_routine_compat and re-define to use _State. | |
305 | (thread::_State::~_State()): Define. | |
306 | (thread::_M_make_thread): Define new overload. | |
307 | (thread::_M_make_thread) [_GLIBCXX_THREAD_ABI_COMPAT]: Only define old | |
308 | overloads conditionally. | |
309 | ||
80400b04 JW |
310 | 2015-09-28 Jonathan Wakely <jwakely@redhat.com> |
311 | ||
312 | * include/std/condition_variable (condition_variable::wait): Add | |
313 | noexcept. | |
314 | * src/c++11/condition_variable.cc (condition_variable::wait): Call | |
315 | std::terminate on error (DR 2135). | |
316 | ||
5e2f2cd5 VV |
317 | 2015-09-25 Ville Voutilainen <ville.voutilainen@gmail.com> |
318 | ||
319 | Avoid creating dangling references in case of nested tuples | |
320 | for tuple constructors that construct from other tuples. | |
321 | * include/std/tuple (_TC::_NonNestedTuple): New. | |
322 | * include/std/tuple (tuple::_TNTC): New. | |
323 | * include/std/tuple (tuple(const tuple<_UElements...>&), | |
324 | tuple(tuple<_UElements...>&&): Use _TNTC. | |
325 | * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: New. | |
326 | ||
9bc50282 JW |
327 | 2015-09-24 Jonathan Wakely <jwakely@redhat.com> |
328 | ||
329 | PR libstdc++/67707 | |
330 | * include/bits/stl_deque.h (_Deque_base::_M_move_impl): Initialize | |
331 | empty object. | |
332 | * testsuite/23_containers/deque/allocator/move.cc: Check moved-from | |
333 | deque. | |
334 | ||
07dc170b JW |
335 | 2015-09-23 Jonathan Wakely <jwakely@redhat.com> |
336 | ||
337 | * src/filesystem/ops.cc (canonical): Simplify error handling and | |
338 | limit number of symlinks that can be resolved. | |
339 | ||
36670311 JW |
340 | 2015-09-23 Jonathan Wakely <jwakely@redhat.com> |
341 | ||
429ee11a JW |
342 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Remove _GLIBCXX_ |
343 | prefix from HAVE_STRUCT_DIRENT_D_TYPE. | |
344 | * config.h.in: Regenerate. | |
345 | * configure: Regenerate. | |
346 | * include/experimental/fs_dir.h (operator==, operator==): | |
347 | Use owner_before instead of pointer equality. | |
348 | (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. | |
349 | * src/filesystem/dir.cc (ErrorCode): Remove. | |
350 | (_Dir::advance): Change ErrorCode parameter to error_code*, add | |
351 | directory_options parameter and check it on error. | |
352 | (opendir): Rename to open_dir to avoid clashing with macro. Change | |
353 | ErrorCode parameter to error_code*. | |
354 | (make_shared_dir): Remove. | |
355 | (native_readdir) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Don't set errno. | |
356 | (directory_iterator(std::shared_ptr<_Dir>, error_code*)): Remove. | |
357 | (directory_iterator(const path&, directory_options, error_code*)): | |
358 | Pass options to _Dir::advance and create non-end iterator on error. | |
359 | (recursive_directory_iterator(const path&, directory_options, | |
360 | error_code*)): Clear error_code on ignored error, create non-end | |
361 | iterator otherwise. | |
362 | (recursive_directory_iterator::increment): Pass _M_options to | |
363 | _Dir::advance. | |
364 | (recursive_directory_iterator::pop): Likewise. | |
365 | * testsuite/experimental/filesystem/iterators/directory_iterator.cc: | |
366 | New. | |
367 | * testsuite/experimental/filesystem/iterators/ | |
368 | recursive_directory_iterator.cc: New. | |
369 | ||
36670311 JW |
370 | * src/filesystem/ops.cc (is_dot, is_dotdot): Define new helpers. |
371 | (create_directories): Fix error handling. | |
372 | * testsuite/experimental/filesystem/operations/create_directories.cc: | |
373 | New. | |
374 | ||
561cfdec JW |
375 | 2015-09-21 Jonathan Wakely <jwakely@redhat.com> |
376 | ||
377 | PR libstdc++/67647 | |
378 | * include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] | |
379 | (basic_string::shrink_to_fit): Fix #endif placement. | |
380 | ||
236d76c4 TS |
381 | 2015-09-19 Tim Shen <timshen@google.com> |
382 | ||
383 | PR libstdc++/67361 | |
384 | * include/bits/regex_error.h: Add __throw_regex_error that | |
385 | supports string. | |
386 | * include/bits/regex_automaton.h: Add more specific exception | |
387 | messages. | |
388 | * include/bits/regex_automaton.tcc: Likewise. | |
389 | * include/bits/regex_compiler.h: Likewise. | |
390 | * include/bits/regex_compiler.tcc: Likewise. | |
391 | * include/bits/regex_scanner.h: Likewise. | |
392 | * include/bits/regex_scanner.tcc: Likewise. | |
393 | ||
7215aaed JW |
394 | 2015-09-18 Jonathan Wakely <jwakely@redhat.com> |
395 | ||
396 | * include/precompiled/extc++.h: Fix bootstrap error due to | |
397 | unconditional inclusion of <ext/enc_filebuf.h>. | |
398 | * include/ext/random: Check for definition of UINT32_C. | |
399 | ||
05c0e3eb CM |
400 | 2015-09-17 Catherine Moore <clm@codesourcery.com> |
401 | ||
402 | * src/c++11/debug.cc: Include <cstdio>. | |
403 | ||
0b546684 GP |
404 | 2015-09-17 Gerald Pfeifer <gerald@pfeifer.com> |
405 | ||
406 | * src/c++11/random.cc: Include <cerrno>. | |
407 | ||
814e52ca FD |
408 | 2015-09-17 François Dumont <fdumont@gcc.gnu.org> |
409 | ||
410 | * include/debug/formatter.h | |
411 | (_Error_formatter::_Parameter::_M_print_field): Deprecate. | |
412 | (_Error_formatter::_Parameter::_M_print_description): Likewise. | |
413 | (_Error_formatter::_M_format_word): Likewise. | |
414 | (_Error_formatter::_M_print_word): Likewise. | |
415 | (_Error_formatter::_M_print_string): Likewise. | |
416 | (_Error_formatter::_M_get_max_length): Likewise. | |
417 | (_Error_formatter::_M_max_length): Delete. | |
418 | (_Error_formatter::_M_indent): Likewise. | |
419 | (_Error_formatter::_M_column): Likewise. | |
420 | (_Error_formatter::_M_first_line): Likewise. | |
421 | (_Error_formatter::_M_wordwrap): Likewise. | |
422 | * src/c++11/debug.cc: Adapt. | |
423 | ||
99f04955 JW |
424 | 2015-09-17 Jonathan Wakely <jwakely@redhat.com> |
425 | ||
310055e7 JW |
426 | PR libstdc++/65913 |
427 | * include/bits/atomic_base.h (__atomic_base<_TTp>::is_lock_free(), | |
428 | __atomic_base<_PTp*>::is_lock_free()): Call the built-in with the | |
429 | immediate pointer value, not a variable. | |
430 | * include/std/atomic (atomic<T>::is_lock_free()): Likewise. | |
431 | * testsuite/29_atomics/atomic/65913.cc: New. | |
432 | ||
01610fec JW |
433 | * testsuite/experimental/filesystem/operations/canonical.cc: Remove |
434 | non-deterministic part of the test. | |
435 | ||
a2b4d73d JW |
436 | PR libstdc++/65142 |
437 | * src/c++11/random.cc (random_device::_M_getval()): Retry after short | |
438 | reads. | |
439 | ||
2eb57e54 JW |
440 | * include/std/system_error (error_code::operator bool(), |
441 | error_condition::operator bool()): Remove redundant conditional | |
442 | expression. | |
443 | ||
99f04955 JW |
444 | * include/bits/allocator.h (__shrink_to_fit_aux<T, true>::_S_do_it): |
445 | Do nothing if exceptions are disabled. | |
446 | * include/bits/basic_string.h (basic_string::shrink_to_fit): Likewise. | |
447 | ||
30362998 JW |
448 | 2015-09-16 Jonathan Wakely <jwakely@redhat.com> |
449 | ||
450 | PR libstdc++/67173 | |
451 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check _XOPEN_VERSION | |
452 | and PATH_MAX for _GLIBCXX_USE_REALPATH. | |
453 | * config.h.in: Regenerate. | |
454 | * configure: Regenerate. | |
455 | * src/filesystem/ops.cc: (canonical) [!_GLIBCXX_USE_REALPATH]: Add | |
456 | alternative implementation. | |
457 | * testsuite/experimental/filesystem/operations/canonical.cc: New. | |
458 | * testsuite/experimental/filesystem/operations/exists.cc: Add more | |
459 | tests. | |
460 | * testsuite/experimental/filesystem/operations/absolute.cc: Add test | |
461 | variables. | |
462 | * testsuite/experimental/filesystem/operations/copy.cc: Likewise. | |
463 | * testsuite/experimental/filesystem/operations/current_path.cc: | |
464 | Likewise. | |
465 | * testsuite/experimental/filesystem/operations/file_size.cc: Likewise. | |
466 | * testsuite/experimental/filesystem/operations/status.cc: Likewise. | |
467 | * testsuite/experimental/filesystem/operations/temp_directory_path.cc: | |
468 | Likewise. | |
469 | ||
42b6aad9 JW |
470 | 2015-09-11 Jonathan Wakely <jwakely@redhat.com> |
471 | ||
7c928f72 JW |
472 | PR libstdc++/67173 |
473 | * src/filesystem/ops.cc (filesystem::canonical): Allocate buffer for | |
474 | realpath on Solaris 10. | |
475 | ||
42b6aad9 JW |
476 | PR libstdc++/65142 |
477 | * src/c++11/random.cc (random_device::_M_getval()): Check read result. | |
478 | ||
1b741475 JM |
479 | 2015-09-11 John Marino <gnugcc@marino.st> |
480 | Jonathan Wakely <jwakely@redhat.com> | |
481 | ||
482 | PR libstdc++/67096 | |
483 | * testsuite/22_locale/codecvt/in/wchar_t/4.cc: Do not test code points | |
484 | above U+10FFFF. | |
485 | * testsuite/22_locale/codecvt/in/wchar_t/8.cc: Likewise. | |
486 | * testsuite/22_locale/codecvt/in/wchar_t/9.cc: Likewise. | |
487 | * testsuite/22_locale/codecvt/length/wchar_t/4.cc: Likewise. | |
488 | * testsuite/22_locale/codecvt/out/wchar_t/4.cc: Likewise. | |
489 | * testsuite/22_locale/codecvt/unshift/wchar_t/4.cc: Likewise. | |
490 | * testsuite/27_io/basic_filebuf/seekoff/wchar_t/1.cc: Likewise. | |
491 | * testsuite/27_io/basic_filebuf/seekpos/wchar_t/9874.cc: Likewise. | |
492 | * testsuite/27_io/basic_filebuf/underflow/wchar_t/1.cc: Likewise. | |
493 | * testsuite/27_io/basic_filebuf/underflow/wchar_t/2.cc: Likewise. | |
494 | * testsuite/27_io/basic_filebuf/underflow/wchar_t/3.cc: Likewise. | |
495 | * testsuite/27_io/objects/wchar_t/10.cc: Likewise. | |
496 | * testsuite/27_io/objects/wchar_t/11.cc: Likewise. | |
497 | * testsuite/27_io/objects/wchar_t/12.cc: Likewise. | |
498 | * testsuite/27_io/objects/wchar_t/13.cc: Likewise. | |
499 | ||
997ed914 JW |
500 | 2015-09-11 Jonathan Wakely <jwakely@redhat.com> |
501 | ||
f12ddb62 JW |
502 | PR libstdc++/64857 |
503 | * doc/xml/manual/using.xml: Improve aggregate header documentation. | |
504 | * doc/html/manual/*: Regenerate. | |
505 | * include/precompiled/extc++.h: Include <bits/stdc++.h> for C++11 | |
506 | and later and include more extension headers. | |
507 | * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove | |
508 | redundant header. | |
509 | * testsuite/17_intro/headers/c++200x/: Rename to c++2011. | |
510 | * testsuite/17_intro/headers/c++2014/all_attributes.cc: Remove | |
511 | redundant headers. | |
512 | * testsuite/17_intro/headers/c++2014/all_no_exceptions.cc: New. | |
513 | * testsuite/17_intro/headers/c++2014/all_no_rtti.cc: New. | |
514 | * testsuite/17_intro/headers/c++2014/all_pedantic_errors.cc: New. | |
515 | * testsuite/17_intro/headers/c++2014/operator_names.cc: New. | |
516 | * testsuite/17_intro/headers/c++2014/stdc++.cc: New. | |
517 | * testsuite/17_intro/headers/c++2014/stdc++_multiple_inclusion.cc: | |
518 | New. | |
519 | ||
5caff414 JW |
520 | PR libstdc++/58265 |
521 | * doc/xml/manual/intro.xml: Document LWG 2063 and 2064 resolutions. | |
522 | * doc/html/manual/bugs.html: Regenerate. | |
523 | * include/bits/basic_string.h (basic_string): Implement N4258. Add | |
524 | correct exception-specifications and propagate allocators correctly. | |
525 | * include/bits/basic_string.tcc (basic_string::swap): Propagate | |
526 | allocators correctly. | |
527 | * include/debug/string (__gnu_debug::basic_string): Add correct | |
528 | exceptions-specifications and allcoator-extended constructors. | |
529 | * testsuite/21_strings/basic_string/allocator/char/copy.cc: New. | |
530 | * testsuite/21_strings/basic_string/allocator/char/copy_assign.cc: | |
531 | New. | |
532 | * testsuite/21_strings/basic_string/allocator/char/minimal.cc: New. | |
533 | * testsuite/21_strings/basic_string/allocator/char/move.cc: New. | |
534 | * testsuite/21_strings/basic_string/allocator/char/move_assign.cc: | |
535 | New. | |
536 | * testsuite/21_strings/basic_string/allocator/char/noexcept.cc: New. | |
537 | * testsuite/21_strings/basic_string/allocator/char/swap.cc: New. | |
538 | * testsuite/21_strings/basic_string/allocator/wchar_t/copy.cc: New. | |
539 | * testsuite/21_strings/basic_string/allocator/wchar_t/copy_assign.cc: | |
540 | New. | |
541 | * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: New. | |
542 | * testsuite/21_strings/basic_string/allocator/wchar_t/move.cc: New. | |
543 | * testsuite/21_strings/basic_string/allocator/wchar_t/move_assign.cc: | |
544 | New. | |
545 | * testsuite/21_strings/basic_string/allocator/wchar_t/noexcept.cc: New. | |
546 | * testsuite/21_strings/basic_string/allocator/wchar_t/swap.cc: New. | |
547 | * testsuite/util/testsuite_allocator.h (tracker_allocator): Define | |
548 | defaulted assignment operators. | |
549 | ||
997ed914 JW |
550 | PR libstdc++/65092 |
551 | * include/bits/stl_queue.h (queue, priority_queue): Add | |
552 | allocator-extended constructors. | |
553 | * include/bits/stl_stack.h (stack): Likewise. | |
554 | * testsuite/23_containers/priority_queue/requirements/ | |
555 | uses_allocator.cc: Test allocator-extended constructors. | |
556 | * testsuite/23_containers/queue/requirements/uses_allocator.cc: | |
557 | Likewise. | |
558 | * testsuite/23_containers/stack/requirements/uses_allocator.cc: | |
559 | Likewise. | |
560 | ||
94eb2ddb JW |
561 | 2015-09-10 Jonathan Wakely <jwakely@redhat.com> |
562 | ||
a7890973 JW |
563 | * testsuite/util/testsuite_allocator.h (PointerBase::operator[]): Add. |
564 | ||
94eb2ddb JW |
565 | * testsuite/21_strings/basic_string/operators/char/1.cc: Verify the |
566 | string contents. | |
567 | ||
2f1e8e7c JW |
568 | 2015-09-09 Jonathan Wakely <jwakely@redhat.com> |
569 | ||
570 | * doc/xml/manual/using.xml (_GLIBCXX_ASSERTIONS): Document. | |
571 | * doc/html/manual/using_macros.html: Regenerate. | |
572 | * include/bits/c++config: Define _GLIBCXX_ASSERTIONS when | |
573 | _GLIBCXX_DEBUG is defined. Disable std::string extern templates when | |
574 | (_GLIBCXX_EXTERN_TEMPLATE, __glibcxx_assert): Depend on | |
575 | _GLIBCXX_ASSERTIONS instead of _GLIBCXX_DEBUG. | |
576 | * include/debug/debug.h [!_GLIBCXX_DEBUG]: Define | |
577 | __glibcxx_requires_non_empty_range and __glibcxx_requires_nonempty. | |
578 | * include/backward/auto_ptr.h (auto_ptr::operator*, | |
579 | auto_ptr::operator->): Replace _GLIBCXX_DEBUG_ASSERT with | |
580 | __glibcxx_assert. | |
581 | * include/bits/basic_string.h (basic_string::operator[], | |
582 | basic_string::front, basic_string::back, basic_string::pop_back): | |
583 | Likewise. | |
584 | * include/bits/random.h | |
585 | (uniform_int_distribution::param_type::param_type, | |
586 | uniform_real_distribution::param_type::param_type, | |
587 | normal_distribution::param_type::param_type, | |
588 | gamma_distribution::param_type::param_type, | |
589 | bernoulli_distribution::param_type::param_type, | |
590 | binomial_distribution::param_type::param_type, | |
591 | geometric_distribution::param_type::param_type, | |
592 | negative_binomial_distribution::param_type::param_type, | |
593 | poisson_distribution::param_type::param_type, | |
594 | exponential_distribution::param_type::param_type): Likewise. | |
595 | * include/bits/regex.h (match_results::operator[], | |
596 | match_results::prefix, match_results::suffix): Likewise. | |
597 | * include/bits/regex.tcc (format, regex_iterator::operator++): | |
598 | Likewise. | |
599 | * include/bits/regex_automaton.tcc (_StateSeq::_M_clone): Likewise. | |
600 | * include/bits/regex_compiler.tcc (_Compiler::_Compiler, | |
601 | _Compiler::_M_insert_character_class_matcher): Likewise. | |
602 | * include/bits/regex_executor.tcc (_Executor::_M_dfs): Likewise. | |
603 | * include/bits/regex_scanner.tcc (_Scanner::_M_advance, | |
604 | _Scanner::_M_scan_normal): Likewise. | |
605 | * include/bits/shared_ptr_base.h (__shared_ptr::_M_reset, | |
606 | __shared_ptr::operator*): Likewise. | |
607 | * include/bits/stl_iterator_base_funcs.h (__advance): Likewise. | |
608 | * include/bits/unique_ptr.h (unique_ptr::operator*, | |
609 | unique_ptr::operator[]): Likewise. | |
610 | * include/experimental/fs_path.h (path::path(string_type, _Type), | |
611 | path::iterator::operator++, path::iterator::operator--, | |
612 | path::iterator::operator*): Likewise. | |
613 | * include/experimental/string_view (basic_string_view::operator[], | |
614 | basic_string_view::front, basic_string_view::back, | |
615 | basic_string_view::remove_prefix): Likewise. | |
616 | * include/ext/random (beta_distribution::param_type::param_type, | |
617 | normal_mv_distribution::param_type::param_type, | |
618 | rice_distribution::param_type::param_type, | |
619 | pareto_distribution::param_type::param_type, | |
620 | k_distribution::param_type::param_type, | |
621 | arcsine_distribution::param_type::param_type, | |
622 | hoyt_distribution::param_type::param_type, | |
623 | triangular_distribution::param_type::param_type, | |
624 | von_mises_distribution::param_type::param_type, | |
625 | hypergeometric_distribution::param_type::param_type, | |
626 | logistic_distribution::param_type::param_type): Likewise. | |
627 | * include/ext/vstring.h (__versa_string::operator[]): Likewise. | |
628 | * include/std/complex (polar): Likewise. | |
629 | * include/std/mutex [!_GTHREAD_USE_MUTEX_TIMEDLOCK] | |
630 | (timed_mutex::~timed_mutex, timed_mutex::unlock, | |
631 | (recursive_timed_mutex::~timed_mutex, recursive_timed_mutex::unlock): | |
632 | Likewise. | |
633 | * include/std/shared_mutex [!PTHREAD_RWLOCK_INITIALIZER] | |
634 | (__shared_mutex_pthread::__shared_mutex_pthread, | |
635 | __shared_mutex_pthread::~__shared_mutex_pthread): Likewise. | |
636 | (__shared_mutex_pthread::lock, __shared_mutex_pthread::try_lock, | |
637 | __shared_mutex_pthread::unlock, __shared_mutex_pthread::lock_shared, | |
638 | __shared_mutex_pthread::try_lock_shared): Likewise. | |
639 | (__shared_mutex_cv::~__shared_mutex_cv, __shared_mutex_cv::unlock, | |
640 | __shared_mutex_cv::unlock_shared): Likewise. | |
641 | (shared_timed_mutex::try_lock_until, | |
642 | shared_timed_mutex::try_lock_shared_until): Likewise. | |
643 | * include/std/valarray (valarray::valarray(const _Tp*, size_t), | |
644 | valarray::operator=, valarray::sum, valarray::min, valarray::max, | |
645 | _DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT, _DEFINE_BINARY_OPERATOR): | |
646 | Likewise. | |
647 | ||
d8356196 JW |
648 | 2015-09-07 Jonathan Wakely <jwakely@redhat.com> |
649 | ||
93023f35 JW |
650 | * include/bits/shared_ptr_base.h (__shared_ptr::operator->): Change |
651 | _GLIBCXX_DEBUG_ASSERT to _GLIBCXX_DEBUG_PEDASSERT. | |
652 | * include/bits/unique_ptr.h (unique_ptr::operator->): Likewise. | |
653 | * testsuite/20_util/shared_ptr/observers/get.cc: Test operator-> on | |
654 | empty shared_ptr. | |
655 | ||
12dee005 JW |
656 | * include/bits/regex_compiler.h (_BracketMatcher::_M_is_ready): |
657 | Initialize using NSDMI and set using _GLIBCXX_DEBUG_ONLY. | |
658 | ||
2d5e3740 JW |
659 | * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Rename |
660 | shadowed variable. | |
661 | ||
d8356196 JW |
662 | * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Run on |
663 | darwin. | |
664 | * testsuite/30_threads/timed_mutex/unlock/2.cc: Run on darwin. | |
665 | ||
c79c59f0 JW |
666 | 2015-09-04 Jonathan Wakely <jwakely@redhat.com> |
667 | ||
668 | PR libstdc++/65704 | |
669 | * include/std/mutex (recursive_timed_mutex): Fix uses of _Can_lock. | |
f16081c2 JW |
670 | |
671 | PR libstdc++/65704 | |
672 | * include/Makefile.am: Add <bits/mutex.h>. | |
673 | * include/Makefile.in: Regenerate. | |
674 | * include/bits/mutex.h (__mutex_base, mutex, lock_guard, unique_lock): | |
675 | New file containing types moved from <mutex>. | |
676 | * include/std/condition_variable: Include <bits/mutex.h> instead of | |
677 | <mutex>. | |
678 | * include/std/mutex (__mutex_base, mutex, lock_guard, unique_lock): | |
679 | Move to <bits/mutex.h>. | |
680 | * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Remove | |
681 | dg-require-gthreads-timed. | |
682 | * testsuite/30_threads/recursive_timed_mutex/cons/assign_neg.cc: | |
683 | Likewise. | |
684 | * testsuite/30_threads/recursive_timed_mutex/cons/copy_neg.cc: | |
685 | Likewise. | |
686 | * testsuite/30_threads/recursive_timed_mutex/dest/ | |
687 | destructor_locked.cc: Likewise. | |
688 | * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. | |
689 | * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. | |
690 | * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. | |
691 | * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. | |
692 | * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: | |
693 | Likewise. | |
694 | * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: | |
695 | Likewise. | |
696 | * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: | |
697 | Likewise. | |
698 | * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: | |
699 | Likewise. | |
700 | * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: | |
701 | Likewise. | |
702 | * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. | |
703 | * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. | |
704 | * testsuite/30_threads/timed_mutex/cons/assign_neg.cc: Likewise. | |
705 | * testsuite/30_threads/timed_mutex/cons/copy_neg.cc: Likewise. | |
706 | * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: | |
707 | Likewise. | |
708 | * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. | |
709 | * testsuite/30_threads/timed_mutex/requirements/standard_layout.cc: | |
710 | Likewise. | |
711 | * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. | |
712 | * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. | |
713 | * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. | |
714 | * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. | |
715 | * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. | |
716 | * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. | |
717 | * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. | |
718 | * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. | |
719 | * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. | |
720 | * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. | |
721 | * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. | |
722 | * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. | |
723 | * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. | |
724 | ||
20b5f0b3 ESR |
725 | 2015-09-04 Edward Smith-Rowland <3dw4rd@verizon.net> |
726 | Jonathan Wakely <jwakely@redhat.com> | |
727 | ||
728 | Add C++11 header <cuchar>. | |
729 | * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Define. | |
730 | * config.h.in: Regenerate. | |
731 | * configure: Regenerate. | |
732 | * configure.ac: Check for <uchar.h>. | |
733 | * include/Makefile.am: Add new headers. | |
734 | * include/Makefile.in: Regenerate. | |
735 | * include/c/cuchar: New. | |
736 | * include/c_compatibility/uchar.h: New. | |
737 | * include/c_global/cuchar: New. | |
738 | * include/c_std/cuchar: New. | |
739 | * include/precompiled/stdc++.h: Include <cuchar>. | |
740 | * testsuite/17_intro/headers/c++200x/stdc++.cc: Include <uchar.h>. | |
741 | * testsuite/17_intro/headers/c++200x/stdc++_multiple_inclusion.cc: | |
742 | Include <uchar.h>. | |
743 | ||
57003677 JW |
744 | 2015-09-04 Jonathan Wakely <jwakely@redhat.com> |
745 | ||
746 | PR libstdc++/65473 | |
747 | * include/c/cassert: Include <bits/c++config.h>. | |
748 | * include/c/cerrno: Likewise. | |
749 | * include/c/cfloat: Likewise. | |
750 | * include/c/ciso646: Likewise. | |
751 | * include/c/climits: Likewise. | |
752 | * include/c_global/cassert: Likewise. | |
753 | * include/c_global/cerrno: Likewise. | |
754 | * include/c_global/cfloat: Likewise. | |
755 | * include/c_global/ciso646: Likewise. | |
756 | * include/c_global/climits: Likewise. | |
757 | * include/c_std/cassert: Likewise. | |
758 | * include/c_std/cerrno: Likewise. | |
759 | * include/c_std/cfloat: Likewise. | |
760 | * include/c_std/ciso646: Likewise. | |
761 | * include/c_std/climits: Likewise. | |
762 | ||
500dc9a6 JW |
763 | 2015-09-03 Jonathan Wakely <jwakely@redhat.com> |
764 | ||
c8c03058 JW |
765 | * include/bits/shared_ptr_base.h: Add required header. |
766 | * include/std/condition_variable: Likewise. | |
767 | * include/std/mutex: Remove unused header. | |
768 | * include/std/shared_mutex: Remove redundant header. | |
769 | (shared_mutex::shared_mutex()): Replace throw with __throw_bad_alloc. | |
770 | ||
433f6725 JW |
771 | PR libstdc++/66902 |
772 | * src/c++11/debug.cc (_S_debug_messages): Make array const. | |
773 | ||
eb8bf686 JW |
774 | PR libstdc++/66998 |
775 | * include/experimental/functional (_Not_fn): Add exception | |
776 | specifications and non-deduced return types. | |
777 | (not_fn): Add exception specification and wrap pointer-to-member. | |
778 | * testsuite/experimental/functional/not_fn.cc: Test in SFINAE context | |
779 | and test pointer-to-member. | |
780 | ||
500dc9a6 JW |
781 | PR libstdc++/62039 |
782 | * include/bits/stl_iterator_base_funcs.h (next, prev): Add concept | |
783 | checks. | |
784 | * testsuite/24_iterators/operations/prev_neg.cc: New. | |
785 | * testsuite/24_iterators/operations/next_neg.cc: New. | |
786 | ||
37d13ae6 SH |
787 | 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de> |
788 | ||
789 | * testsuite/18_support/pthread_guard.cc: Add *-*-rtems* target | |
790 | selector to all lines which contain a *-*-cygwin target selector. | |
791 | * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. | |
792 | * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: Likewise. | |
793 | * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: Likewise. | |
794 | * testsuite/21_strings/basic_string/pthread18185.cc: Likewise. | |
795 | * testsuite/21_strings/basic_string/pthread33394.cc: Likewise. | |
796 | * testsuite/21_strings/basic_string/pthread4.cc: Likewise. | |
797 | * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise. | |
798 | * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise. | |
799 | * testsuite/23_containers/list/pthread1.cc: Likewise. | |
800 | * testsuite/23_containers/list/pthread5.cc: Likewise. | |
801 | * testsuite/23_containers/map/pthread6.cc: Likewise. | |
802 | * testsuite/23_containers/vector/debug/multithreaded_swap.cc: Likewise. | |
803 | * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise. | |
804 | * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise. | |
805 | * testsuite/30_threads/async/42819.cc: Likewise. | |
806 | * testsuite/30_threads/async/49668.cc: Likewise. | |
807 | * testsuite/30_threads/async/54297.cc: Likewise. | |
808 | * testsuite/30_threads/async/any.cc: Likewise. | |
809 | * testsuite/30_threads/async/async.cc: Likewise. | |
810 | * testsuite/30_threads/async/launch.cc: Likewise. | |
811 | * testsuite/30_threads/async/lwg2021.cc: Likewise. | |
812 | * testsuite/30_threads/async/sync.cc: Likewise. | |
813 | * testsuite/30_threads/call_once/39909.cc: Likewise. | |
814 | * testsuite/30_threads/call_once/49668.cc: Likewise. | |
815 | * testsuite/30_threads/call_once/60497.cc: Likewise. | |
816 | * testsuite/30_threads/call_once/call_once1.cc: Likewise. | |
817 | * testsuite/30_threads/condition_variable/54185.cc: Likewise. | |
818 | * testsuite/30_threads/condition_variable/cons/1.cc: Likewise. | |
819 | * testsuite/30_threads/condition_variable/members/1.cc: Likewise. | |
820 | * testsuite/30_threads/condition_variable/members/2.cc: Likewise. | |
821 | * testsuite/30_threads/condition_variable/members/3.cc: Likewise. | |
822 | * testsuite/30_threads/condition_variable/members/53841.cc: Likewise. | |
823 | * testsuite/30_threads/condition_variable/native_handle/typesizes.cc: | |
824 | Likewise. | |
825 | * testsuite/30_threads/condition_variable_any/50862.cc: Likewise. | |
826 | * testsuite/30_threads/condition_variable_any/53830.cc: Likewise. | |
827 | * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise. | |
828 | * testsuite/30_threads/condition_variable_any/members/1.cc: Likewise. | |
829 | * testsuite/30_threads/condition_variable_any/members/2.cc: Likewise. | |
830 | * testsuite/30_threads/future/cons/move.cc: Likewise. | |
831 | * testsuite/30_threads/future/members/45133.cc: Likewise. | |
832 | * testsuite/30_threads/future/members/get.cc: Likewise. | |
833 | * testsuite/30_threads/future/members/get2.cc: Likewise. | |
834 | * testsuite/30_threads/future/members/share.cc: Likewise. | |
835 | * testsuite/30_threads/future/members/valid.cc: Likewise. | |
836 | * testsuite/30_threads/future/members/wait.cc: Likewise. | |
837 | * testsuite/30_threads/future/members/wait_for.cc: Likewise. | |
838 | * testsuite/30_threads/future/members/wait_until.cc: Likewise. | |
839 | * testsuite/30_threads/lock/1.cc: Likewise. | |
840 | * testsuite/30_threads/lock/2.cc: Likewise. | |
841 | * testsuite/30_threads/lock/3.cc: Likewise. | |
842 | * testsuite/30_threads/lock/4.cc: Likewise. | |
843 | * testsuite/30_threads/mutex/cons/1.cc: Likewise. | |
844 | * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise. | |
845 | * testsuite/30_threads/mutex/lock/1.cc: Likewise. | |
846 | * testsuite/30_threads/mutex/native_handle/1.cc: Likewise. | |
847 | * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise. | |
848 | * testsuite/30_threads/mutex/try_lock/1.cc: Likewise. | |
849 | * testsuite/30_threads/mutex/try_lock/2.cc: Likewise. | |
850 | * testsuite/30_threads/mutex/unlock/1.cc: Likewise. | |
851 | * testsuite/30_threads/mutex/unlock/2.cc: Likewise. | |
852 | * testsuite/30_threads/packaged_task/49668.cc: Likewise. | |
853 | * testsuite/30_threads/packaged_task/60564.cc: Likewise. | |
854 | * testsuite/30_threads/packaged_task/cons/1.cc: Likewise. | |
855 | * testsuite/30_threads/packaged_task/cons/2.cc: Likewise. | |
856 | * testsuite/30_threads/packaged_task/cons/3.cc: Likewise. | |
857 | * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise. | |
858 | * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise. | |
859 | * testsuite/30_threads/packaged_task/cons/move.cc: Likewise. | |
860 | * testsuite/30_threads/packaged_task/cons/move_assign.cc: Likewise. | |
861 | * testsuite/30_threads/packaged_task/members/at_thread_exit.cc: | |
862 | Likewise. | |
863 | * testsuite/30_threads/packaged_task/members/get_future.cc: Likewise. | |
864 | * testsuite/30_threads/packaged_task/members/get_future2.cc: Likewise. | |
865 | * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise. | |
866 | * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise. | |
867 | * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise. | |
868 | * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise. | |
869 | * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise. | |
870 | * testsuite/30_threads/packaged_task/members/reset.cc: Likewise. | |
871 | * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise. | |
872 | * testsuite/30_threads/packaged_task/members/swap.cc: Likewise. | |
873 | * testsuite/30_threads/packaged_task/members/valid.cc: Likewise. | |
874 | * testsuite/30_threads/promise/60966.cc: Likewise. | |
875 | * testsuite/30_threads/promise/cons/1.cc: Likewise. | |
876 | * testsuite/30_threads/promise/cons/alloc.cc: Likewise. | |
877 | * testsuite/30_threads/promise/cons/move.cc: Likewise. | |
878 | * testsuite/30_threads/promise/cons/move_assign.cc: Likewise. | |
879 | * testsuite/30_threads/promise/members/at_thread_exit.cc: Likewise. | |
880 | * testsuite/30_threads/promise/members/get_future.cc: Likewise. | |
881 | * testsuite/30_threads/promise/members/get_future2.cc: Likewise. | |
882 | * testsuite/30_threads/promise/members/set_exception.cc: Likewise. | |
883 | * testsuite/30_threads/promise/members/set_exception2.cc: Likewise. | |
884 | * testsuite/30_threads/promise/members/set_value.cc: Likewise. | |
885 | * testsuite/30_threads/promise/members/set_value2.cc: Likewise. | |
886 | * testsuite/30_threads/promise/members/set_value3.cc: Likewise. | |
887 | * testsuite/30_threads/promise/members/swap.cc: Likewise. | |
888 | * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise. | |
889 | * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: | |
890 | Likewise. | |
891 | * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise. | |
892 | * testsuite/30_threads/recursive_mutex/native_handle/1.cc: Likewise. | |
893 | * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc: | |
894 | Likewise. | |
895 | * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise. | |
896 | * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise. | |
897 | * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise. | |
898 | * testsuite/30_threads/recursive_mutex/unlock/2.cc: Likewise. | |
899 | * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise. | |
900 | * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc: | |
901 | Likewise. | |
902 | * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise. | |
903 | * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise. | |
904 | * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc: | |
905 | Likewise. | |
906 | * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc: | |
907 | Likewise. | |
908 | * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc: Likewise. | |
909 | * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc: Likewise. | |
910 | * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc: | |
911 | Likewise. | |
912 | * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc: | |
913 | Likewise. | |
914 | * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc: | |
915 | Likewise. | |
916 | * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc: | |
917 | Likewise. | |
918 | * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc: | |
919 | Likewise. | |
920 | * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc: Likewise. | |
921 | * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Likewise. | |
922 | * testsuite/30_threads/shared_future/cons/move.cc: Likewise. | |
923 | * testsuite/30_threads/shared_future/members/45133.cc: Likewise. | |
924 | * testsuite/30_threads/shared_future/members/get.cc: Likewise. | |
925 | * testsuite/30_threads/shared_future/members/get2.cc: Likewise. | |
926 | * testsuite/30_threads/shared_future/members/valid.cc: Likewise. | |
927 | * testsuite/30_threads/shared_future/members/wait.cc: Likewise. | |
928 | * testsuite/30_threads/shared_future/members/wait_for.cc: Likewise. | |
929 | * testsuite/30_threads/shared_future/members/wait_until.cc: Likewise. | |
930 | * testsuite/30_threads/shared_lock/cons/1.cc: Likewise. | |
931 | * testsuite/30_threads/shared_lock/cons/2.cc: Likewise. | |
932 | * testsuite/30_threads/shared_lock/cons/3.cc: Likewise. | |
933 | * testsuite/30_threads/shared_lock/cons/4.cc: Likewise. | |
934 | * testsuite/30_threads/shared_lock/cons/5.cc: Likewise. | |
935 | * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. | |
936 | * testsuite/30_threads/shared_lock/locking/1.cc: Likewise. | |
937 | * testsuite/30_threads/shared_lock/locking/2.cc: Likewise. | |
938 | * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. | |
939 | * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. | |
940 | * testsuite/30_threads/shared_lock/modifiers/1.cc: Likewise. | |
941 | * testsuite/30_threads/shared_mutex/cons/1.cc: Likewise. | |
942 | * testsuite/30_threads/shared_mutex/try_lock/1.cc: Likewise. | |
943 | * testsuite/30_threads/shared_mutex/try_lock/2.cc: Likewise. | |
944 | * testsuite/30_threads/shared_mutex/unlock/1.cc: Likewise. | |
945 | * testsuite/30_threads/shared_timed_mutex/cons/1.cc: Likewise. | |
946 | * testsuite/30_threads/shared_timed_mutex/try_lock/1.cc: Likewise. | |
947 | * testsuite/30_threads/shared_timed_mutex/try_lock/2.cc: Likewise. | |
948 | * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: Likewise. | |
949 | * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: Likewise. | |
950 | * testsuite/30_threads/this_thread/1.cc: Likewise. | |
951 | * testsuite/30_threads/this_thread/2.cc: Likewise. | |
952 | * testsuite/30_threads/this_thread/3.cc: Likewise. | |
953 | * testsuite/30_threads/this_thread/4.cc: Likewise. | |
954 | * testsuite/30_threads/thread/cons/1.cc: Likewise. | |
955 | * testsuite/30_threads/thread/cons/2.cc: Likewise. | |
956 | * testsuite/30_threads/thread/cons/3.cc: Likewise. | |
957 | * testsuite/30_threads/thread/cons/4.cc: Likewise. | |
958 | * testsuite/30_threads/thread/cons/49668.cc: Likewise. | |
959 | * testsuite/30_threads/thread/cons/5.cc: Likewise. | |
960 | * testsuite/30_threads/thread/cons/6.cc: Likewise. | |
961 | * testsuite/30_threads/thread/cons/7.cc: Likewise. | |
962 | * testsuite/30_threads/thread/cons/8.cc: Likewise. | |
963 | * testsuite/30_threads/thread/cons/9.cc: Likewise. | |
964 | * testsuite/30_threads/thread/cons/moveable.cc: Likewise. | |
965 | * testsuite/30_threads/thread/members/1.cc: Likewise. | |
966 | * testsuite/30_threads/thread/members/2.cc: Likewise. | |
967 | * testsuite/30_threads/thread/members/3.cc: Likewise. | |
968 | * testsuite/30_threads/thread/members/4.cc: Likewise. | |
969 | * testsuite/30_threads/thread/members/5.cc: Likewise. | |
970 | * testsuite/30_threads/thread/members/hardware_concurrency.cc: Likewise. | |
971 | * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise. | |
972 | * testsuite/30_threads/thread/swap/1.cc: Likewise. | |
973 | * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise. | |
974 | * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc: Likewise. | |
975 | * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise. | |
976 | * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise. | |
977 | * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc: Likewise. | |
978 | * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise. | |
979 | * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise. | |
980 | * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise. | |
981 | * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise. | |
982 | * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise. | |
983 | * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise. | |
984 | * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise. | |
985 | * testsuite/30_threads/timed_mutex/try_lock_until/57641.cc: Likewise. | |
986 | * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise. | |
987 | * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. | |
988 | * testsuite/30_threads/try_lock/1.cc: Likewise. | |
989 | * testsuite/30_threads/try_lock/2.cc: Likewise. | |
990 | * testsuite/30_threads/try_lock/3.cc: Likewise. | |
991 | * testsuite/30_threads/try_lock/4.cc: Likewise. | |
992 | * testsuite/30_threads/unique_lock/cons/1.cc: Likewise. | |
993 | * testsuite/30_threads/unique_lock/cons/2.cc: Likewise. | |
994 | * testsuite/30_threads/unique_lock/cons/3.cc: Likewise. | |
995 | * testsuite/30_threads/unique_lock/cons/4.cc: Likewise. | |
996 | * testsuite/30_threads/unique_lock/cons/5.cc: Likewise. | |
997 | * testsuite/30_threads/unique_lock/cons/6.cc: Likewise. | |
998 | * testsuite/30_threads/unique_lock/locking/1.cc: Likewise. | |
999 | * testsuite/30_threads/unique_lock/locking/2.cc: Likewise. | |
1000 | * testsuite/30_threads/unique_lock/locking/3.cc: Likewise. | |
1001 | * testsuite/30_threads/unique_lock/locking/4.cc: Likewise. | |
1002 | * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. | |
1003 | * testsuite/ext/rope/pthread7-rope.cc: Likewise. | |
1004 | * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc: | |
1005 | Likewise. | |
1006 | * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc: | |
1007 | Likewise. | |
1008 | ||
71046523 DV |
1009 | 2015-09-02 Dmitry Vyukov <dvyukov@google.com> |
1010 | ||
1011 | * include/bits/basic_string.h: Fix data races on _M_refcount. | |
1012 | ||
d8e19f31 SH |
1013 | 2015-09-02 Sebastian Huber <sebastian.huber@embedded-brains.de> |
1014 | ||
1015 | PR libstdc++/67408 | |
1016 | * include/std/mutex (__timed_mutex_impl::_M_try_lock_until): Use | |
1017 | _Derived::_M_timedlock(). | |
1018 | (timed_mutex): Add _M_timedlock() and make base class a friend. | |
1019 | (recursive_timed_mutex): Likewise. | |
1020 | ||
cae4063c TS |
1021 | 2015-08-28 Tim Shen <timshen@google.com> |
1022 | ||
1023 | PR libstdc++/67362 | |
1024 | * include/bits/regex_scanner.tcc (_Scanner<>::_M_scan_normal): | |
1025 | Always returns ordinary char token if the char isn't | |
1026 | considered a special char. | |
1027 | * testsuite/28_regex/regression.cc: New test file for collecting | |
1028 | regression testcases from, typically, bugzilla. | |
1029 | ||
e994d230 JW |
1030 | 2015-08-27 Jonathan Wakely <jwakely@redhat.com> |
1031 | ||
1032 | PR libstdc++/67374 | |
1033 | * include/bits/range_access.h (valarray, begin, end): Declare. | |
1034 | * testsuite/26_numerics/valarray/range_access.cc: Test const | |
1035 | overloads. | |
1036 | * testsuite/26_numerics/valarray/range_access2.cc: New. | |
1037 | ||
a98e4e62 JM |
1038 | 2015-08-27 John Marino <gnugcc@marino.st> |
1039 | ||
1040 | * acinclude.m4 (*-*-dragonfly*): Change 7 locale support files | |
1041 | from generic to new DragonFly versions. | |
1042 | * configure: Regenerate. | |
1043 | * config/locale/dragonfly/c_locale.cc: Improve locale support. | |
1044 | * config/locale/dragonfly/ctype_members.cc: Likewise. | |
1045 | * config/os/bsd/dragonfly/ctype_configure_char.cc: Likewise. | |
1046 | * config/os/bsd/dragonfly/os_defines.h: Define _GLIBCXX_USE_C99. | |
1047 | * config/locale/dragonfly/c_locale.h: New. | |
1048 | * config/locale/dragonfly/codecvt_members.cc: New. | |
1049 | * config/locale/dragonfly/collate_members.cc: New. | |
1050 | * config/locale/dragonfly/monetary_members.cc: New. | |
1051 | * config/locale/dragonfly/numeric_members.cc: New. | |
1052 | * config/locale/dragonfly/time_members.cc: New. | |
1053 | * config/locale/dragonfly/time_members.h: New. | |
1054 | ||
a185c876 JW |
1055 | 2015-08-27 Jonathan Wakely <jwakely@redhat.com> |
1056 | ||
1057 | * configure: Regenerate. | |
1058 | ||
33df19a7 ESR |
1059 | 2015-08-26 Edward Smith-Rowland <3dw4rd@verizon.net> |
1060 | Jonathan Wakely <jwakely@redhat.com> | |
1061 | ||
1062 | PR libstdc++/64351 | |
1063 | PR libstdc++/63176 | |
1064 | * include/bits/random.tcc (generate_canonical): Loop until we get a | |
1065 | result less than one. | |
1066 | * testsuite/26_numerics/random/uniform_real_distribution/operators/ | |
1067 | 64351.cc: New. | |
1068 | ||
e41fd1f0 JW |
1069 | 2015-08-26 Jonathan Wakely <jwakely@redhat.com> |
1070 | ||
6bc41b26 JW |
1071 | * include/bits/shared_ptr.h (__enable_shared_from_this_helper): Use |
1072 | nullptr. | |
1073 | * include/bits/shared_ptr_base.h (weak_ptr::_M_assign): Don't assign | |
1074 | if ownership is already shared with a shared_ptr object. | |
1075 | (__enable_shared_from_this_helper): Use nullptr. | |
1076 | * testsuite/20_util/enable_shared_from_this/members/const.cc: New. | |
1077 | * testsuite/20_util/enable_shared_from_this/members/reinit.cc: New. | |
1078 | * testsuite/20_util/enable_shared_from_this/requirements/ | |
1079 | explicit_instantiation.cc: Instantiate with const and incomplete types. | |
1080 | ||
66c182be JW |
1081 | * include/debug/map.h (map::try_emplace, map::insert_or_assign): |
1082 | Define. | |
1083 | * include/debug/unordered_map (unordered_map::try_emplace, | |
1084 | unordered_map::insert_or_assign): Define. | |
1085 | ||
e41fd1f0 JW |
1086 | PR libstdc++/66902 |
1087 | * src/c++11/debug.cc (_S_debug_messages): Give internal linkage. | |
1088 | ||
630a286a FD |
1089 | 2015-08-24 François Dumont <fdumont@gcc.gnu.org> |
1090 | ||
1091 | PR libstdc++/60519 | |
1092 | * include/debug/formatter.h (_Debug_msg_id::__msg_irreflexive_ordering): | |
1093 | New enum entry. | |
1094 | * include/debug/functions.h (_Irreflexive_checker): New. | |
1095 | (__is_irreflexive, __is_irreflexive_pred): New. | |
1096 | * include/debug/macros.h | |
1097 | (__glibcxx_check_irreflexive, __glibcxx_check_irreflexive_pred): New | |
1098 | macros. | |
1099 | (__glibcxx_check_irreflexive2, __glibcxx_check_irreflexive_pred2): New | |
1100 | macros limited to post-C++11 mode. | |
1101 | * include/debug/debug.h | |
1102 | (__glibcxx_requires_irreflexive, __glibcxx_requires_irreflexive_pred): | |
1103 | New macros, use latter. | |
1104 | (__glibcxx_requires_irreflexive2, __glibcxx_requires_irreflexive_pred2): | |
1105 | Likewise. | |
1106 | * include/bits/stl_algo.h | |
1107 | (partial_sort_copy): Add irreflexive debug check. | |
1108 | (partial_sort_copy): Likewise. | |
1109 | (lower_bound): Likewise. | |
1110 | (upper_bound): Likewise. | |
1111 | (equal_range): Likewise. | |
1112 | (binary_search): Likewise. | |
1113 | (inplace_merge): Likewise. | |
1114 | (includes): Likewise. | |
1115 | (next_permutation): Likewise. | |
1116 | (prev_permutation): Likewise. | |
1117 | (is_sorted_until): Likewise. | |
1118 | (minmax_element): Likewise. | |
1119 | (partial_sort): Likewise. | |
1120 | (nth_element): Likewise. | |
1121 | (sort): Likewise. | |
1122 | (merge): Likewise. | |
1123 | (stable_sort): Likewise. | |
1124 | (set_union): Likewise. | |
1125 | (set_intersection): Likewise. | |
1126 | (set_difference): Likewise. | |
1127 | (set_symmetric_difference): Likewise. | |
1128 | (min_element): Likewise. | |
1129 | (max_element): Likewise. | |
1130 | * include/bits/stl_algobase.h | |
1131 | (lower_bound): Likewise. | |
1132 | (lexicographical_compare): Likewise. | |
1133 | * include/bits/stl_heap.h | |
1134 | (push_heap): Likewise. | |
1135 | (pop_heap): Likewise. | |
1136 | (make_heap): Likewise. | |
1137 | (sort_heap): Likewise. | |
1138 | (is_heap_until): Likewise. | |
1139 | * testsuite/25_algorithms/lexicographical_compare/debug/ | |
1140 | irreflexive_neg.cc: New. | |
1141 | * testsuite/25_algorithms/lower_bound/debug/irreflexive.cc: New. | |
1142 | * testsuite/25_algorithms/partial_sort_copy/debug/irreflexive_neg.cc: | |
1143 | New. | |
1144 | ||
3af7efb7 JW |
1145 | 2015-08-24 Jonathan Wakely <jwakely@redhat.com> |
1146 | ||
4a88769c JW |
1147 | PR libstdc++/65049 |
1148 | * include/bits/char_traits.h (char_traits<char>::compare, | |
1149 | char_traits<char>::find, char_traits<char>::move, | |
1150 | char_traits<char>::copy, char_traits<char>::assign): Check for zero | |
1151 | length. | |
1152 | (char_traits<wchar_t>::compare, char_traits<wchar_t>::find, | |
1153 | char_traits<wchar_t>::move, char_traits<wchar_t>::copy, | |
1154 | char_traits<wchar_t>::assign): Likewise. | |
1155 | (char_traits<char16_t>::move, char_traits<char16_t>::copy): Likewise. | |
1156 | (char_traits<char32_t>::move, char_traits<char32_t>::copy): Likewise. | |
1157 | * include/ext/pod_char_traits.h (char_traits<character<>>::move, | |
1158 | char_traits<character<>>::copy): Likewise. | |
1159 | * testsuite/21_strings/char_traits/requirements/char/65049.cc: New. | |
1160 | * testsuite/21_strings/char_traits/requirements/char16_t/65049.cc: | |
1161 | New. | |
1162 | * testsuite/21_strings/char_traits/requirements/char32_t/65049.cc: | |
1163 | New. | |
1164 | * testsuite/21_strings/char_traits/requirements/wchar_t/65049.cc: | |
1165 | New. | |
1166 | ||
3af7efb7 JW |
1167 | PR libstdc++/67309 |
1168 | * include/bits/random.tcc | |
1169 | (poisson_distribution::param_type::_M_initialize): Use max<double>. | |
1170 | (binomial_distribution::param_type::_M_initialize): Likewise. | |
1171 | * testsuite/17_intro/headers/c++200x/67309.cc: New. | |
1172 | * testsuite/17_intro/headers/c++200x/all_attributes.cc: Remove | |
1173 | redundant header. | |
1174 | ||
f3f61ed2 JW |
1175 | 2015-08-20 Jonathan Wakely <jwakely@redhat.com> |
1176 | ||
4ba1fef2 JW |
1177 | PR libstdc++/67294 |
1178 | * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: Do not run | |
1179 | on Darwin. | |
1180 | * testsuite/30_threads/timed_mutex/unlock/2.cc: Likewise. | |
1181 | ||
89f06948 JW |
1182 | * include/experimental/any (__any_caster): Define at namespace scope |
1183 | so the name is visible to name lookup. | |
1184 | * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. | |
1185 | ||
f3f61ed2 JW |
1186 | * python/Makefile.am: Ensure gdb.py is installed for libstdc++ not |
1187 | libstdc++fs. | |
1188 | * python/Makefile.in: Regenerate. | |
1189 | ||
dce573c4 PC |
1190 | 2015-08-19 Paolo Carlini <paolo.carlini@oracle.com> |
1191 | ||
1192 | * include/c_global/cmath: Fix typo in comment. | |
1193 | ||
157177af PC |
1194 | 2015-08-19 Paolo Carlini <paolo.carlini@oracle.com> |
1195 | ||
1196 | * include/c_global/cmath: Revert fix for libstdc++/58625, no | |
1197 | longer necessary (__builtin_signbit is now type-generic). | |
1198 | ||
4c2b10d6 JW |
1199 | 2015-08-18 Jonathan Wakely <jwakely@redhat.com> |
1200 | ||
f641b2d6 JW |
1201 | PR c++/67216 |
1202 | * testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc: | |
1203 | Fix use of safe-bool idiom that isn't valid in C++11. | |
1204 | ||
e92e7c15 JW |
1205 | * include/bits/ptr_traits.h: Include <bits/move.h> for addressof. |
1206 | ||
4c2b10d6 JW |
1207 | PR libstdc++/67066 |
1208 | * doc/xml/manual/configure.xml (manual.intro.setup.configure): Add | |
1209 | caveats for --enable-concept-checks. Improve link text. | |
1210 | * doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking): | |
1211 | Clarify caveats. | |
1212 | * doc/html/*: Regenerate. | |
1213 | * include/bits/stl_deque.h (deque): Only use concept checks in C++03. | |
1214 | * include/bits/stl_stack.h (stack): Likewise. | |
1215 | * include/bits/stl_vector.h (vector): Likewise. | |
1216 | ||
2548a4d6 JW |
1217 | 2015-08-14 Jonathan Wakely <jwakely@redhat.com> |
1218 | ||
1219 | * include/experimental/any (any::operator=(const any&)): Move check | |
1220 | for self-assignment. | |
1221 | (any::operator=(any&&)): Add check for self-assignment. | |
1222 | (any::operator=(_ValueType&&)): Constrain template argument. | |
1223 | (any::swap(any&)): Add check for self-swap. | |
1224 | * testsuite/experimental/any/assign/self.cc: Test move and swap. | |
1225 | * testsuite/experimental/any/misc/any_cast_neg.cc: Update dg-error. | |
1226 | ||
357c9f7e JW |
1227 | 2015-08-14 Jonathan Wakely <jwakely@redhat.com> |
1228 | ||
1229 | * include/experimental/array: Add feature-test macro. | |
1230 | * testsuite/experimental/array/neg.cc: Update dg-error. | |
1231 | ||
708768eb VV |
1232 | 2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
1233 | ||
1234 | * testsuite/experimental/array/neg.s: Remove. | |
1235 | * testsuite/experimental/array/neg.ii.gz: Remove. | |
1236 | ||
9638eccd VV |
1237 | 2015-08-13 Ville Voutilainen <ville.voutilainen@gmail.com> |
1238 | ||
1239 | Implement std::experimental::fundamentals_v2::make_array and | |
1240 | std::experimental::fundamentals_v2::to_array. | |
1241 | * include/Makefile.am: Add array. | |
1242 | * include/Makefile.in: Add array. | |
1243 | * include/experimental/array: New. | |
1244 | * testsuite/experimental/array/make_array.cc: Likewise. | |
1245 | * testsuite/experimental/array/neg.cc: Likewise. | |
1246 | * doc/html/manual/status.html: Mark make_array as Y. | |
1247 | * doc/xml/manual/status_cxx2017.xml: Likewise. | |
1248 | ||
db23e4c4 JW |
1249 | 2015-08-13 Jonathan Wakely <jwakely@redhat.com> |
1250 | ||
1251 | * include/bits/alloc_traits.h: Add feature-test macro. | |
1252 | * include/bits/allocator.h: Likewise. | |
1253 | * include/bits/range_access.h: Likewise. | |
1254 | * include/bits/stl_map.h: Likewise. | |
1255 | * include/bits/unordered_map.h: Likewise. | |
1256 | ||
0072c9ac JW |
1257 | 2015-08-13 Jonathan Wakely <jwakely@redhat.com> |
1258 | ||
1259 | * testsuite/30_threads/mutex/unlock/2.cc: New. | |
1260 | * testsuite/30_threads/recursive_mutex/unlock/2.cc: New. | |
1261 | * testsuite/30_threads/recursive_timed_mutex/unlock/2.cc: New. | |
1262 | * testsuite/30_threads/shared_mutex/unlock/1.cc: New. | |
1263 | * testsuite/30_threads/shared_timed_mutex/unlock/1.cc: New. | |
1264 | * testsuite/30_threads/timed_mutex/unlock/2.cc: New. | |
1265 | ||
4c80e544 EW |
1266 | 2015-08-13 Eelis van der Weegen <eelis@eelis.net> |
1267 | ||
1268 | * include/std/shared_mutex (shared_mutex::unlock()): Fix typo. | |
1269 | ||
441fb2cd CT |
1270 | 2015-08-12 Caroline Tice <cmtice@google.com> |
1271 | ||
1272 | PR 66521, Contributed by Eric Gallager | |
1273 | * acinclude.m4 (VTV_CXXLINKFLAGS): Make this variable OS-specific, and | |
1274 | fix the rpath flag to work properly for darwin. | |
1275 | * configure: Regenerated. | |
1276 | ||
93666a7b JW |
1277 | 2015-08-12 Jonathan Wakely <jwakely@redhat.com> |
1278 | ||
1279 | * doc/xml/manual/appendix_contributing.xml: Update patch email policy. | |
1280 | * doc/xml/manual/status_cxx2017.xml: Update status table. | |
1281 | * doc/html/manual/*: Regenerate. | |
1282 | ||
b95170d3 VV |
1283 | 2015-08-09 Ville Voutilainen <ville.voutilainen@gmail.com> |
1284 | ||
1285 | Implement N4279, Improved insertion interface for unique-key maps. | |
1286 | * include/bits/stl_map.h (try_emplace, insert_or_assign): New. | |
1287 | * include/bits/stl_tree.h (_M_get_insert_unique_pos, | |
1288 | _M_get_insert_equal_pos, _M_get_insert_hint_unique_pos, | |
1289 | _M_get_insert_hint_equal_pos): Make public. | |
1290 | * include/bits/unordered_map.h (try_emplace, insert_or_assign): New. | |
1291 | * testsuite/23_containers/map/modifiers/insert_or_assign/1.cc: | |
1292 | Likewise. | |
1293 | * testsuite/23_containers/map/modifiers/try_emplace/1.cc: Likewise. | |
1294 | * testsuite/23_containers/unordered_map/modifiers/insert_or_assign.cc: | |
1295 | Likewise. | |
1296 | * testsuite/23_containers/unordered_map/modifiers/try_emplace.cc: | |
1297 | Likewise. | |
1298 | ||
f3344569 VV |
1299 | 2015-08-08 Ville Voutilainen <ville.voutilainen@gmail.com> |
1300 | ||
1301 | Implement N4089 Safe conversions in unique_ptr<T[]> (LWG 2118) | |
1302 | and N4366 LWG 2228: Missing SFINAE rule in unique_ptr | |
1303 | templated assignment | |
1304 | * include/bits/unique_ptr.h | |
1305 | (__remove_cv, __is_derived_Tp): Remove. | |
1306 | (default_delete::default_delete(const default_delete<_Up[]>)): | |
1307 | Constrain with array convertibility. | |
1308 | (default_delete::operator(_Up*)): Turn into a template, | |
1309 | constrain with array convertibility. | |
1310 | (__safe_conversion_up): New, single object version. | |
1311 | (unique_ptr(unique_ptr<_Up, _Ep>&&)): Constrain with deleter | |
1312 | convertibility. | |
1313 | (unique_ptr::operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add | |
1314 | is_assignable as a constraint. | |
1315 | (__safe_conversion_up): Array version, renamed from __safe_conversion, | |
1316 | updated to implement N4089. | |
1317 | (__safe_conversion_raw): New. | |
1318 | (unique_ptr(_Up)): Turn into a template, constrain with array | |
1319 | convertibility. | |
1320 | (unique_ptr(_Up, | |
1321 | typename conditional<is_reference<deleter_type>::value, | |
1322 | deleter_type, const deleter_type&>::type)): Likewise. | |
1323 | (unique_ptr(_Up, typename | |
1324 | remove_reference<deleter_type>::type&&)): Likewise. | |
1325 | (unique_ptr(unique_ptr<_Up, _Ep>&&)): Likewise. | |
1326 | (operator=(unique_ptr<_Up, _Ep>&&)): Likewise, and add | |
1327 | is_assignable as a constraint (array version). | |
1328 | (reset(_Up)): Turn into a template, constrain with array | |
1329 | convertibility. | |
1330 | (reset(nullptr_t)): New. | |
1331 | * testsuite/20_util/default_delete/48631_neg.cc: Adjust. | |
1332 | * testsuite/20_util/unique_ptr/assign/48635.cc: Likewise. | |
1333 | * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise. | |
1334 | * testsuite/20_util/unique_ptr/assign/cv_qual.cc: Likewise. | |
1335 | * testsuite/20_util/unique_ptr/cons/cv_qual.cc: Likewise. | |
1336 | * testsuite/20_util/unique_ptr/dr2228.cc: New. | |
1337 | * testsuite/20_util/unique_ptr/modifiers/cv_qual.cc: Adjust. | |
1338 | ||
e1ed1bca NB |
1339 | 2015-08-05 Nikolai Bozhenov <n.bozhenov@samsung.com> |
1340 | ||
1341 | * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: Remove | |
1342 | redundant -save-temps option. | |
1343 | * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise. | |
1344 | * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. | |
1345 | * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. | |
1346 | * testsuite/30_threads/future/cons/constexpr.cc: Likewise. | |
1347 | * testsuite/30_threads/shared_future/cons/constexpr.cc: Likewise. | |
1348 | ||
93411db8 JW |
1349 | 2015-08-03 Jonathan Wakely <jwakely@redhat.com> |
1350 | ||
1351 | PR libstdc++/67078 | |
1352 | * include/bits/range_access.h (size, empty, data): Fix _N bad name. | |
1353 | ||
155bfacb JW |
1354 | 2015-07-30 Jonathan Wakely <jwakely@redhat.com> |
1355 | ||
1356 | * testsuite/experimental/filesystem/operations/current_path.cc: Use | |
1357 | canonical paths for comparisons. | |
1358 | ||
81b7ff07 TS |
1359 | 2015-07-30 Tim Shen <timshen@google.com> |
1360 | ||
1361 | * include/bits/regex_automaton.h (_State_base, _State<>): | |
1362 | Remove _TraitsT dependency from _State<>; Make matcher member | |
1363 | into the union to reduce struct size. | |
1364 | * include/bits/regex_automaton.tcc (_State_base<>::_M_print, | |
1365 | _State_base<>::_M_dot, _StateSeq<>::_M_clone): | |
1366 | Adjust to fit the interface. Factor out common parts in | |
1367 | _M_clone as _State<>::_M_has_alt. | |
1368 | * include/bits/regex_executor.h (_Executer<>::_M_lookahead): | |
1369 | Only pass state id instead of the whole state. | |
1370 | * include/bits/regex_executor.tcc (_Executer<>::_M_dfs, | |
1371 | _Executer<>::_M_lookahead): Adjust to fit the interface. | |
1372 | * include/std/regex: Include <ext/aligned_buffer.h> | |
1373 | ||
2e3f48dc JW |
1374 | 2015-07-30 Jonathan Wakely <jwakely@redhat.com> |
1375 | ||
1376 | * include/experimental/any (any::operator=(const any&)): Check for | |
1377 | self-assignment. | |
1378 | * testsuite/experimental/any/assign/self.cc: New. | |
1379 | * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. | |
1380 | ||
626b8d8a JW |
1381 | 2015-07-29 Jonathan Wakely <jwakely@redhat.com> |
1382 | ||
1383 | PR libstdc++/66829 | |
1384 | * testsuite/lib/libstdc++.exp (v3-build_support): Compile | |
1385 | testsuite_shared.cc with -std=gnu++98. | |
1386 | ||
1fa9ba22 VV |
1387 | 2015-07-29 Ville Voutilainen <ville.voutilainen@gmail.com> |
1388 | ||
a460d06d VV |
1389 | * include/bits/range_access.h: Change class to typename in every |
1390 | template. | |
1391 | (size, empty, data): New functions from N4280. | |
1392 | * testsuite/24_iterators/container_access.cc: New. | |
1393 | ||
1fa9ba22 VV |
1394 | PR libstdc++/60970 |
1395 | * include/bits/functional_hash.h (__hash_enum): New. | |
1396 | (hash): Derive from __hash_enum. | |
1397 | * testsuite/20_util/hash/60970.cc: New. | |
1398 | ||
f9ce3c16 TS |
1399 | 2015-07-29 Tim Shen <timshen@google.com> |
1400 | ||
1401 | PR libstdc++/67015 | |
1402 | * include/bits/regex_compiler.h (_Compiler<>::_M_expression_term, | |
1403 | _BracketMatcher<>::_M_add_collating_element): Change signature | |
1404 | to make checking the and of bracket expression easier. | |
1405 | * include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term): | |
1406 | Treat '-' as a valid literal if it's at the end of bracket expression. | |
1407 | * testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc: | |
1408 | New testcases. | |
1409 | ||
fa0ed2b0 JW |
1410 | 2015-07-24 Jonathan Wakely <jwakely@redhat.com> |
1411 | ||
1412 | * include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX] | |
1413 | (_M_load_and_test_until): Whitespace. | |
1414 | (_M_load_and_test): Value-initialize the unused durations. | |
1415 | (_M_load_when_equal): Add missing return value. | |
1416 | ||
74b7ec8c MH |
1417 | 2015-07-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> |
1418 | ||
1419 | * fragment.am (AM_CPPFLAGS): Add CPPFLAGS. | |
1420 | * Makefile.in: Regenerate. | |
1421 | * doc/Makefile.in: Regenerate. | |
1422 | * include/Makefile.in: Regenerate. | |
1423 | * libsupc++/Makefile.in: Regenerate. | |
1424 | * po/Makefile.in: Regenerate. | |
1425 | * python/Makefile.in: Regenerate. | |
1426 | * src/Makefile.in: Regenerate. | |
1427 | * src/c++11/Makefile.in: Regenerate. | |
1428 | * src/c++98/Makefile.in: Regenerate. | |
1429 | * src/filesystem/Makefile.in: Regenerate. | |
1430 | * testsuite/Makefile.in: Regenerate. | |
1431 | ||
8161e0c3 DD |
1432 | 2015-07-23 DJ Delorie <dj@redhat.com> |
1433 | ||
1434 | * include/bits/functional_hash.h: Add specializations for __intN | |
1435 | types. | |
1436 | ||
1437 | * include/ext/pb_ds/detail/thin_heap_/thin_heap_.hpp (__gnu_pbds): | |
1438 | Guard against values that might exceed size_t's precision. | |
1439 | ||
3a353ff5 JM |
1440 | 2015-07-20 Jason Merrill <jason@redhat.com> |
1441 | ||
1442 | * include/bits/c++config: Fix abi_tag in special modes. | |
1443 | ||
5a7dbecc JW |
1444 | 2015-07-19 Jonathan Wakely <jwakely@redhat.com> |
1445 | ||
1446 | * doc/xml/manual/status_cxx2017.xml: Fix URL for N4279. | |
1447 | * doc/html/manual/status.html: Regenerate. | |
1448 | ||
9298e25f JW |
1449 | 2015-07-17 Jonathan Wakely <jwakely@redhat.com> |
1450 | ||
1451 | * doc/xml/manual/status_cxx2011.xml: Add caveats for native_handle. | |
1452 | * doc/html/manual/status.html: Regenerate. | |
1453 | ||
5bc1c07c FD |
1454 | 2015-07-16 François Dumont <fdumont@gcc.gnu.org> |
1455 | ||
1456 | * include/bits/stl_algobase.h (__miter_base): Move... | |
1457 | * include/bits/cpp_type_traits.h: ...here. | |
1458 | * include/debug/functions.h (__foreign_iterator_aux): Use latter. | |
1459 | * testsuite/23_containers/vector/debug/insert7_neg.cc: New. | |
1460 | ||
c5d9ec56 JW |
1461 | 2015-07-13 Jonathan Wakely <jwakely@redhat.com> |
1462 | ||
795038b7 JW |
1463 | PR libstdc++/66855 |
1464 | * src/c++11/codecvt.cc (__codecvt_utf8_utf16_base::do_in): Override | |
1465 | endianness bit in mode. | |
1466 | * testsuite/22_locale/codecvt/codecvt_utf8_utf16/66855.cc: New. | |
1467 | ||
c5d9ec56 JW |
1468 | * include/bits/c++config (_GLIBCXX_NOEXCEPT_IF): Define. |
1469 | * include/bits/forward_list.h (forward_list::swap): Make noexcept | |
1470 | unconditional. | |
1471 | * include/bits/hashtable.h (_Hashtable::swap): Do not use | |
1472 | _S_nothrow_swap(). | |
1473 | * include/bits/stl_bvector.h (vector<bool>::swap): Make noexcept | |
1474 | unconditional. | |
1475 | * include/bits/stl_deque.h (deque::swap): Likewise. | |
1476 | (swap(deque&, deque&)): Use _GLIBCXX_NOEXCEPT_IF. | |
1477 | * include/bits/stl_list.h (list::swap): Make noexcept unconditional. | |
1478 | (swap(list&, list&)): Use _GLIBCXX_NOEXCEPT_IF. | |
1479 | * include/bits/stl_map.h (map::swap, swap(map&, map&)): Use | |
1480 | _GLIBCXX_NOEXCEPT_IF, do not depend on _S_nothrow_swap. | |
1481 | * include/bits/stl_multimap.h (multimap::swap, | |
1482 | swap(multimap&, multimap&)): Likewise. | |
1483 | * include/bits/stl_multiset.h (multiset::swap, | |
1484 | swap(multiset&, multiset&)): Likewise. | |
1485 | * include/bits/stl_set.h (set::swap, swap(set&, set&)): Likewise. | |
1486 | * include/bits/stl_tree.h (_Rb_tree::swap, | |
1487 | swap(_Rb_tree&, _Rb_tree&)): Likewise. | |
1488 | * include/bits/stl_vector.h (vector::swap): Make noexcept | |
1489 | unconditional. | |
1490 | (swap(vector&, vector&)): Use _GLIBCXX_NOEXCEPT_IF. | |
1491 | * include/debug/deque (deque::swap, swap): Likewise. | |
1492 | * include/debug/forward_list (swap): Add noexcept. | |
1493 | * include/debug/list (list::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. | |
1494 | * include/debug/map.h (map::swap, swap): Likewise. | |
1495 | * include/debug/multimap.h (multimap::swap, swap): Likewise. | |
1496 | * include/debug/multiset.h (multiset::Swap, swap): Likewise. | |
1497 | * include/debug/set.h (set::swap, swap): Likewise. | |
1498 | * include/debug/unordered_map (unordered_map::swap, | |
1499 | unordered_multimap::swap, swap): Likewise. | |
1500 | * include/debug/unordered_set (unordered_set::swap, | |
1501 | unordered_multiset::swap, swap): Likewise. | |
1502 | * include/debug/vector (vector::swap, swap): Likewise. | |
1503 | * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): | |
1504 | Remove. | |
1505 | * include/profile/deque (deque::swap, swap): Use _GLIBCXX_NOEXCEPT_IF. | |
1506 | * include/profile/forward_list (swap): Add noexcept. | |
1507 | * include/profile/list (list::swap, swap) : Use _GLIBCXX_NOEXCEPT_IF. | |
1508 | * include/profile/map.h (map::swap, swap): Likewise. | |
1509 | * include/profile/multimap.h (multimap::swap, swap): Likewise. | |
1510 | * include/profile/multiset.h (multiset::swap, swap): Likewise. | |
1511 | * include/profile/set.h (set::swap, swap): Likewise. | |
1512 | * include/profile/unordered_map (swap): Likewise. | |
1513 | * include/profile/unordered_set (swap): Likewise. | |
1514 | * include/profile/vector (vector::swap, swap): Likewise. Remove | |
1515 | overloads for swapping rvalues. | |
1516 | * testsuite/23_containers/deque/allocator/noexcept.cc: Update tests | |
1517 | for noexcept on swap. | |
1518 | * testsuite/23_containers/forward_list/allocator/noexcept.cc: | |
1519 | Likewise. | |
1520 | * testsuite/23_containers/list/allocator/noexcept.cc: Likewise. | |
1521 | * testsuite/23_containers/map/allocator/noexcept.cc: Likewise. | |
1522 | * testsuite/23_containers/multimap/allocator/noexcept.cc: Likewise. | |
1523 | * testsuite/23_containers/multiset/allocator/noexcept.cc: Likewise. | |
1524 | * testsuite/23_containers/set/allocator/noexcept.cc: Likewise. | |
1525 | * testsuite/23_containers/unordered_map/allocator/noexcept.cc: | |
1526 | Likewise. | |
1527 | * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: | |
1528 | Likewise. | |
1529 | * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: | |
1530 | Likewise. | |
1531 | * testsuite/23_containers/unordered_set/allocator/noexcept.cc: | |
1532 | Likewise. | |
1533 | * testsuite/23_containers/vector/allocator/noexcept.cc: Likewise. | |
1534 | * testsuite/23_containers/vector/bool/allocator/noexcept.cc: Likewise. | |
1535 | * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line | |
1536 | number. | |
1537 | ||
66a2f247 JM |
1538 | 2015-07-13 John Marino <gnugcc@marino.st> |
1539 | ||
1540 | * config/os/bsd/dragonfly/os_defines.h (_GLIBCXX_USE_C99_CHECK, | |
1541 | _GLIBCXX_USE_C99_DYNAMIC, _GLIBCXX_USE_C99_LONG_LONG_CHECK, | |
1542 | _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC): Define. | |
1543 | ||
291e91da FD |
1544 | 2015-07-05 François Dumont <fdumont@gcc.gnu.org> |
1545 | ||
1546 | * include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not | |
1547 | rehash container. | |
1548 | * testsuite/23_containers/unordered_set/max_load_factor/robustness.cc: | |
1549 | Adapt. | |
1550 | ||
ed3caa8c JW |
1551 | 2015-07-03 Jonathan Wakely <jwakely@redhat.com> |
1552 | ||
1553 | * doc/xml/manual/status_cxx2017.xml: Update status table. | |
1554 | * doc/html/manual/*: Regenerate. | |
1555 | ||
e37e6813 VV |
1556 | 2015-07-03 Ville Voutilainen <ville.voutilainen@gmail.com> |
1557 | ||
1558 | Implement std::experimental::fundamentals_v2::propagate_const. | |
1559 | * include/Makefile.am: Add propagate_const. | |
1560 | * include/Makefile.in: Regenerate. | |
1561 | * include/experimental/propagate_const: New. | |
1562 | * testsuite/experimental/propagate_const/assignment/copy.cc: Likewise. | |
1563 | * testsuite/experimental/propagate_const/assignment/move.cc: Likewise. | |
1564 | * testsuite/experimental/propagate_const/assignment/move_neg.cc: | |
1565 | Likewise. | |
1566 | * testsuite/experimental/propagate_const/cons/copy.cc: Likewise. | |
1567 | * testsuite/experimental/propagate_const/cons/default.cc: Likewise. | |
1568 | * testsuite/experimental/propagate_const/cons/move.cc: Likewise. | |
1569 | * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. | |
1570 | * testsuite/experimental/propagate_const/hash/1.cc: Likewise. | |
1571 | * testsuite/experimental/propagate_const/observers/1.cc: Likewise. | |
1572 | * testsuite/experimental/propagate_const/relops/1.cc: Likewise. | |
1573 | * testsuite/experimental/propagate_const/requirements1.cc: Likewise. | |
1574 | * testsuite/experimental/propagate_const/requirements2.cc: Likewise. | |
1575 | * testsuite/experimental/propagate_const/requirements3.cc: Likewise. | |
1576 | * testsuite/experimental/propagate_const/requirements4.cc: Likewise. | |
1577 | * testsuite/experimental/propagate_const/requirements5.cc: Likewise. | |
1578 | * testsuite/experimental/propagate_const/swap/1.cc: Likewise. | |
1579 | * testsuite/experimental/propagate_const/typedefs.cc: Likewise. | |
1580 | ||
10d712eb JW |
1581 | 2015-07-02 Jonathan Wakely <jwakely@redhat.com> |
1582 | ||
1583 | * acinclude.m4 (GLIBCXX_DEFAULT_ABI): Change valid arguments for | |
1584 | --with-default-libstdcxx-abi | |
1585 | * configure: Regenerate. | |
1586 | * doc/xml/manual/configure.xml: Document valid arguments. | |
1587 | ||
53ac92c3 UB |
1588 | 2015-07-02 Uros Bizjak <ubizjak@gmail.com> |
1589 | ||
1590 | * libsupc++/guard.cc (__test_and_acquire): Use __p after __atomic_load | |
1591 | to avoid unused variable warning. | |
1592 | (__set_and_release): Use __p after __atomic_store to avoid unused | |
1593 | variable warning. | |
1594 | ||
6af6bef4 JW |
1595 | 2015-07-01 Jonathan Wakely <jwakely@redhat.com> |
1596 | ||
79466838 JW |
1597 | * include/bits/alloc_traits.h (__alloctr_rebind): Remove. |
1598 | (__allocator_traits_base): New base class. | |
1599 | (__alloc_rebind): Reimplement in terms of detection idiom. | |
1600 | (allocator_traits): Derive from __allocator_traits_base. Reimplement | |
1601 | nested types in terms of detection idiom. Simplify SFINAE constraints | |
1602 | on overloaded static member functions. | |
1603 | * include/bits/hashtable.h (_Hashtable): Use __alloc_rebind instead | |
1604 | of __alloctr_rebind. | |
1605 | * testsuite/20_util/scoped_allocator/propagation.cc: Define rebind. | |
1606 | * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust | |
1607 | dg-error line number. | |
1608 | ||
4f44c555 JW |
1609 | * include/bits/ptr_traits.h (__ptrtr_elt_type, __ptrtr_diff_type, |
1610 | __ptrtr_rebind, __ptrtr_not_void): Remove | |
1611 | (__get_first_arg, __replace_first_arg, __make_not_void): Define new | |
1612 | transformations. | |
1613 | (__detected_or_): New detection trait. | |
1614 | (pointer_traits): Use new traits. | |
1615 | * testsuite/20_util/pointer_traits/pointer_to.cc: Add rebind member. | |
1616 | * testsuite/20_util/pointer_traits/requirements/ | |
1617 | explicit_instantiation.cc: Use valid arguments to pointer_traits. | |
1618 | ||
6af6bef4 JW |
1619 | * doc/xml/manual/status_cxx2017.xml: Update status table. |
1620 | * include/experimental/type_traits (void_t, is_detected, | |
1621 | is_detected_v, detected_t, detected_or, detected_or_t, | |
1622 | is_detected_exact, is_detected_exact_v, is_detected_convertible, | |
1623 | is_detected_convertible_v): Define. | |
1624 | * include/std/type_traits (__detector, __detected_or, __detected_or_t, | |
1625 | __detected_or_t_): Define. | |
1626 | * testsuite/experimental/type_traits/detection.cc: New. | |
1627 | ||
6f864679 JW |
1628 | 2015-06-30 Jonathan Wakely <jwakely@redhat.com> |
1629 | ||
5ea37bca JW |
1630 | * doc/Makefile.am (stamp-pdf-doxygen): Grep for LaTeX errors in log. |
1631 | * doc/Makefile.in: Regenerate. | |
1632 | ||
6f864679 JW |
1633 | * include/bits/stl_pair.h: Replace class keyword with typename. |
1634 | ||
bf7818bf VV |
1635 | 2015-06-30 Ville Voutilainen <ville.voutilainen@gmail.com> |
1636 | ||
1637 | Implement N4387, "Improving pair and tuple", and LWG 2367. | |
1638 | ||
1639 | * include/bits/stl_pair.h (_ConstructiblePair, | |
1640 | _ImplicitlyConvertiblePair, _MoveConstructiblePair, | |
1641 | _ImplicitlyMoveConvertiblePair): New. | |
1642 | (pair()): Constrain it. | |
1643 | (pair(const _T1&, const _T2&), pair(const pair<_U1, _U2>&), | |
1644 | pair(_U1&&, const _T2&), pair(const _T1&, _U2&&), pair(_U1&&, _U2&&), | |
1645 | pair(pair<_U1, _U2>&&)): Make conditionally explicit. | |
1646 | * include/std/tuple (_TC, tuple::_TC2, tuple::TCC, tuple::TMC): New. | |
1647 | (tuple()): Constrain it. | |
1648 | (tuple(const _UElements&...), tuple(_UElements&&...), | |
1649 | tuple(const tuple<_UElements...>&), tuple(tuple<_UElements...>&&), | |
1650 | tuple(allocator_arg_t, const _Alloc&, const _UElements&...), | |
1651 | tuple(allocator_arg_t, const _Alloc&, _UElements&&...), | |
1652 | tuple(allocator_arg_t, const _Alloc&, const tuple<_UElements...>&), | |
1653 | tuple(allocator_arg_t, const _Alloc&, tuple<_UElements...>&&), | |
1654 | tuple(const pair<_U1, _U2>&), tuple(pair<_U1, _U2>&&), | |
1655 | tuple(allocator_arg_t, const _Alloc&, const pair<_U1, _U2>&), | |
1656 | tuple(allocator_arg_t, const _Alloc&, pair<_U1, _U2>&&)): Make | |
1657 | conditionally explicit. | |
1658 | * include/experimental/functional (__boyer_moore_array_base): Name | |
1659 | array type explicitly instead of using an empty braced-init-list. | |
1660 | * testsuite/20_util/pair/cons/explicit_construct.cc: New. | |
1661 | * testsuite/20_util/pair/piecewise.cc: Use piecewise_construct. | |
1662 | * testsuite/20_util/pair/requirements/dr2367.cc: New. | |
1663 | * testsuite/20_util/tuple/cons/explicit_construct.cc: New. | |
1664 | * testsuite/20_util/tuple/requirements/dr2367.cc: New. | |
1665 | ||
d6280855 JW |
1666 | 2015-06-30 Jonathan Wakely <jwakely@redhat.com> |
1667 | ||
1668 | * configure: Regenerate. | |
1669 | ||
24167c42 FD |
1670 | 2015-06-29 François Dumont <fdumont@gcc.gnu.org> |
1671 | ||
1672 | * include/bits/stl_iterator_base_types.h (_Iter_base): Limit definition | |
1673 | to pre-C++11 mode. | |
1674 | * include/debug/functions.h | |
1675 | (__gnu_debug::__valid_range, __gnu_debug::__base): Move... | |
1676 | * include/debug/safe_iterator.h | |
1677 | (__gnu_debug::_Sequence_traits): New. | |
1678 | (__gnu_debug::__get_distance_from_begin): New. | |
1679 | (__gnu_debug::__get_distance_to_end): New. | |
1680 | (__gnu_debug::_Safe_iterator<>::_M_valid_range): Expose iterator range | |
1681 | distance information. Add optional check_dereferenceable parameter, | |
1682 | default true. | |
1683 | (__gnu_debug::_Distance_precision, __gnu_debug::__get_distance): Move | |
1684 | default definition... | |
1685 | (__gnu_debug::__get_distance): New overload for _Safe_iterator. | |
1686 | (__gnu_debug::__unsafe): Likewise. | |
1687 | * include/debug/helper_functions.h: ...here. New. | |
1688 | (__gnu_debug::__unsafe): New helper function to remove safe iterator | |
1689 | layer. | |
1690 | * include/debug/stl_iterator.h: New. Include latter. | |
1691 | * include/bits/stl_iterator.h: Include latter in debug mode. | |
1692 | * include/debug/stl_iterator.tcc: Adapt. | |
1693 | * include/debug/safe_local_iterator.h (__gnu_debug::__get_distance): Add | |
1694 | overload for _Safe_local_iterator. | |
1695 | (__gnu_debug::__unsafe): Likewise. | |
1696 | * include/debug/safe_local_iterator.tcc: Adapt. | |
1697 | * include/debug/macros.h (__glibcxx_check_valid_range2): New. | |
1698 | (__glibcxx_check_insert_range): Add _Dist parameter. | |
1699 | (__glibcxx_check_insert_range_after): Likewise. | |
1700 | (__glibcxx_check_string, __glibcxx_check_string_len): Implement using | |
1701 | _GLIBCXX_DEBUG_PEDASSERT. | |
1702 | * include/debug/deque (deque<>::assign): Remove iterator debug layer | |
1703 | when possible. | |
1704 | (deque<>::insert): Likewise. | |
1705 | * include/debug/forward_list (__glibcxx_check_valid_fl_range): New. | |
1706 | (forward_list<>::splice_after): Use latter. | |
1707 | (forward_list<>::assign): Remove iterator debug layer when possible. | |
1708 | (forward_list<>::insert_after): Likewise. | |
1709 | (__gnu_debug::_Sequence_traits<>): Partial specialization. | |
1710 | * include/debug/list (list<>::assign): Remove iterator debug layer when | |
1711 | possible. | |
1712 | (list<>::insert): Likewise. | |
1713 | [__gnu_debug::_Sequence_traits<>]: Partial specialization pre C++11 ABI. | |
1714 | * include/debug/map.h (map<>::insert): Remove iterator debug layer when | |
1715 | possible. | |
1716 | * include/debug/multimap.h (multimap<>::insert): Likewise. | |
1717 | * include/debug/set.h (set<>::insert): Likewise. | |
1718 | * include/debug/multiset.h (multiset<>::insert): Likewise. | |
1719 | * include/debug/string (basic_string<>::append, basic_string<>::assign, | |
1720 | basic_string<>::insert, basic_string<>::replace): Likewise. | |
1721 | * include/debug/unordered_map | |
1722 | (unordered_map<>::insert, unordered_multimap<>::insert): Likewise. | |
1723 | * include/debug/unordered_set | |
1724 | (unordered_set<>::insert, unordered_multiset<>insert): Likewise. | |
1725 | * include/debug/vector | |
1726 | (vector<>::assign, vector<>::insert): Likewise. | |
1727 | * include/Makefile.am: Add new debug headers. | |
1728 | * include/Makefile.in: Regenerate. | |
1729 | ||
504a5fe6 JW |
1730 | 2015-06-26 Jonathan Wakely <jwakely@redhat.com> |
1731 | ||
a2b5fdcb JW |
1732 | * doc/xml/manual/intro.xml: Document LWG 2108 status. |
1733 | * include/bits/alloc_traits.h (allocator_traits::is_always_equal): | |
1734 | Define. | |
1735 | * include/bits/allocator.h (allocator::is_always_equal): Likewise. | |
1736 | * include/bits/forward_list.h | |
1737 | (forward_list::operator=(forward_list&&)): Use __bool_constant. | |
1738 | (forward_list::swap(forward_list&)): Add noexcept. | |
1739 | * include/bits/hashtable.h (_Hashtable::operator=(_Hashtable&&)): | |
1740 | Likewise. | |
1741 | (_Hashtable::swap(_Hashtable&)): Likewise. | |
1742 | * include/bits/stl_deque.h (_Deque_base::_Deque_base(_Deque_base&&)): | |
1743 | Use _Alloc_traits::is_always_equal. | |
1744 | (deque::operator=(deque&&)): Likewise. | |
1745 | (deque::_M_move_assign1(deque&&, false_type)): Add comment and use | |
1746 | __bool_constant. | |
1747 | (swap(deque&, deque&)): Add noexcept. | |
1748 | * include/bits/stl_list.h (list::operator=(list&&)): Use | |
1749 | __bool_constant. | |
1750 | (swap(list&, list&)): Add noexcept. | |
1751 | * include/bits/stl_map.h (map::swap(map&)): Include _Compare in | |
1752 | noexcept. | |
1753 | (swap(map&, map&)): Add noexcept. | |
1754 | * include/bits/stl_multimap.h (multimap::swap(multimap&)): Include | |
1755 | _Compare in noexcept. | |
1756 | (swap(multimap&, multimap&)): Add noexcept. | |
1757 | * include/bits/stl_multiset.h (multiset::swap(multiset&)): Include | |
1758 | _Compare in noexcept. | |
1759 | (swap(multiset&, multiset&)): Add noexcept. | |
1760 | * include/bits/stl_set.h (set::swap(set&)): Include _Compare in | |
1761 | noexcept. | |
1762 | (swap(set&, set&)): Add noexcept. | |
1763 | * include/bits/stl_tree.h (_Rb_tree::operator=(_Rb_tree&&)): Include | |
1764 | _Compare in noexcept. | |
1765 | (_Rb_tree::_Rb_tree(_Rb_tree&&, _Node_alloc_type&&)): Use | |
1766 | is_always_equal. | |
1767 | * include/bits/stl_vector.h (vector::operator=(vector&&)): Use | |
1768 | __bool_constant. | |
1769 | (swap(vector&, vector&)): Add noexcept. | |
1770 | * include/bits/unordered_map.h (swap(unordered_map&, unordered_map&), | |
1771 | swap(unordered_multimap& unordered_multimap&)): Add noexcept. | |
1772 | * include/bits/unordered_set.h (swap(unordered_set&, unordered_set&), | |
1773 | swap(unordered_multiset& unordered_multiset&)): Add noexcept. | |
1774 | * include/ext/alloc_traits.h (__allocator_always_compares_equal): | |
1775 | Remove. | |
1776 | (__alloc_traits::_S_always_equal()): Use is_always_equal instead of | |
1777 | __allocator_always_compares_equal. | |
1778 | * include/ext/array_allocator.h (array_allocator::is_always_equal): | |
1779 | Define. | |
1780 | * include/std/scoped_allocator (__any_of, __propagate_on_copy, | |
1781 | __propagate_on_move, __propagate_on_swap): Remove. | |
1782 | (scoped_allocator_adaptor::propagate_on_container_copy_assignment, | |
1783 | scoped_allocator_adaptor::propagate_on_container_move_assignment, | |
1784 | scoped_allocator_adaptor::propagate_on_container_swap): Define with | |
1785 | __and_ instead of __any_of. | |
1786 | (scoped_allocator_adaptor::is_always_equal): Define. | |
1787 | * testsuite/20_util/allocator_traits/members/is_always_equal.cc: New. | |
1788 | * testsuite/20_util/scoped_allocator/propagation.cc: Make traits | |
1789 | derive from true_type or false_type. | |
1790 | * testsuite/23_containers/deque/allocator/move_assign-2.cc: Add | |
1791 | is_always_equal member and remove the trait specialization. | |
1792 | * testsuite/23_containers/vector/52591.cc: Likewise. | |
1793 | * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: | |
1794 | Adjust dg-error line number. | |
1795 | * testsuite/23_containers/deque/requirements/dr438/ | |
1796 | constructor_1_neg.cc: Likewise. | |
1797 | * testsuite/23_containers/deque/requirements/dr438/ | |
1798 | constructor_2_neg.cc: Likewise. | |
1799 | * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: | |
1800 | Likewise. | |
1801 | * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: | |
1802 | Likewise. | |
1803 | * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: | |
1804 | Likewise. | |
1805 | * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: | |
1806 | Likewise. | |
1807 | * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: | |
1808 | Likewise. | |
1809 | * testsuite/23_containers/vector/requirements/dr438/ | |
1810 | constructor_1_neg.cc: Likewise. | |
1811 | * testsuite/23_containers/vector/requirements/dr438/ | |
1812 | constructor_2_neg.cc: Likewise. | |
1813 | * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: | |
1814 | Likewise. | |
1815 | ||
504a5fe6 JW |
1816 | * include/bits/stl_bvector.h (vector<bool>::vector()): Add noexcept. |
1817 | * include/bits/stl_map.h (map::map()): Likewise. | |
1818 | * include/bits/stl_multimap.h (multimap::multimap()): Likewise. | |
1819 | * include/bits/stl_multiset.h (multiset::multiset()): Likewise. | |
1820 | * include/bits/stl_set.h (set::set()): Likewise. | |
1821 | ||
67b0404e JW |
1822 | 2015-06-25 Jonathan Wakely <jwakely@redhat.com> |
1823 | ||
1824 | * include/bits/locale_conv.h (__do_str_codecvt): Set __count. | |
1825 | ||
e25d2617 FD |
1826 | 2015-06-24 François Dumont <fdumont@gcc.gnu.org> |
1827 | ||
1828 | * include/bits/basic_string.h (basic_string<>::front()): Add !empty | |
1829 | debug check. | |
1830 | (basic_string<>::back()): Likewise. | |
1831 | (basic_string<>::pop_back()): Likewise. | |
1832 | ||
a2055cc9 PC |
1833 | 2015-06-24 Paolo Carlini <paolo.carlini@oracle.com> |
1834 | ||
1835 | * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust | |
1836 | dg-error line numbers. | |
1837 | * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: | |
1838 | Likewise. | |
1839 | ||
7d17de7f FD |
1840 | 2015-06-23 François Dumont <fdumont@gcc.gnu.org> |
1841 | ||
1842 | * include/debug/array: Include <array>. Add version namespace when | |
1843 | specializing tuple interface to array. Add specialization for | |
1844 | __is_tuple_like_impl. | |
1845 | * include/profile/array: Likewise. | |
1846 | * include/std/array: Include <utility>. Add specialization for | |
1847 | __is_tuple_like_impl. | |
1848 | * include/std/tuple | |
1849 | (__is_tuple_like_impl<>, __is_tuple_like_impl<pair>): Move... | |
1850 | * include/std/utility: ... here. Include <type_traits>. | |
1851 | * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: Adjust | |
1852 | dg-error line number. | |
1853 | * testsuite/23_containers/array/tuple_interface/ | |
1854 | tuple_element_debug_neg.cc: Likewise. | |
1855 | ||
4db6c2f5 JW |
1856 | 2015-06-22 Jonathan Wakely <jwakely@redhat.com> |
1857 | ||
e39c4966 JW |
1858 | * testsuite/26_numerics/complex/value_operations/1.cc: Use |
1859 | non-negative rho argument. | |
1860 | ||
e51d8770 JW |
1861 | * include/debug/list (__gnu_debug::list): Use allocator-aware |
1862 | _Safe_container base. | |
1863 | * include/debug/string (__gnu_debug::basic_string): Use | |
1864 | allocator-aware _Safe_container base for cxx11 ABI. | |
1865 | ||
9eb659e0 JW |
1866 | * include/bits/locale_conv.h (__do_str_codecvt): Handle empty range. |
1867 | (wstring_convert): Move into __cxx11 namespace. | |
1868 | (wbuffer_convert(streambuf*, _Codecvt*, state_type)): Fix exception | |
1869 | message. | |
1870 | ||
4db6c2f5 JW |
1871 | PR libstdc++/64657 |
1872 | * include/bits/stl_uninitialized.h | |
1873 | (__uninitialized_copy::__uninit_copy): Cast expression to void. | |
1874 | ||
c92334d4 JW |
1875 | 2015-06-17 Jonathan Wakely <jwakely@redhat.com> |
1876 | ||
cc7f3d0e JW |
1877 | PR libstdc++/55409 |
1878 | * include/bits/list.tcc (_List_base::_M_clear()): Use allocator traits. | |
1879 | (list::list(const list&)): Use allocator propagation trait. Use | |
1880 | _M_assign_dispatch to copy elements. | |
1881 | * include/bits/stl_list.h (_List_node): Use __aligned_membuf in C++11. | |
1882 | (_List_node::_M_valptr()): Add accessor for stored value. | |
1883 | (_List_iterator, _List_const_iterator, _List_base): Use _M_valptr(). | |
1884 | (_List_base, list): Use allocator traits. | |
1885 | (_List_base::_M_get_Tp_allocator, _List_base::get_allocator): Remove. | |
1886 | (_List_base::_M_move_nodes): New function. | |
1887 | (_List_base(_List_base&&)): Use _M_move_nodes. | |
1888 | (_List_base(_List_base&&, _Node_alloc_type&&)): New constructor. | |
1889 | (list::_M_create_node, list::_M_erase, list::max_size): Use allocator | |
1890 | traits. | |
1891 | (list(size_type)): Add allocator parameter. | |
1892 | (list(const list&)): Use allocator propagation trait. | |
1893 | (list(const list&, const allocator_type&)): New constructor. | |
1894 | (list(list&&, const allocator_type&)): Likewise. | |
1895 | (list::operator=(list&&), list::swap(list&)): Use allocator | |
1896 | propagation traits. | |
1897 | (list::_M_move_assign): New functions. | |
1898 | * include/debug/list: Add allocator-extended constructors. | |
1899 | * include/profile/list: Likewise. | |
1900 | * python/libstdcxx/v6/printers.py (get_value_from_list_node): New | |
1901 | function to get value from _List_node. | |
1902 | (StdListPrinter): Use get_value_from_list_node. | |
1903 | * testsuite/23_containers/list/allocator/copy.cc: New. | |
1904 | * testsuite/23_containers/list/allocator/copy_assign.cc: New. | |
1905 | * testsuite/23_containers/list/allocator/minimal.cc: New. | |
1906 | * testsuite/23_containers/list/allocator/move.cc: New. | |
1907 | * testsuite/23_containers/list/allocator/move_assign.cc: New. | |
1908 | * testsuite/23_containers/list/allocator/noexcept.cc: New. | |
1909 | * testsuite/23_containers/list/allocator/swap.cc: New. | |
1910 | * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: | |
1911 | Adjust dg-prune-output line number. | |
1912 | * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: | |
1913 | Likewise. | |
1914 | * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: | |
1915 | Likewise. | |
1916 | ||
21bdef94 JW |
1917 | * include/bits/forward_list.h |
1918 | (_Fwd_list_base(const _Node_alloc_type&)): Change parameter to | |
1919 | rvalue-reference. | |
1920 | (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Likewise. | |
1921 | (forward_list(const _Alloc&)): Split default constructor out to | |
1922 | separate function. | |
1923 | (forward_list(forward_list&&, const _Alloc&)): Move elements if base | |
1924 | class didn't do so. | |
1925 | (forward_list::_M_move_assign(forward_list&&, true_type)): Replace | |
1926 | swap call with two assignments. | |
1927 | * include/bits/forward_list.tcc | |
1928 | (_Fwd_list_base(_Fwd_list_base&&, const _Node_alloc_type&)): Don't | |
1929 | move elements when allocators are not equal. | |
1930 | * include/debug/forward_list (forward_list(const allocator_type&)): | |
1931 | Split default constructor out to separate function. | |
1932 | * include/profile/forward_list (forward_list(const _Alloc&)): | |
1933 | Likewise. | |
1934 | ||
9649e5b6 JW |
1935 | * include/bits/forward_list.h (forward_list::_M_get_Node_allocator): |
1936 | Remove unnecessary uses of operator& and static_cast. | |
1937 | * include/bits/forward_list.tcc | |
1938 | (forward_list::operator=(const forward_list&)): Use __addressof | |
1939 | instead of operator&. | |
1940 | (forward_list::remove(const _Tp&), forward_list::remove(_Pred)): | |
1941 | Remove invalid static_casts. | |
1942 | * include/debug/forward_list: Use __addressof instead of operator&. | |
1943 | * testsuite/23_containers/forward_list/modifiers/addressof.cc: New. | |
1944 | ||
c92334d4 JW |
1945 | * include/ext/alloc_traits.h (__alloc_traits::_S_nothrow_swap()): Use |
1946 | __is_nothrow_swappable. | |
1947 | ||
0dc3cba1 JW |
1948 | 2015-06-16 Jonathan Wakely <jwakely@redhat.com> |
1949 | ||
91b142ff JW |
1950 | * include/bits/allocated_ptr.h (__allocated_ptr): Use __addressof. |
1951 | ||
200fcd33 JW |
1952 | * include/bits/list.tcc (list::operator=(const list&), list::merge): |
1953 | Use __addressof instead of operator&. | |
1954 | (list::sort): Use array-to-pointer decay instead of operator&. | |
1955 | * include/bits/stl_list.h (list::splice): Use __addressof instead of | |
1956 | operator&. | |
1957 | * include/debug/formatter.h (_Error_formatter::_Parameter::_Parameter): | |
1958 | Likewise. | |
1959 | * include/debug/functions.h (__check_singular): Likewise. | |
1960 | * include/debug/list (list::splice, list::merge): Likewise. | |
1961 | * testsuite/23_containers/list/modifiers/addressof.cc: New. | |
1962 | ||
0dc3cba1 JW |
1963 | PR libstdc++/65393 |
1964 | * src/c++11/thread.cc (thread::_M_make_thread): Replace shared_ptr | |
1965 | copies with moves. | |
1966 | ||
6a3d0bb3 JW |
1967 | 2015-06-12 Jonathan Wakely <jwakely@redhat.com> |
1968 | ||
7388ee9e JW |
1969 | * include/precompiled/stdc++.h: Include <codecvt> and <shared_mutex>. |
1970 | ||
6a3d0bb3 JW |
1971 | PR libstdc++/66464 |
1972 | * src/c++11/codecvt.cc (codecvt_utf16_base<char32_t>::do_max_length): | |
1973 | Return 4 not 3. | |
1974 | ||
dd38693e RR |
1975 | 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
1976 | ||
1977 | PR c++/66192 | |
1978 | PR target/66200 | |
f0b587aa JW |
1979 | * config/cpu/alpha/atomic_word.h: Remove. |
1980 | * config/cpu/ia64/atomic_word.h: Remove. | |
1981 | * config/cpu/powerpc/atomic_word.h: Remove. | |
1982 | * config/os/aix/atomic_word.h: Remove. | |
1983 | * configure.host (atomic_word_dir) [ia64, aix*, powerpc, alpha]: | |
1984 | Use generic definition. | |
dd38693e | 1985 | |
57e6d9be RR |
1986 | 2015-06-12 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
1987 | ||
1988 | PR target/66200 | |
1989 | PR c++/66192 | |
1990 | * * config/cpu/generic/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): Define | |
f0b587aa JW |
1991 | (_GLIBCXX_WRITE_MEM_BARRIER): Likewise |
1992 | * include/bits/shared_ptr_base.h: Use ACQ_REL barrier. | |
1993 | * include/ext/atomicity.h: Likewise. | |
1994 | * include/tr1/shared_ptr.h: Likewise. | |
1995 | * libsupc++/guard.cc (__test_and_acquire): Rewrite with atomics. | |
1996 | Update comment. | |
1997 | (__set_and_release): Likewise. | |
1998 | * testsuite/20_util/shared_ptr/cons/43820_neg.cc (test01): Adjust for | |
57e6d9be | 1999 | line numbers. |
f0b587aa JW |
2000 | * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. |
2001 | * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: | |
57e6d9be RR |
2002 | Likewise. |
2003 | ||
7672ab25 JW |
2004 | 2015-06-12 Jonathan Wakely <jwakely@redhat.com> |
2005 | ||
2006 | * include/std/tuple (__is_tuple_like_impl): Disambiguate array in | |
2007 | debug and profile modes. | |
2008 | * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Adjust tests | |
2009 | for swap in C++11 and later. | |
2010 | ||
8602ca0a JW |
2011 | 2015-06-09 Jonathan Wakely <jwakely@redhat.com> |
2012 | ||
2013 | PR libstdc++/66030 | |
2014 | * config/abi/pre/gnu.ver: Export codecvt_byname and codecvt symbols | |
2015 | for mingw32. | |
2016 | ||
aa4e0c43 JW |
2017 | 2015-06-08 Jonathan Wakely <jwakely@redhat.com> |
2018 | ||
c00f4f5f JW |
2019 | PR libstdc++/66441 |
2020 | * testsuite/22_locale/conversions/string/66441.cc: New. | |
2021 | * include/bits/locale_conv.h (__do_str_codecvt): Reserve enough space | |
2022 | in the output string for BOM and complete result. | |
2023 | ||
aa4e0c43 JW |
2024 | PR libstdc++/66417 |
2025 | * src/c++11/codecvt.cc (write_utf16_code_point): Use adjust_byte_order | |
2026 | for single UTF-16 units. | |
2027 | * testsuite/22_locale/codecvt/codecvt_utf16/66417.cc: New. | |
2028 | ||
d7b35f22 FD |
2029 | 2015-06-07 François Dumont <fdumont@gcc.gnu.org> |
2030 | ||
2031 | * include/bits/stl_tree.h (_Rb_tree<>::__is_transparent<>): Move to | |
2032 | outer scope and rename to ... | |
2033 | (std::__hash_is_transparent<>): ... this. | |
2034 | * include/debug/stl_map.h (map::find<>, | |
2035 | map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New | |
2036 | member function templates to perform heterogeneous lookup. | |
2037 | * include/debug/stl_multimap.h (multimap::find<>, | |
2038 | multimap::lower_bound<>, multimap::upper_bound<>, | |
2039 | multimap::equal_range<>): Likewise. | |
2040 | * include/debug/stl_multiset.h (multiset::find<>, | |
2041 | multiset::lower_bound<>, multiset::upper_bound<>, | |
2042 | multiset::equal_range<>): Likewise. | |
2043 | * include/debug/stl_set.h (set::find<>, | |
2044 | set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. | |
2045 | * include/profile/stl_map.h (map::find<>, map::count<>, | |
2046 | map::lower_bound<>, map::upper_bound<>, map::equal_range<>): Likewise. | |
2047 | * include/profile/stl_multimap.h (multimap::find<>, multimap::count<>, | |
2048 | multimap::lower_bound<>, multimap::upper_bound<>, | |
2049 | multimap::equal_range<>): Likewise. | |
2050 | * include/profile/stl_multiset.h (multiset::find<>, multiset::count<>, | |
2051 | multiset::lower_bound<>, multiset::upper_bound<>, | |
2052 | multiset::equal_range<>): Likewise. | |
2053 | * include/profile/stl_set.h (set::find<>, set::count<>, | |
2054 | set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. | |
2055 | * testsuite/23_containers/map/operations/1.cc: Check const variants. | |
2056 | * testsuite/23_containers/multimap/operations/1.cc: Likewise. | |
2057 | * testsuite/23_containers/multiset/operations/1.cc: Likewise. | |
2058 | * testsuite/23_containers/set/operations/1.cc: Likewise. | |
2059 | ||
71226651 JW |
2060 | 2015-06-05 Jonathan Wakely <jwakely@redhat.com> |
2061 | ||
46ba1281 JW |
2062 | * doc/xml/manual/status_cxx2017.xml: Update status tables. |
2063 | * doc/html/manual/*: Regenerate. | |
2064 | * include/std/type_traits (bool_constant): Define. | |
2065 | * testsuite/20_util/bool_constant/requirements.cc: New. | |
2066 | * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. | |
2067 | * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: | |
2068 | Likewise. | |
2069 | * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: | |
2070 | Likewise. | |
2071 | ||
71226651 JW |
2072 | * include/std/shared_mutex (__shared_mutex_pthread, |
2073 | __shared_mutex_cv): New helper types implementing the shared mutex | |
2074 | requirements. | |
2075 | (shared_mutex): New type for C++17. | |
2076 | (shared_timed_mutex): Derive from one of the new helper types. | |
2077 | * testsuite/30_threads/shared_mutex/cons/1.cc: New. | |
2078 | * testsuite/30_threads/shared_mutex/cons/assign_neg.cc: New. | |
2079 | * testsuite/30_threads/shared_mutex/cons/copy_neg.cc: New. | |
2080 | * testsuite/30_threads/shared_mutex/requirements/standard_layout.cc: | |
2081 | New. | |
2082 | * testsuite/30_threads/shared_mutex/try_lock/1.cc: New. | |
2083 | * testsuite/30_threads/shared_mutex/try_lock/2.cc: New. | |
2084 | ||
9bbcf8b8 | 2085 | 2015-06-05 Ville Voutilainen <ville.voutilainen@gmail.com> |
ddb63209 VV |
2086 | |
2087 | Add __is_nothrow_swappable and take it into use. | |
2088 | * include/bits/algorithmfwd.h (swap): Only declare for C++98 mode. | |
2089 | * include/bits/move.h (swap): Add constraints in C++11 and later. | |
2090 | * include/bits/stl_pair.h (swap): Use __is_nothrow_swappable | |
2091 | for the free swap function for pair. | |
2092 | * include/bits/stl_queue.h (swap): Use __is_nothrow_swappable | |
2093 | for the free swap functions for queue and priority_queue. | |
2094 | * include/bits/stl_stack.h (swap): Use __is_nothrow_swappable | |
2095 | for the free swap function for stack. | |
2096 | * include/debug/array (swap): Use __is_nothrow_swappable | |
2097 | for the free swap function for array. | |
2098 | * include/profile/array (swap): Likewise. | |
2099 | * include/std/array (swap): Likewise. | |
2100 | * include/std/tuple (_Tuple_impl::_M_swap): Use __is_nothrow_swappable. | |
2101 | * include/std/type_traits (__is_swappable_impl::__is_swappable, | |
2102 | __is_nothrow_swappable_impl, __is_nothrow_swappable): New. | |
2103 | * testsuite/20_util/is_nothrow_swappable/requirements/ | |
2104 | explicit_instantiation.cc: New. | |
2105 | * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: | |
2106 | New. | |
2107 | * testsuite/20_util/is_nothrow_swappable/value.cc: New. | |
2108 | ||
82b544ad FD |
2109 | 2015-06-03 François Dumont fdumont@gcc.gnu.org> |
2110 | ||
2111 | * testsuite/23_containers/list/61347.cc: Add dg-require-normal-mode. | |
2112 | ||
5d65efd4 JW |
2113 | 2015-06-02 Jonathan Wakely <jwakely@redhat.com> |
2114 | ||
5211a52d JW |
2115 | * doc/xml/manual/abi.xml: Document versioning for 5.1.0 release. |
2116 | * doc/html/manual/*: Regenerate. | |
2117 | ||
5d65efd4 JW |
2118 | * doc/html/ext/lwg-active.html: Update to R93. |
2119 | * doc/html/ext/lwg-closed.html: Likewise. | |
2120 | * doc/html/ext/lwg-defects.html: Likewise. | |
2121 | * doc/html/manual/*: Regenerate. | |
2122 | * doc/xml/manual/intro.xml: Document status of several DRs. | |
2123 | ||
fc7e20fd RL |
2124 | 2015-06-02 Renlin Li <renlin.li@arm.com> |
2125 | ||
2126 | * testsuite/27_io/fpos/14775.cc: Add _GLIBCXX_HAVE_LIMIT_FSIZE check. | |
2127 | ||
77d0ed47 JW |
2128 | 2015-06-01 Jonathan Wakely <jwakely@redhat.com> |
2129 | ||
2130 | * testsuite/lib/libstdc++.exp (libstdc++_init): Unset LANGUAGE | |
2131 | environment variable. | |
2132 | ||
5d946f42 JW |
2133 | 2015-05-31 Jonathan Wakely <jwakely@redhat.com> |
2134 | ||
2135 | PR libstdc++/66354 | |
2136 | * include/bits/stl_algobase.h (__fill_a): Check length before calling | |
2137 | memset. | |
2138 | ||
12fc64ac JW |
2139 | 2015-05-30 Jonathan Wakely <jwakely@redhat.com> |
2140 | ||
2141 | * include/bits/stl_algobase.h (__equal<true>::equal): Check length | |
2142 | instead of checking for null pointers. | |
2143 | (__lexicographical_compare<true>::__lc): Only check shorter length. | |
2144 | ||
adad2a7d FD |
2145 | 2015-05-29 François Dumont fdumont@gcc.gnu.org> |
2146 | ||
2147 | * include/debug/debug.h (_GLIBCXX_DEBUG_ASSERT, | |
2148 | _GLIBCXX_DEBUG_PEDASSERT, _GLIBCXX_DEBUG_ONLY): Move definition... | |
2149 | * include/debug/assertions.h: ...here, new. | |
2150 | * include/debug/formatter.h | |
2151 | (_Error_formatter::_Is_iterator_value_type): New. | |
2152 | (_Error_formatter::_Is_instance): New. | |
2153 | (_Error_formatter::_Parameter): Make public and not friend anymore. | |
2154 | (_Error_formatter::_Parameter::__instance): New _M_kind enum entry. | |
2155 | (_Error_formatter::_Parameter::__iterator_value_type): New _M_kind enum | |
2156 | entry. | |
2157 | (_Error_formatter::_Parameter::_Type): New. | |
2158 | (_Error_formatter::_Parameter::_Instance): New, inherit from | |
2159 | latter. | |
2160 | (union _Error_formatter::_Parameter::_M_variant): Reorganize. | |
2161 | (_Parameter(_Iterator const&, const char*, _Is_iterator)): Make all | |
2162 | overloads take iterator through a const reference. | |
2163 | (_Parameter(const _Iterator&, const char*, _Is_iterator_value_type)): | |
2164 | New. | |
2165 | (_Parameter(const _Type&, const char*, _Is_instance)): New. | |
2166 | (_Error_formatter::_M_print_type): Delete. | |
2167 | (_Error_formatter::_M_iterator_value_type): New. | |
2168 | (_Error_formatter::_M_instance): New. | |
2169 | * include/Makefile.am: Add new above debug file. | |
2170 | * include/Makefile.in: Regenerate. | |
2171 | * include/debug/functions.h | |
2172 | (__check_dereferenceable(const _Safe_iterator<>&), | |
2173 | __valid_range(const _Safe_iterator<>&), | |
2174 | __is_safe_random_iterator<_Safe_iterator<>>): Move... | |
2175 | * include/debug/safe_iterator.h: ... here. | |
2176 | Replace debug.h include with assertions.h. | |
2177 | (__check_singular_aux): Move... | |
2178 | * include/debug/safe_base.h: ... here. | |
2179 | * include/debug/functions.h | |
2180 | (__check_dereferenceable(const _Safe_local_iterator<>&), | |
2181 | __valid_range(const _Safe_local_iterator<>&): Move... | |
2182 | * include/debug/safe_local_iterator.h: ...here. | |
2183 | * include/debug/safe_sequence.h: Replace debug.h with assertions.h. | |
2184 | Remove _Safe_iterator declaration. | |
2185 | * include/debug/safe_unordered_container.h: Replace debug.h with | |
2186 | assertions.h. | |
2187 | * include/debug/array: Replace safe_sequence.h include with | |
2188 | formatter.h and macros.h. | |
2189 | * include/debug/deque: Include functions.tcc. | |
2190 | * include/debug/forward_list: Likewise. | |
2191 | * include/debug/list: Likewise. | |
2192 | * include/debug/string: Likewise. | |
2193 | * include/debug/vector: Likewise. | |
2194 | * include/bits/unique_ptr.h: Replace debug.h include with new | |
2195 | assertions.h. | |
2196 | * include/bits/stl_iterator_base_funcs.h: Likewise. | |
2197 | * testsuite/23_containers/array/tuple_interface/get_debug_neg.cc: | |
2198 | Adjust dg-error line number. | |
2199 | * testsuite/23_containers/array/tuple_interface/ | |
2200 | tuple_element_debug_neg.cc: Likewise. | |
2201 | * src/c++11/debug.cc: Adapt. | |
2202 | ||
6759edde JW |
2203 | 2015-05-29 Jonathan Wakely <jwakely@redhat.com> |
2204 | ||
cfba236a JW |
2205 | * doc/xml/manual/status_cxx2017.xml: Fix duplicate ID attribute. |
2206 | * doc/html/manual/*: Regenerate. | |
2207 | ||
75eb6443 JW |
2208 | * include/std/future (__async_result_of): New alias template. |
2209 | (async): Use __async_result_of to pass decayed types to result_of. | |
2210 | * testsuite/30_threads/async/lwg2021.cc: New. | |
2211 | * doc/xml/manual/intro.xml: Document LWG 2021 status. | |
2212 | ||
6759edde JW |
2213 | PR libstdc++/66327 |
2214 | * include/bits/stl_algobase.h (__equal<true>::equal): Do not call | |
2215 | memcmp with null pointers. | |
2216 | (__lexicographical_compare<true>::__lc): Do not call memcmp for empty | |
2217 | ranges. | |
2218 | ||
6a344b95 JW |
2219 | 2015-05-28 Jonathan Wakely <jwakely@redhat.com> |
2220 | ||
ac3efa77 JW |
2221 | PR libstdc++/65352 |
2222 | * include/profile/array (array::data): Use _S_ptr. | |
2223 | * include/debug/array (array::data): Likewise. | |
2224 | ||
6a344b95 JW |
2225 | PR libstdc++/65352 |
2226 | * include/std/array (__array_traits::_S_ptr): New function. | |
2227 | (array::data): Use _S_ptr to avoid creating invalid reference. | |
2228 | * testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust | |
2229 | dg-error line numbers. | |
2230 | * testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc: | |
2231 | likewise. | |
2232 | ||
2097b5b0 JW |
2233 | 2015-05-27 Jonathan Wakely <jwakely@redhat.com> |
2234 | ||
151fbaac JW |
2235 | * include/bits/stl_tree.h (_Rb_tree::_M_end()): Return _Base_ptr |
2236 | instead of downcasting. | |
2237 | (_Rb_tree::_M_copy): Change second parameter to _Base_ptr. | |
2238 | (_Rb_tree::_M_lower_bound, _Rb_tree:_M_upper_bound): Likewise. | |
2239 | (_Rb_tree::_S_iter): Remove. | |
2240 | (_Rb_tree::_S_lower_bound_tr, _Rb_tree::_S_upper_bound_tr): Remove. | |
2241 | (_Rb_tree::_M_find_tr(const _Kt&) const): Call _M_lower_bound_tr | |
2242 | instead of _S_lower_bound_tr | |
2243 | (_Rb_tree::_M_find_tr(const _Kt&)): Call const overload. | |
2244 | (_Rb_tree::_M_lower_bound_tr(const _Kt&) const): Do the search here | |
2245 | instead of calling _S_lower_bound_tr. | |
2246 | (_Rb_tree::_M_lower_bound_tr(const _Kt&)): Call const overload. | |
2247 | (_Rb_tree::_M_upper_bound_tr(const _Kt&) const): Do the search here | |
2248 | instead of calling _S_upper_bound_tr. | |
2249 | (_Rb_tree::_M_upper_bound_tr(const _Kt&)): Call const overload. | |
2250 | (_Rb_tree::_M_equal_range_tr(const _Kt&)): Likewise. | |
2251 | (_Rb_tree::equal_range): Use _Base_ptr for end pointer. | |
2252 | (_Rb_tree::_M_get_insert_unique_pos): Likewise. | |
2253 | (_Rb_tree::_M_get_insert_equal_pos): Likewise. | |
2254 | (_Rb_tree::_M_insert_equal_lower_node): Likewise. | |
2255 | (_Rb_tree::_M_insert_unique, _Rb_tree::_M_emplace_unique, | |
2256 | _Rb_tree::_M_emplace_hint_unique): Remove static_cast. | |
2257 | ||
2097b5b0 JW |
2258 | PR libstdc++/66017 |
2259 | * include/bits/stl_tree.h (_Rb_tree_node): Use __aligned_membuf. | |
2260 | (_Rb_tree_iterator, _Rb_tree_const_iterator): Support construction | |
2261 | from _Base_ptr. | |
2262 | (_Rb_tree_const_iterator::_M_const_cast): Remove static_cast. | |
2263 | (_Rb_tree::begin, _Rb_tree::end): Remove static_cast. | |
2264 | * include/ext/aligned_buffer.h (__aligned_membuf): New type using | |
2265 | alignment of _Tp as a member subobject, not as a complete object. | |
2266 | * python/libstdcxx/v6/printers.py (StdRbtreeIteratorPrinter): Lookup | |
2267 | _Link_type manually as it might not be in the debug info. | |
2268 | ||
419587a0 DE |
2269 | 2015-05-26 Doug Evans <dje@google.com> |
2270 | ||
2271 | * python/libstdcxx/v6/xmethods.py (UniquePtrMethodsMatcher): Add | |
2272 | operator-> support. | |
2273 | * testsuite/libstdc++-xmethods/unique_ptr.cc: Add tests for | |
2274 | operator->. | |
2275 | ||
4a72a6dd JW |
2276 | 2015-05-26 Jonathan Wakely <jwakely@redhat.com> |
2277 | ||
2278 | * include/bits/locale_conv.h: Fix copyright years. | |
2279 | * include/bits/quoted_string.h: Likewise. | |
2280 | * src/filesystem/Makefile.am: Likewise. | |
2281 | * testsuite/22_locale/conversions/buffer/1.cc: Likewise. | |
2282 | * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: | |
2283 | Likewise. | |
2284 | * testsuite/22_locale/conversions/string/1.cc: Likewise. | |
2285 | * testsuite/22_locale/conversions/string/2.cc: Likewise. | |
2286 | * testsuite/22_locale/conversions/string/3.cc: Likewise. | |
2287 | * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: | |
2288 | Likewise. | |
2289 | * testsuite/22_locale/conversions/string/requirements/typedefs.cc: | |
2290 | Likewise. | |
2291 | * testsuite/util/testsuite_fs.h: Likewise. | |
2292 | ||
e2897e23 FD |
2293 | 2015-05-23 François Dumont fdumont@gcc.gnu.org> |
2294 | ||
2295 | PR libstdc++/64657 | |
2296 | * include/debug/functions.h (__check_sorted_aux): Cast expression to | |
2297 | void. | |
2298 | ||
e3592e19 DE |
2299 | 2015-05-21 David Edelsohn <dje.gcc@gmail.com> |
2300 | ||
2301 | PR target/66224 | |
2302 | * config/cpu/powerpc/atomic_word.h (_GLIBCXX_READ_MEM_BARRIER): | |
2303 | Don't use isync. Use lwsync if available. | |
2304 | * configure.host (atomic_word_dir) [aix[56789]*]: Delete to use | |
2305 | powerpc cpu definition. | |
2306 | ||
4177264e JM |
2307 | 2015-05-21 Jason Merrill <jason@redhat.com> |
2308 | ||
2309 | * libsupc++/del_opv.cc: Suppress -Wsized-deallocation. | |
2310 | * libsupc++/del_op.cc: Likewise. | |
2311 | ||
e3592e19 | 2312 | 2015-05-20 François Dumont fdumont@gcc.gnu.org> |
fd2ef117 | 2313 | |
fa5cc2db FD |
2314 | * include/debug/formatter.h (_GLIBCXX_TYPEID): New macro to simplify |
2315 | usage of typeid. | |
2316 | (_Error_formatter::_M_print_type): New. | |
2317 | * src/c++11/debug.cc | |
2318 | (_Error_formatter::_Parameter::_M_print_field): Use latter. | |
2319 | (_Error_formatter::_M_print_type): Implement latter using | |
2320 | __cxaabiv1::__cxa_demangle to print demangled type name. | |
2321 | ||
fd2ef117 FD |
2322 | * include/bits/cpp_type_traits.h |
2323 | (std::move_iterator): Delete declaration. | |
2324 | (std::__is_move_iterator<move_iterator>): Move partial specialization... | |
2325 | * include/bits/stl_iterator.h: ... here. | |
2326 | (std::__miter_base): Overloads for std::reverse_iterator and | |
2327 | std::move_iterator. | |
2328 | * include/bits/stl_algobase.h (std::__miter_base): Provide default | |
2329 | implementation. | |
2330 | ||
793cac74 JW |
2331 | 2015-05-20 Jonathan Wakely <jwakely@redhat.com> |
2332 | ||
7769c9de JW |
2333 | * testsuite/util/testsuite_fs.h (nonexistent_path): Don't use tempnam. |
2334 | ||
793cac74 JW |
2335 | PR libstdc++/66078 |
2336 | * include/bits/stl_iterator.h (__make_move_if_noexcept_iterator): Add | |
2337 | overload for pointers. | |
2338 | * testsuite/20_util/specialized_algorithms/uninitialized_copy/ | |
2339 | 808590.cc: Add -std=gnu++03 switch. | |
2340 | * testsuite/20_util/specialized_algorithms/uninitialized_copy/ | |
2341 | 808590-cxx11.cc: Copy of 808590.cc to test with -std=gnu++11. | |
2342 | * testsuite/23_containers/vector/modifiers/push_back/ | |
2343 | strong_guarantee.cc: New. | |
2344 | ||
8e725716 JW |
2345 | 2015-05-19 Jonathan Wakely <jwakely@redhat.com> |
2346 | ||
2347 | * include/bits/stl_list.h (_M_resize_pos(size_type&)): Declare. | |
2348 | (operator==(const list&, const list&)): If size() is O(1) compare | |
2349 | sizes before comparing each element. | |
2350 | * include/bits/list.tcc (list::_M_resize_pos(size_type&)): Define. | |
2351 | (list::resize): Use _M_resize_pos. | |
2352 | ||
90f0d176 FD |
2353 | 2015-05-19 François Dumont <fdumont@gcc.gnu.org> |
2354 | ||
2355 | * testsuite/23_containers/unordered_map/cons/66055.cc: Add constructor | |
2356 | invocations. | |
2357 | * testsuite/23_containers/unordered_multimap/cons/66055.cc: Likewise. | |
2358 | * testsuite/23_containers/unordered_multiset/cons/66055.cc: Likewise. | |
2359 | * testsuite/23_containers/unordered_set/cons/66055.cc: Likewise. | |
2360 | ||
49c65434 RR |
2361 | 2015-05-17 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
2362 | ||
2363 | * configure.host: Define cpu_defines_dir for ARM. | |
2364 | * config/cpu/arm/cpu_defines.h: New file. | |
2365 | ||
e55b80f5 FD |
2366 | 2015-05-17 François Dumont <fdumont@gcc.gnu.org> |
2367 | ||
2368 | * include/bits/unordered_map.h (unordered_map, unordered_multimap): Add | |
2369 | missing constructors. | |
2370 | * include/bits/unordered_set.h (unordered_set, unordered_multiset): | |
2371 | Likewise. | |
2372 | * include/debug/unordered_map (unordered_map, unordered_multimap): Add | |
2373 | missing constructors. | |
2374 | * include/debug/unordered_set (unordered_set, unordered_multiset): | |
2375 | Likewise. | |
2376 | * include/profile/unordered_map (unordered_map, unordered_multimap): Add | |
2377 | missing constructors. | |
2378 | * include/profile/unordered_set (unordered_set, unordered_multiset): | |
2379 | Likewise. | |
e55b80f5 | 2380 | |
9caf7b27 JW |
2381 | 2015-05-15 Jonathan Wakely <jwakely@redhat.com> |
2382 | ||
2383 | * src/filesystem/ops.cc (stat_type): Define alias for struct stat and | |
2384 | use throughout the file. | |
2385 | (make_file_type): New function. | |
2386 | (file_size(const path&, error_code&)): Report an error for anything | |
2387 | that isn't a regular file. | |
2388 | (status(const path&), symlink_status(const path&)): Do not throw for | |
2389 | file_type::not_found. | |
2390 | (temp_directory_path()): Check additional environment variables. | |
2391 | * testsuite/experimental/filesystem/operations/exists.cc: New. | |
2392 | * testsuite/experimental/filesystem/operations/file_size.cc: New. | |
2393 | * testsuite/experimental/filesystem/operations/status.cc: New. | |
2394 | * testsuite/experimental/filesystem/operations/temp_directory_path.cc: | |
2395 | New. | |
2396 | ||
ddbd742b NM |
2397 | 2015-05-14 Nathan Myers <ncm@cantrip.org> |
2398 | Jonathan Wakely <jwakely@redhat.com> | |
2399 | ||
2400 | PR libstdc++/66055 | |
2401 | * include/std/unordered_map (unordered_map, unordered_multimap): Add | |
2402 | missing constructors. | |
2403 | * include/std/unordered_set (unordered_set, unordered_multiset): | |
2404 | Likewise. | |
2405 | * testsuite/23_containers/unordered_map/cons/66055.cc: New. | |
2406 | * testsuite/23_containers/unordered_multimap/cons/66055.cc: New. | |
2407 | * testsuite/23_containers/unordered_multiset/cons/66055.cc: New. | |
2408 | * testsuite/23_containers/unordered_set/cons/66055.cc: New. | |
2409 | ||
0b9fc9fe JW |
2410 | 2015-05-14 Jonathan Wakely <jwakely@redhat.com> |
2411 | ||
a0c4531c JW |
2412 | PR libstdc++/66011 |
2413 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmod and | |
2414 | sendfile. | |
2415 | * config.h.in: Regenerate. | |
2416 | * configure: Regenerate. | |
2417 | * src/filesystem/ops.cc (do_copy_file): Fix arguments to open(). Do | |
2418 | not return after copying contents. Use fchmod, fchmodat, and sendfile | |
2419 | when available. | |
2420 | (current_path, permissions, space): Use errno not return value. | |
2421 | ||
0b9fc9fe JW |
2422 | PR libstdc++/66018 |
2423 | * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for struct | |
2424 | dirent.d_type. | |
2425 | * config.h.in: Regenerate. | |
2426 | * configure: Regenerate. | |
2427 | * configure.ac (AC_STRUCT_DIRENT_D_TYPE): Remove. | |
2428 | ||
9b92a9f3 EB |
2429 | 2015-05-13 Eric Botcazou <ebotcazou@adacore.com> |
2430 | ||
2431 | * acinclude.m4 (GLIBCXX_ENABLE_SJLJ_EXCEPTIONS): Delete. | |
2432 | * configure.ac: Remove GLIBCXX_ENABLE_SJLJ_EXCEPTIONS. | |
2433 | * config.h.in: Regenerate. | |
2434 | * configure: Likewise. | |
2435 | * libsupc++/eh_personality.cc: Replace _GLIBCXX_SJLJ_EXCEPTIONS by | |
2436 | __USING_SJLJ_EXCEPTIONS__. | |
2437 | * libsupc++/eh_throw.cc: Likewise. | |
2438 | * libsupc++/eh_ptr.cc: Likewise. | |
2439 | * doc/html/manual/appendix_porting.html: Remove | |
2440 | GLIBCXX_ENABLE_SJLJ_EXCEPTIONS | |
2441 | * doc/xml/manual/build_hacking.xml: Likewise. | |
2442 | * doc/html/manual/configure.html: Remove --enable-sjlj-exceptions. | |
2443 | * doc/xml/manual/configure.xml: Likewise. | |
2444 | ||
32ff3768 JW |
2445 | 2015-05-13 Jonathan Wakely <jwakely@redhat.com> |
2446 | ||
098aac94 JW |
2447 | * include/bits/shared_ptr_base.h (__shared_count(unique_ptr&&)): Check |
2448 | for nullptr (LWG 2415). | |
2449 | * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc: Test | |
2450 | construction from empty unique_ptr. | |
2451 | * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. | |
2452 | * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. | |
2453 | ||
49d50b6b JW |
2454 | * include/bits/stl_raw_storage_iter.h (raw_storage_iterator::base()): |
2455 | Define (LWG 2454). | |
2456 | * testsuite/20_util/raw_storage_iterator/base.cc: New. | |
2457 | ||
e6508eaf JW |
2458 | * include/std/future (packaged_task(allocator_arg_t, const A&, F&&): |
2459 | Remove explicit (LWG 2407). | |
2460 | ||
bcb896ab JW |
2461 | * include/bits/basic_string.h (basic_string::basic_string()): Make |
2462 | noexcept conditional on allocator (LWG 2455). | |
2463 | ||
d0cad9fe JW |
2464 | * include/std/complex (polar): Check for negative rho (LWG 2459). |
2465 | ||
ac68f97c JW |
2466 | * include/experimental/tuple (apply): Handle pointers to member (LWG |
2467 | 2418). | |
2468 | * include/std/functional (_Mem_fn_base): Make constructors constexpr. | |
2469 | (_Maybe_wrap_member_pointer::__do_wrap): Make constexpr. | |
2470 | * testsuite/experimental/tuple/apply.cc: Test pointer to member. | |
2471 | ||
9933eb86 JW |
2472 | * include/bits/random.h (seed_seq): More noexcept (LWG 2440). |
2473 | ||
32e6a60e JW |
2474 | * include/bits/alloc_traits.h (_S_max_size): Implement LWG 2466. |
2475 | * testsuite/20_util/allocator_traits/members/max_size.cc: Adjust. | |
2476 | * testsuite/23_containers/forward_list/allocator/minimal.cc: | |
2477 | Likewise. | |
2478 | * testsuite/23_containers/map/allocator/minimal.cc: Likewise. | |
2479 | * testsuite/23_containers/multimap/allocator/minimal.cc: Likewise. | |
2480 | * testsuite/23_containers/multiset/allocator/minimal.cc: Likewise. | |
2481 | * testsuite/23_containers/set/allocator/minimal.cc: Likewise. | |
2482 | * testsuite/23_containers/unordered_map/allocator/minimal.cc: | |
2483 | Likewise. | |
2484 | * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: | |
2485 | Likewise. | |
2486 | * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: | |
2487 | Likewise. | |
2488 | * testsuite/23_containers/unordered_set/allocator/minimal.cc: | |
2489 | Likewise. | |
2490 | * testsuite/util/testsuite_allocator.h: Remove unused parameter. | |
2491 | ||
32ff3768 JW |
2492 | * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Re-enable on solaris. |
2493 | * configure: Regenerate. | |
2494 | ||
6ef93676 MH |
2495 | 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com> |
2496 | ||
2497 | * Makefile.in: Regenerated with automake-1.11.6. | |
2498 | * aclocal.m4: Likewise. | |
2499 | * configure: Likewise. | |
2500 | * doc/Makefile.in: Likewise. | |
2501 | * include/Makefile.in: Likewise. | |
2502 | * libsupc++/Makefile.in: Likewise. | |
2503 | * po/Makefile.in: Likewise. | |
2504 | * python/Makefile.in: Likewise. | |
2505 | * src/Makefile.in: Likewise. | |
2506 | * src/c++11/Makefile.in: Likewise. | |
2507 | * src/c++98/Makefile.in: Likewise. | |
2508 | * src/filesystem/Makefile.in: Likewise. | |
2509 | * testsuite/Makefile.in: Likewise. | |
2510 | ||
839473d0 JM |
2511 | 2015-05-09 Jason Merrill <jason@redhat.com> |
2512 | ||
2513 | * testsuite/20_util/headers/functional/synopsis.cc: Add | |
2514 | _GLIBCXX14_CONSTEXPR. | |
2515 | * testsuite/25_algorithms/headers/algorithm/synopsis.cc: Likewise. | |
2516 | ||
6cd9cb89 JM |
2517 | 2015-05-08 Jason Merrill <jason@redhat.com> |
2518 | ||
f8356d52 JM |
2519 | * testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc: Add -std=c++98. |
2520 | * testsuite/20_util/auto_ptr/1.cc: Add -std=c++98. | |
2521 | * testsuite/20_util/auto_ptr/2.cc: Add -std=c++98. | |
2522 | * testsuite/20_util/auto_ptr/3.cc: Add -std=c++98. | |
2523 | * testsuite/20_util/auto_ptr/4.cc: Add -std=c++98. | |
2524 | * testsuite/20_util/auto_ptr/5.cc: Add -std=c++98. | |
2525 | * testsuite/20_util/auto_ptr/6.cc: Add -std=c++98. | |
2526 | * testsuite/20_util/auto_ptr/7.cc: Add -std=c++98. | |
2527 | * testsuite/20_util/auto_ptr/3946.cc: Add -std=c++98. | |
2528 | * testsuite/20_util/auto_ptr/assign_neg.cc: Add -std=c++98. | |
e2897e23 FD |
2529 | * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: |
2530 | Likewise. | |
f8356d52 | 2531 | * testsuite/20_util/headers/functional/synopsis.cc: Add -Wno-deprecated. |
e2897e23 FD |
2532 | * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: |
2533 | Adjust expected errors. | |
2534 | * testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc: | |
2535 | Likewise. | |
2536 | * testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc: | |
2537 | Likewise. | |
2538 | * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: | |
2539 | Likewise. | |
2540 | * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: | |
2541 | Likewise. | |
2542 | * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: | |
2543 | Likewise. | |
2544 | * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: | |
2545 | Likewise. | |
2546 | * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: | |
2547 | Likewise. | |
2548 | * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: | |
2549 | Likewise. | |
2550 | * testsuite/23_containers/vector/requirements/dr438 | |
2551 | /constructor_1_neg.cc: Likewise. | |
2552 | * testsuite/23_containers/vector/requirements/dr438 | |
2553 | /constructor_2_neg.cc: Likewise. | |
2554 | * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: | |
2555 | Likewise. | |
f8356d52 JM |
2556 | * testsuite/ext/array_allocator/1.cc: Add -Wno-deprecated. |
2557 | * testsuite/ext/array_allocator/2.cc: Add -Wno-deprecated. | |
2558 | * testsuite/ext/array_allocator/26875.cc: Add -Wno-deprecated. | |
2559 | * testsuite/ext/array_allocator/3.cc: Add -Wno-deprecated. | |
e2897e23 FD |
2560 | * testsuite/ext/array_allocator/check_allocate_max_size.cc: |
2561 | Add -Wno-deprecated. | |
2562 | * testsuite/ext/array_allocator/check_deallocate_null.cc: | |
2563 | Add -Wno-deprecated. | |
f8356d52 JM |
2564 | * testsuite/ext/array_allocator/check_delete.cc: Add -Wno-deprecated. |
2565 | * testsuite/ext/array_allocator/check_new.cc: Add -Wno-deprecated. | |
2566 | * testsuite/ext/profile/mutex_extensions_neg.cc: Prune follow-on error. | |
e2897e23 FD |
2567 | * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: |
2568 | Add -std=c++98. | |
2569 | * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: | |
2570 | Add -std=c++98. | |
2571 | * testsuite/tr1/2_general_utilities/shared_ptr/assign | |
2572 | /auto_ptr_rvalue_neg.cc: Add -std=c++98. | |
2573 | * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: | |
2574 | Add -std=c++98 -fno-show-column. | |
2575 | * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: | |
2576 | Add -std=c++98. | |
2577 | * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: | |
2578 | Add -std=c++98. | |
f8356d52 JM |
2579 | * testsuite/tr1/6_containers/utility/pair.cc: Add -std=c++98. |
2580 | * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Add -std=c++98. | |
2581 | ||
6cd9cb89 JM |
2582 | * src/c++98/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. |
2583 | * src/c++98/Makefile.in: Regenerate. | |
2584 | * src/Makefile.am (AM_CXXFLAGS): Add -std=gnu++98. | |
2585 | * src/Makefile.in: Regenerate. | |
2586 | ||
6c0b8a53 JW |
2587 | 2015-05-02 Jonathan Wakely <jwakely@redhat.com> |
2588 | ||
f6341d8d JW |
2589 | PR libstdc++/51617 |
2590 | * include/std/future (async): Change default policy to launch::async. | |
2591 | ||
563777d7 JW |
2592 | * include/experimental/any (any::_Storage): Fix alignment of buffer. |
2593 | (any::_Internal): Check alignment of type. | |
2594 | * testsuite/experimental/any/cons/aligned.cc: New. | |
2595 | * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. | |
2596 | ||
b4f504de JW |
2597 | * include/experimental/iterator (ostream_joiner): Simplify by using |
2598 | the injected-class-name and the ostream_type typedef. | |
2599 | ||
a623b6f0 JW |
2600 | * include/experimental/iterator: New. Define ostream_joiner. |
2601 | * include/Makefile.am: Add new header. | |
2602 | * include/Makefile.in: Regenerate. | |
2603 | * testsuite/experimental/iterator/make_ostream_joiner.cc: New. | |
2604 | * testsuite/experimental/iterator/ostream_joiner.cc: New. | |
2605 | * testsuite/experimental/iterator/requirements.cc: New. | |
2606 | * doc/xml/manual/status_cxx2017.xml: Update status. | |
2607 | * doc/html/manual/status.html: Regenerate. | |
2608 | ||
6c0b8a53 JW |
2609 | * include/experimental/numeric: New. Define gcd and lcm. |
2610 | * include/Makefile.am: Add new header. | |
2611 | * include/Makefile.in: Regenerate. | |
2612 | * testsuite/experimental/numeric/gcd.cc: New. | |
2613 | * testsuite/experimental/numeric/lcm.cc: New. | |
2614 | * doc/xml/manual/status_cxx2017.xml: Update status. | |
2615 | * doc/html/manual/status.html: Regenerate. | |
2616 | ||
fe4b6acb ESR |
2617 | 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> |
2618 | ||
2619 | Revert addition of feature macros from other headers per latest SD-6. | |
6c0b8a53 JW |
2620 | * include/experimental/deque: Remove feature-test macro. |
2621 | * include/experimental/forward_list: Ditto. | |
2622 | * include/experimental/list: Ditto. | |
2623 | * include/experimental/map: Ditto. | |
2624 | * include/experimental/set: Ditto. | |
2625 | * include/experimental/string: Ditto. | |
2626 | * include/experimental/unordered_map: Ditto. | |
2627 | * include/experimental/unordered_set: Ditto. | |
fe4b6acb | 2628 | |
58f270df JW |
2629 | 2015-05-02 Jonathan Wakely <jwakely@redhat.com> |
2630 | ||
9407c6fa JW |
2631 | * include/experimental/any (any::_Storage): Make non-copyable. |
2632 | (any::any): Do not copy _Storage object. | |
2633 | (any::operator=): Implement more efficiently than swapping. | |
2634 | (any::swap): Use new _Op_xfer operation. | |
2635 | (any::_Op::_Op_xfer): New enumerator. | |
2636 | (_Manager_internal::_S_alloc): Remove unused function. | |
2637 | (_Manager_internal::_S_create, _Manager_external::_S_create): Use out | |
2638 | parameter instead of returning a _Storage object. | |
2639 | (_Manager_internal::_S_manage, _Manager_external::_S_manage): Add | |
2640 | _Op_xfer operation for moving and swapping. | |
2641 | * testsuite/experimental/any/cons/nontrivial.cc: New. | |
2642 | * testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error. | |
2643 | ||
5b244a78 JW |
2644 | * include/experimental/fs_path.h (filesystem_error::~filesystem_error): |
2645 | Declare. | |
2646 | * src/filesystem/path.cc (filesystem_error::~filesystem_error): | |
2647 | Define. | |
2648 | ||
cb2ef49e JW |
2649 | PR libstdc++/65978 |
2650 | * include/std/tuple (forward_as_tuple, tie): Add constexpr. | |
2651 | * testsuite/20_util/tuple/creation_functions/constexpr.cc: Uncomment | |
2652 | and fix tests for forward_as_tuple and tie. | |
2653 | ||
58f270df JW |
2654 | * src/filesystem/ops.cc (last_write_time) [_GLIBCXX_USE_UTIMENSAT]: |
2655 | Set timespec members explicitly instead of with a braced-init-list. | |
2656 | [_GLIBCXX_HAVE_UTIME_H]: Use lambda to handle st_atime being a macro. | |
2657 | ||
9c0717ed ESR |
2658 | 2015-05-02 Edward Smith-Rowland <3dw4rd@verizon.net> |
2659 | ||
2660 | * include/experimental/deque: Add feature-test macro. | |
2661 | * include/experimental/forward_list: Ditto. | |
2662 | * include/experimental/list: Ditto. | |
2663 | * include/experimental/map: Ditto. | |
2664 | * include/experimental/set: Ditto. | |
2665 | * include/experimental/string: Ditto. | |
2666 | * include/experimental/unordered_map: Ditto. | |
2667 | * include/experimental/unordered_set: Ditto. | |
2668 | ||
64b07900 JW |
2669 | 2015-05-01 Jonathan Wakely <jwakely@redhat.com> |
2670 | ||
b275f0cb JW |
2671 | * include/experimental/memory: Correct feature-test macro. |
2672 | ||
64b07900 JW |
2673 | * include/experimental/memory: Add feature-test macro. |
2674 | * include/experimental/vector: Likewise. | |
2675 | * doc/xml/manual/status_cxx2017.xml: Update status. | |
2676 | * doc/html/manual/status.html: Regenerate. | |
2677 | ||
261b7e8a VV |
2678 | 2015-05-01 Ville Voutilainen <ville.voutilainen@gmail.com> |
2679 | ||
2680 | Implement observer_ptr. | |
2681 | * include/Makefile.am: Add new header. | |
2682 | * include/Makefile.in: Regenerate. | |
2683 | * include/experimental/memory: New. | |
2684 | * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: New. | |
2685 | * testsuite/experimental/memory/observer_ptr/cons/cons.cc: New. | |
2686 | * testsuite/experimental/memory/observer_ptr/hash/hash.cc: New. | |
2687 | * testsuite/experimental/memory/observer_ptr/make_observer.cc: New. | |
2688 | * testsuite/experimental/memory/observer_ptr/relops/relops.cc: New. | |
2689 | * testsuite/experimental/memory/observer_ptr/requirements.cc: New. | |
2690 | * testsuite/experimental/memory/observer_ptr/swap/swap.cc: New. | |
2691 | * testsuite/experimental/memory/observer_ptr/typedefs.cc: New. | |
2692 | ||
ce1b114a JW |
2693 | 2015-05-01 Jonathan Wakely <jwakely@redhat.com> |
2694 | ||
4ad37627 JW |
2695 | * src/filesystem/path.cc (path::compare): Do not copy strings. |
2696 | ||
bf53e6a9 JW |
2697 | * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable when <dirent.h> |
2698 | is not available. | |
2699 | (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for fchmodat. | |
2700 | * configure: Regenerate. | |
2701 | * config.h.in: Regenerate. | |
2702 | * configure.ac: Check for utime.h | |
2703 | * include/experimental/fs_path.h (path::string<>) | |
2704 | [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Remove stray typename keyword. | |
2705 | * src/filesystem/dir.cc [!_GLIBCXX_HAVE_DIRENT_H] (DIR, opendir, | |
2706 | closedir, dirent, readdir_r): Replace dummy functions with #error. | |
2707 | (native_readdir, _Dir::advance): Use readdir when readdir_r is missing. | |
2708 | * src/filesystem/ops.cc (do_stat, is_set): Make inline. | |
2709 | (last_write_time) [!_GLIBCXX_USE_UTIMENSAT]: Use utime. | |
2710 | (permissions) [!_GLIBCXX_USE_FCHMODAT]: Use chmod. | |
2711 | (space, temp_directory_path) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Set | |
2712 | error_code. | |
2713 | ||
a00d74c4 JW |
2714 | * include/experimental/fs_path.h (path::_List): Use vector instead of |
2715 | list. | |
2716 | * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Adapt. | |
2717 | * src/filesystem/path.cc: Use std::prev instead of decrementing | |
2718 | rvalues. Fix whitespace. | |
2719 | * testsuite/experimental/filesystem/path/decompose/parent_path.cc: | |
2720 | Do not decrement iterators before begin. | |
2721 | ||
d6e023f3 JW |
2722 | * include/experimental/fs_dir.h: Fix use of non-reserved names. |
2723 | * include/experimental/fs_ops.h: Likewise. | |
2724 | * include/experimental/fs_path.h: Likewise. | |
2725 | * testsuite/lib/libstdc++.exp (check_v3_target_filesystem_ts): Use | |
2726 | C++11 when checking for support. | |
2727 | ||
e9cd0064 JW |
2728 | * include/bits/locale_classes.h (locale::facet): Delete copy |
2729 | operations in C++11 mode. | |
2730 | ||
ff0164b4 JW |
2731 | * include/bits/alloc_traits.h (__alloc_rebind): Change parameter name. |
2732 | ||
ce1b114a JW |
2733 | * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Disable for solaris. |
2734 | * configure: Regenerate. | |
2735 | ||
ea365e01 ESR |
2736 | 2015-05-01 Edward Smith-Rowland <3dw4rd@verizon.net> |
2737 | ||
2738 | Inline one-line erasure dispatch functions. | |
2739 | * include/experimental/forward_list (erase_if(), erase()): Inline. | |
2740 | * include/experimental/list (erase_if(), erase()): Inline. | |
2741 | * include/experimental/map (erase_if(*)): Inline. | |
2742 | * include/experimental/set (erase_if(*)): Inline. | |
2743 | * include/experimental/string (erase_if(), erase()): Inline. | |
2744 | * include/experimental/unordered_map (erase_if(*)): Inline. | |
2745 | * include/experimental/unordered_set (erase_if(*)): Inline. | |
2746 | ||
6fc456c3 JW |
2747 | 2015-05-01 Jonathan Wakely <jwakely@redhat.com> |
2748 | ||
1d15ed75 JW |
2749 | * doc/xml/manual/intro.xml: Link to new status_cxx2017.xml file. |
2750 | * doc/xml/manual/status_cxx2011.xml: Update status tables. | |
2751 | * doc/xml/manual/status_cxx2014.xml: Likewise. | |
2752 | * doc/xml/manual/status_cxx2017.xml: New. | |
2753 | * doc/xml/manual/using.xml: Fix typo. | |
2754 | * doc/html/*: Regenerate. | |
2755 | ||
6fc456c3 JW |
2756 | * include/std/memory (pointer_safety, declare_reachable, |
2757 | undeclare_reachable, declare_no_pointers, undeclare_no_pointers, | |
2758 | get_pointer_safety): Define. | |
2759 | * testsuite/20_util/pointer_safety/1.cc: New. | |
2760 | ||
0ca7ba9a JW |
2761 | 2015-04-30 Jonathan Wakely <jwakely@redhat.com> |
2762 | ||
2763 | Implement N4100 File System TS | |
2764 | * acinclude.m4 (GLIBCXX_ENABLE_FILESYSTEM_TS): Define. | |
2765 | (GLIBCXX_CHECK_FILESYSTEM_DEPS): Define. | |
2766 | * config.h.in: Regenerate. | |
2767 | * configure: Regenerate. | |
2768 | * configure.ac: Enable filesystem TS and check its dependencies. | |
2769 | * include/Makefile.am: Add new headers. | |
2770 | * include/Makefile.in: Regenerate. | |
2771 | * include/bits/locale_conv.h (__do_str_code_cvt, __str_codecvt_in, | |
2772 | __str_codecvt_out): Move code conversion logic from wstring_convert | |
2773 | into new global functions. | |
2774 | (wstring_convert::to_bytes, wstring_convert::from_bytes): Use new | |
2775 | functions. | |
2776 | (wstring_convert::_M_conv): Remove. | |
2777 | * include/bits/quoted_string.h (_Quoted_string): Split out of iomanip. | |
2778 | * include/experimental/filesystem: New. | |
2779 | * include/experimental/fs_dir.h: New. | |
2780 | * include/experimental/fs_fwd.h: New. | |
2781 | * include/experimental/fs_ops.h: New. | |
2782 | * include/experimental/fs_path.h: New. | |
2783 | * include/std/iomanip (_Quoted_string): Move to bits/quoted_string.h. | |
2784 | * python/libstdcxx/v6/printers.py (StdExpPathPrinter): Add. | |
2785 | * src/Makefile.am (SUBDIRS): Add filesystem. | |
2786 | * src/Makefile.in: Regenerate. | |
2787 | * src/filesystem/Makefile.am: New. | |
2788 | * src/filesystem/Makefile.in: New. | |
2789 | * src/filesystem/dir.cc: New. | |
2790 | * src/filesystem/ops.cc: New. | |
2791 | * src/filesystem/path.cc: New. | |
2792 | * testsuite/experimental/filesystem/operations/absolute.cc: New. | |
2793 | * testsuite/experimental/filesystem/operations/copy.cc: New. | |
2794 | * testsuite/experimental/filesystem/operations/current_path.cc: New. | |
2795 | * testsuite/experimental/filesystem/path/append/path.cc: New. | |
2796 | * testsuite/experimental/filesystem/path/assign/assign.cc: New. | |
2797 | * testsuite/experimental/filesystem/path/assign/copy.cc: New. | |
2798 | * testsuite/experimental/filesystem/path/compare/compare.cc: New. | |
2799 | * testsuite/experimental/filesystem/path/compare/path.cc: New. | |
2800 | * testsuite/experimental/filesystem/path/compare/strings.cc: New. | |
2801 | * testsuite/experimental/filesystem/path/concat/path.cc: New. | |
2802 | * testsuite/experimental/filesystem/path/concat/strings.cc: New. | |
2803 | * testsuite/experimental/filesystem/path/construct/copy.cc: New. | |
2804 | * testsuite/experimental/filesystem/path/construct/default.cc: New. | |
2805 | * testsuite/experimental/filesystem/path/construct/locale.cc: New. | |
2806 | * testsuite/experimental/filesystem/path/construct/range.cc: New. | |
2807 | * testsuite/experimental/filesystem/path/decompose/extension.cc: New. | |
2808 | * testsuite/experimental/filesystem/path/decompose/filename.cc: New. | |
2809 | * testsuite/experimental/filesystem/path/decompose/parent_path.cc: | |
2810 | New. | |
2811 | * testsuite/experimental/filesystem/path/decompose/relative_path.cc: | |
2812 | New. | |
2813 | * testsuite/experimental/filesystem/path/decompose/root_directory.cc: | |
2814 | New. | |
2815 | * testsuite/experimental/filesystem/path/decompose/root_name.cc: | |
2816 | New. | |
2817 | * testsuite/experimental/filesystem/path/decompose/root_path.cc: | |
2818 | New. | |
2819 | * testsuite/experimental/filesystem/path/decompose/stem.cc: New. | |
2820 | * testsuite/experimental/filesystem/path/generic/generic_string.cc: | |
2821 | New. | |
2822 | * testsuite/experimental/filesystem/path/itr/traversal.cc: New. | |
2823 | * testsuite/experimental/filesystem/path/modifiers/clear.cc: New. | |
2824 | * testsuite/experimental/filesystem/path/modifiers/make_preferred.cc: | |
2825 | New. | |
2826 | * testsuite/experimental/filesystem/path/modifiers/remove_filename.cc: | |
2827 | New. | |
2828 | * testsuite/experimental/filesystem/path/modifiers/replace_extension.cc: | |
2829 | New. | |
2830 | * testsuite/experimental/filesystem/path/modifiers/replace_filename.cc: | |
2831 | New. | |
2832 | * testsuite/experimental/filesystem/path/modifiers/swap.cc: New. | |
2833 | * testsuite/experimental/filesystem/path/nonmember/hash_value.cc: New. | |
2834 | * testsuite/experimental/filesystem/path/query/empty.cc: New. | |
2835 | * testsuite/experimental/filesystem/path/query/has_extension.cc: New. | |
2836 | * testsuite/experimental/filesystem/path/query/has_filename.cc: New. | |
2837 | * testsuite/experimental/filesystem/path/query/has_parent_path.cc: | |
2838 | New. | |
2839 | * testsuite/experimental/filesystem/path/query/has_relative_path.cc: | |
2840 | New. | |
2841 | * testsuite/experimental/filesystem/path/query/has_root_directory.cc: | |
2842 | New. | |
2843 | * testsuite/experimental/filesystem/path/query/has_root_name.cc: | |
2844 | New. | |
2845 | * testsuite/experimental/filesystem/path/query/has_root_path.cc: | |
2846 | New. | |
2847 | * testsuite/experimental/filesystem/path/query/has_stem.cc: New. | |
2848 | * testsuite/experimental/filesystem/path/query/is_relative.cc: New. | |
2849 | * testsuite/util/testsuite_fs.h: New. | |
2850 | ||
c0b12dad ESR |
2851 | 2015-04-30 Edward Smith-Rowland <3dw4rd@verizon.net> |
2852 | ||
2853 | Add fundamentals TR container erasure. | |
2854 | * include/Makefile.am: Add new headers. | |
2855 | * include/Makefile.in: Add new headers. | |
2856 | * include/experimental/array: New. | |
2857 | * include/experimental/deque: New. | |
2858 | * include/experimental/erase_if.tcc: New. | |
2859 | * include/experimental/forward_list: New. | |
2860 | * include/experimental/list: New. | |
2861 | * include/experimental/map: New. | |
2862 | * include/experimental/set: New. | |
2863 | * include/experimental/string: New. | |
2864 | * include/experimental/unordered_map: New. | |
2865 | * include/experimental/unordered_set: New. | |
2866 | * include/experimental/vector: New. | |
2867 | * testsuite/experimental/deque/erasure.cc: New. | |
2868 | * testsuite/experimental/forward_list/erasure.cc: New. | |
2869 | * testsuite/experimental/list/erasure.cc: New. | |
2870 | * testsuite/experimental/map/erasure.cc: New. | |
2871 | * testsuite/experimental/set/erasure.cc: New. | |
2872 | * testsuite/experimental/string/erasure.cc: New. | |
2873 | * testsuite/experimental/unordered_map/erasure.cc: New. | |
2874 | * testsuite/experimental/unordered_set/erasure.cc: New. | |
2875 | * testsuite/experimental/vector/erasure.cc: New. | |
2876 | ||
e1c444fe FD |
2877 | 2015-04-30 François Dumont <fdumont@gcc.gnu.org> |
2878 | ||
2879 | * include/bits/cpp_type_traits.h | |
2880 | (__gnu_cxx::__is_normal_iterator): Delete. | |
2881 | * include/bits/stl_algobase.h (std::__niter_base): Adapt. | |
2882 | * include/bits/stl_iterator.h (__make_reverse_iterator): New in C++11. | |
2883 | (std::__niter_base): Overloads for std::reverse_iterator, | |
2884 | __gnu_cxx::__normal_iterator and std::move_iterator. | |
2885 | ||
2f132d1d FD |
2886 | 2015-04-30 François Dumont <fdumont@gcc.gnu.org> |
2887 | ||
2888 | * include/bits/hashtable_policy.h (_Prime_rehash_policy::_S_n_primes): | |
2889 | Delete. | |
2890 | * src/c++11/hashtable_c++0x.cc (_Prime_rehash_policy::_M_next_bkt): | |
2891 | Remove usage of latter and compute size of the prime numbers array | |
2892 | locally. | |
2893 | ||
8996b63b DE |
2894 | 2015-04-29 Doug Evans <dje@google.com> |
2895 | ||
2896 | PR libstdc++/65839 | |
2897 | * python/libstdcxx/v6/xmethods.py (get_bool_type): New function. | |
2898 | Replace all lookups of "bool" with this. | |
2899 | (get_std_size_type): New function. Replace all lookups of std::size_t | |
2900 | with this. | |
2901 | (*Worker): New method get_result_type. | |
2902 | (DequeWorkerBase.__init__): New arg val_type. All callers updated. | |
2903 | (ListWorkerBase.__init__): New arg val_type. All callers updated. | |
2904 | (UniquePtrGetWorker.__init__): New arg elem_type. All callers updated. | |
2905 | Delete setting of name, enabled. | |
2906 | (UniquePtrDerefWorker.__init__): New arg elem_type. All callers | |
2907 | updated. Delete setting of name. | |
2908 | (UniquePtrMethodsMatcher): Rewrite for consistency with all other | |
2909 | libstdc++ xmethod matchers. | |
2910 | * testsuite/libstdc++-xmethods/array.cc: Add whatis tests. | |
2911 | * testsuite/libstdc++-xmethods/associative-containers.cc: Ditto. | |
2912 | * testsuite/libstdc++-xmethods/deque.cc: Ditto. | |
2913 | * testsuite/libstdc++-xmethods/forwardlist.cc: Ditto. | |
2914 | * testsuite/libstdc++-xmethods/list.cc: Ditto. | |
2915 | * testsuite/libstdc++-xmethods/unique_ptr.cc: Ditto. | |
2916 | * testsuite/libstdc++-xmethods/vector.cc: Ditto. | |
2917 | ||
b693b879 DE |
2918 | 2015-04-29 Doug Evans <dje@google.com> |
2919 | ||
2920 | Use consistent naming for value type attributes. | |
2921 | * python/libstdcxx/v6/xmethods.py (ArrayWorkerBase): Rename _valtype | |
2922 | to _val_type. | |
2923 | (ArraySizeWorker, ArrayEmptyWorker): Ditto. | |
2924 | (ArrayFrontWorker, ArrayBackWorker): Ditto. | |
2925 | (ArrayAtWorker, ArraySubscriptWorker): Ditto. | |
2926 | (DequeWorkerBase): Rename elemtype to val_type. | |
2927 | (ForwardListWorkerBase): Rename _elem_type to _val_type. | |
2928 | (ForwardListFrontWorker): Ditto. And rename elem_address to | |
2929 | val_address. | |
2930 | (ForwardListMethodsMatcher): Rename elem_type to val_type. | |
2931 | (VectorWorkerBase): Rename _elemtype to _val_type. | |
2932 | ||
f970a17d JW |
2933 | 2015-04-29 Jonathan Wakely <jwakely@redhat.com> |
2934 | ||
952bc7a6 JW |
2935 | PR libstdc++/65760 |
2936 | * include/std/functional (__check_func_return_type): Use is_same to | |
2937 | avoid using _is_convertible on incomplete types. | |
2938 | * testsuite/20_util/function/65760.cc: New. | |
2939 | ||
f970a17d JW |
2940 | PR libstdc++/64657 |
2941 | * include/bits/basic_string (basic_string::_S_copy_chars): Cast | |
2942 | expression to void. | |
2943 | * include/bits/locale_facets_nonio.tcc (money_get::_M_extract, | |
2944 | time_get::_M_extract_num, time_get::_M_extract_name, | |
2945 | time_get::_M_extract_wday_or_month): Likewise. | |
2946 | * include/bits/stl_algo.h (__includes, __replace_copy_if, | |
2947 | __is_sorted_until, __is_permutation, transform): Likewise. | |
2948 | * include/bits/stl_algobase.h (swap_ranges, __copy_move::__copy_m, | |
2949 | __equal::equal, __lexicographical_compare_impl, equal): Likewise. | |
2950 | * include/bits/stl_numeric.h (inner_product): Likewise. | |
2951 | * include/bits/stl_uninitialized.h (__uninitialized_copy_a): Likewise. | |
2952 | * testsuite/util/testsuite_iterators.h (output_iterator_wrapper, | |
2953 | input_iterator_wrapper): Declare unusable comma operator. | |
2954 | * testsuite/21_strings/basic_string/cons/char/64657.cc: New. | |
2955 | * testsuite/21_strings/basic_string/modifiers/assign/char/64657.cc: | |
2956 | New. | |
2957 | ||
874ef163 DE |
2958 | 2015-04-28 Doug Evans <dje@google.com> |
2959 | ||
2960 | * testsuite/libstdc++-xmethods/list.cc (_GLIBCXX_USE_CXX11_ABI): | |
2961 | Define to zero. | |
2962 | ||
2e7e2075 JW |
2963 | 2015-04-28 Jonathan Wakely <jwakely@redhat.com> |
2964 | ||
2965 | * include/bits/stl_algo.h (random_shuffle): Only define for hosted | |
2966 | implementations. | |
2967 | ||
0088583b JW |
2968 | 2015-04-28 Jonathan Wakely <jwakely@redhat.com> |
2969 | ||
2970 | * Makefile.am (SUBDIRS): Move python to hosted_source. | |
2971 | * Makefile.in: Regenerate. | |
2972 | * acinclude.m4 (glibcxx_SUBDIRS): Reorder. | |
2973 | * configure: Regenerate. | |
2974 | ||
fa9ac912 MG |
2975 | 2015-04-28 Marc Glisse <marc.glisse@inria.fr> |
2976 | ||
2977 | PR libstdc++/65883 | |
2978 | * include/std/limits (numeric_limits): Add missing unsigned. | |
2979 | ||
77e95469 SB |
2980 | 2015-04-28 Stephan Bergmann <sbergman@redhat.com> |
2981 | ||
2982 | * include/debug/vector (_Safe_vector::operator=): Add missing returns. | |
2983 | ||
bd1eb5e0 JW |
2984 | 2015-04-28 Jonathan Wakely <jwakely@redhat.com> |
2985 | ||
73d81d3a JW |
2986 | PR libstdc++/60333 |
2987 | * include/std/type_traits (__make_unsigned_selector<_Tp, false, true>): | |
2988 | Handle enumeration types larger than sizeof(long). | |
2989 | (__make_signed_selector<_Tp, false, true>): Find unsigned type then | |
2990 | make it signed. | |
2991 | * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error. | |
2992 | * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: | |
2993 | Likewise. | |
2994 | * testsuite/20_util/make_signed/requirements/typedefs-3.cc: New. | |
2995 | * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Adjust | |
2996 | dg-error. | |
2997 | * testsuite/20_util/make_unsigned/requirements/typedefs-3.cc: New. | |
2998 | ||
956d1814 JW |
2999 | PR libstdc++/61645 |
3000 | * include/bits/forward_list.h (forward_list::splice_after): Add | |
3001 | noexcept. | |
3002 | * include/bits/forward_list.tcc (forward_list::splice_after): | |
3003 | Likewise. | |
3004 | ||
d747ee05 JW |
3005 | PR libstdc++/65631 |
3006 | * include/bits/random.h (seed_seq) Define copy constructor and copy | |
3007 | assignment as deleted. | |
3008 | * testsuite/26_numerics/random/seed_seq/cons/65631.cc: New. | |
3009 | ||
196e0493 JW |
3010 | * libsupc++/exception (uncaught_exceptions): Add comment. Reorder #if. |
3011 | * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: | |
3012 | Use -std=gnu++1z. Check feature-test macro. | |
3013 | ||
bd1eb5e0 JW |
3014 | * include/std/type_traits (void_t): Add. |
3015 | * testsuite/20_util/void_t/1.cc: New. | |
3016 | ||
e4846be7 TS |
3017 | 2015-04-28 Tim Shen <timshen@google.com> |
3018 | ||
3019 | * include/bits/regex.tcc: Handle regex_constants::__polynomial. | |
3020 | * include/bits/regex_automaton.tcc: Throw exception when parsing | |
3021 | back-reference with flag __polynomial. | |
3022 | * include/bits/regex_constants.h: Add extension flag | |
3023 | syntax_option_type __polynomial. | |
3024 | * bits/regex_executor.tcc: Still let BFS process ECMAScript. | |
3025 | Alternative operation will be fixed in the coming refactoring. | |
3026 | * testsuite/28_regex/algorithms/regex_search/61424.cc: Turn | |
3027 | loose match_search_debug to use DFS only. | |
3028 | ||
1a9f2592 SL |
3029 | 2015-04-27 Sandra Loosemore <sandra@codesourcery.com> |
3030 | ||
3031 | PR libstdc++/65909 | |
3032 | * testsuite/lib/libstdc++.exp (check_v3_target_namedlocale): | |
3033 | Make the generated test program fail gracefully if the target | |
3034 | doesn't support passing command-line arguments. | |
3035 | ||
03e73da6 FL |
3036 | 2015-04-27 Federico Lenarduzzi <federico.lenarduzzi@tallertechnologies.com> |
3037 | Jonathan Wakely <jwakely@redhat.com> | |
3038 | ||
3039 | * libsupc++/eh_catch.cc (uncaught_exception, uncaught_exceptions): | |
3040 | Return false or zero if the library is built without exceptions. | |
3041 | * libsupc++/eh_term_handler.cc: Disable verbose terminate handler if | |
3042 | the library is built without exceptions. | |
3043 | ||
03a16cc4 VV |
3044 | 2015-04-27 Ville Voutilainen <ville.voutilainen@gmail.com> |
3045 | ||
913ae610 VV |
3046 | * config/abi/pre/gnu.ver: Fix comment. |
3047 | ||
03a16cc4 VV |
3048 | Add support for std::uncaught_exceptions. |
3049 | * acinclude.m4: Bump libtool_VERSION. | |
3050 | * config/abi/pre/gnu.ver: Export the new symbol. | |
3051 | * configure: Regenerate. | |
3052 | * libsupc++/eh_catch.cc (uncaught_exceptions): New. | |
3053 | * libsupc++/exception (uncaught_exceptions): New. | |
3054 | * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: New. | |
3055 | * testsuite/util/testsuite_abi.cc: Add 3.4.22 as the latest version. | |
3056 | ||
f5eedc39 DP |
3057 | 2015-04-27 Dmitry Prokoptsev <dprokoptsev@gmail.com> |
3058 | Michael Hanselmann <public@hansmi.ch> | |
3059 | ||
3060 | PR libstdc++/62258 | |
3061 | * libsupc++/eh_ptr.cc (rethrow_exception): Increment count of | |
3062 | uncaught exceptions. | |
3063 | * testsuite/18_support/exception_ptr/62258.cc: New. | |
3064 | ||
991607ab JW |
3065 | 2015-04-27 Jonathan Wakely <jwakely@redhat.com> |
3066 | ||
3067 | * doc/xml/manual/extensions.xml: Add cross-reference. | |
3068 | * doc/html/manual/ext_compile_checks.html: Regenerate. | |
3069 | ||
85da5c30 SN |
3070 | 2015-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com> |
3071 | ||
3072 | * config/os/generic/os_defines.h (_GLIBCXX_GTHREAD_USE_WEAK): Define. | |
3073 | * configure.host (os_include_dir): Set to "os/generic" for linux-musl*. | |
3074 | ||
04934297 RL |
3075 | 2015-04-22 Renlin Li <renlin.li@arm.com> |
3076 | ||
3077 | * testsuite/lib/dg-options.exp (dg-require-thread-fence): New. | |
3078 | * testsuite/lib/libstdc++.exp (check_v3_target_thread_fence): New. | |
3079 | * testsuite/29_atomics/atomic_flag/clear/1.cc: Use it. | |
3080 | * testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc: Likewise. | |
3081 | * testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc: Likewise. | |
3082 | ||
0ee59f1f JW |
3083 | 2015-04-21 Jonathan Wakely <jwakely@redhat.com> |
3084 | ||
8a29fdfd JW |
3085 | * doc/xml/manual/configure.xml: Update descriptions of options |
3086 | affecting dual ABI and add cross-references. | |
3087 | * doc/xml/manual/strings.xml: Clarify that string isn't COW now. | |
3088 | * doc/xml/manual/using.xml: Document ABI transition. | |
3089 | * doc/html/*: Regenerate. | |
3090 | ||
0ee59f1f JW |
3091 | * doc/xml/manual/abi.xml: Use uppercase for C++ Standard Library. |
3092 | * doc/xml/manual/using.xml: Document newer -std options. Use better | |
3093 | examples of nested namespaces. | |
3094 | ||
9adc2d48 JW |
3095 | 2015-04-20 Jonathan Wakely <jwakely@redhat.com> |
3096 | ||
3097 | * doc/xml/manual/concurrency_extensions.xml: Update documentation | |
3098 | on atomics. | |
3099 | * doc/xml/manual/using.xml: Likewise. Improve markup. | |
3100 | * doc/html/*: Regenerate. | |
3101 | ||
eea6e989 RO |
3102 | 2015-04-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
3103 | ||
3104 | * scripts/extract_symvers.pl: Ignore elfdump error output. | |
3105 | ||
194571f1 MG |
3106 | 2015-04-14 Marc Glisse <marc.glisse@inria.fr> |
3107 | ||
3108 | PR libstdc++/61347 | |
3109 | * include/bits/stl_iterator_base_funcs.h (_List_iterator, | |
3110 | _List_const_iterator): Declare. | |
3111 | (__distance): Declare new overloads for _List_iterator and | |
3112 | _List_const_iterator. | |
3113 | * include/bits/stl_list.h (__distance): New overloads for | |
3114 | _List_iterator and _List_const_iterator. | |
3115 | * testsuite/23_containers/list/61347.cc: New testcase. | |
3116 | ||
453e2916 JW |
3117 | 2015-04-14 Jonathan Wakely <jwakely@redhat.com> |
3118 | ||
3119 | * doc/xml/manual/evolution.xml: Fix typos. | |
3120 | * doc/html/manual/api.html: Regenerate. | |
3121 | ||
03576259 HPN |
3122 | 2015-04-14 Hans-Peter Nilsson <hp@axis.com> |
3123 | ||
3124 | * testsuite/29_atomics/atomic/62259.cc: Assert atomic | |
3125 | alignment is larger-equal, not equal, to default alignment. | |
3126 | ||
1fcbcb6b JW |
3127 | 2015-04-13 Jonathan Wakely <jwakely@redhat.com> |
3128 | ||
3129 | PR libstdc++/65754 | |
3130 | * config/abi/pre/gnu.ver: Export base object constructors for | |
3131 | fstreams. | |
3132 | * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
3133 | * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. | |
3134 | * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. | |
3135 | * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. | |
3136 | * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
3137 | * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. | |
3138 | * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update | |
3139 | * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. | |
3140 | * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update. | |
3141 | * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. | |
3142 | * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. | |
3143 | * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. | |
3144 | * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. | |
3145 | * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. | |
3146 | * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
3147 | * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
3148 | * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. | |
3149 | * testsuite/27_io/basic_fstream/cons/base.cc: New. | |
3150 | ||
040175d5 JW |
3151 | 2015-04-13 Jonathan Wakely <jwakely@redhat.com> |
3152 | ||
3153 | * doc/xml/manual/evolution.xml: Document changes since 4.5 release. | |
3154 | * doc/html/*: Regenerate. | |
3155 | ||
a5701316 UB |
3156 | 2015-04-12 Uros Bizjak <ubizjak@gmail.com> |
3157 | ||
3158 | * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update. | |
3159 | ||
2fb17d35 AS |
3160 | 2015-04-10 Andreas Schwab <schwab@linux-m68k.org> |
3161 | ||
cb86fa22 AS |
3162 | * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Update. |
3163 | ||
2fb17d35 AS |
3164 | * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. |
3165 | ||
cd80c79c JW |
3166 | 2015-04-10 Jonathan Wakely <jwakely@redhat.com> |
3167 | ||
3168 | * doc/xml/manual/test.xml: Improve documentation on running a subset | |
3169 | of tests. | |
3170 | * doc/html/manual/test.html: Regenerate. | |
3171 | ||
00778bed BS |
3172 | 2015-04-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
3173 | ||
3174 | * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update | |
3175 | for GCC 5.1 release. | |
3176 | * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: | |
3177 | Likewise. | |
3178 | ||
43b0e124 JW |
3179 | 2015-04-10 Jonathan Wakely <jwakely@redhat.com> |
3180 | ||
3181 | * include/std/shared_mutex (shared_timed_mutex): Add comments to | |
3182 | explain the logic in the non-pthread_rwlock_t version. | |
3183 | (_Mutex): Remove redundant type. | |
3184 | (_M_n_readers): Rename to _S_max_readers. | |
3185 | (_M_write_entered, _M_readers): New convenience functions. | |
3186 | (lock, lock_shared, try_lock_shared, unlock_shared): Use convenience | |
3187 | functions. Use predicates with condition variables. Simplify bitwise | |
3188 | operations. | |
3189 | (try_lock_for, try_shared_lock_for): Convert duration to time_point | |
3190 | and call try_lock_until or try_shared_lock_until respectively. | |
3191 | (try_lock_until, try_shared_lock_until): Wait on the condition | |
3192 | variables until the specified time passes. | |
3193 | (unlock): Add Debug Mode assertion. | |
3194 | (unlock_shared): Add Debug Mode assertion. | |
3195 | * testsuite/30_threads/shared_timed_mutex/try_lock/3.cc: New. | |
3196 | ||
c3d71b62 JW |
3197 | * include/std/shared_mutex (shared_timed_mutex): Only use |
3198 | pthread_rwlock_t when the POSIX Timeouts option is supported. | |
3199 | * testsuite/30_threads/shared_lock/cons/5.cc: Remove | |
3200 | dg-require-gthreads-timed. | |
3201 | * testsuite/30_threads/shared_lock/cons/6.cc: Likewise. | |
3202 | * testsuite/30_threads/shared_lock/locking/3.cc: Likewise. | |
3203 | * testsuite/30_threads/shared_lock/locking/4.cc: Likewise. | |
3204 | ||
1bf13744 L |
3205 | 2015-04-09 H.J. Lu <hongjiu.lu@intel.com> |
3206 | ||
3207 | * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Update. | |
3208 | ||
4cbaaa45 JW |
3209 | 2015-04-09 Jonathan Wakely <jwakely@redhat.com> |
3210 | Richard Henderson <rth@redhat.com> | |
3211 | ||
3212 | PR libstdc++/65147 | |
3213 | * include/bits/atomic_base.h (__atomic_base<_ITp>): Increase | |
3214 | alignment. | |
3215 | * include/std/atomic (atomic): For types with a power of two size set | |
3216 | alignment to at least the size. | |
3217 | * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. | |
3218 | * testsuite/29_atomics/atomic/65147.cc: New. | |
3219 | * testsuite/29_atomics/atomic_integral/65147.cc: New. | |
3220 | ||
9a165842 RO |
3221 | 2015-04-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
3222 | ||
3223 | * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerate. | |
3224 | * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise. | |
3225 | * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise. | |
3226 | ||
466df27b JJ |
3227 | 2015-04-07 Jakub Jelinek <jakub@redhat.com> |
3228 | ||
3229 | * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. | |
3230 | * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. | |
3231 | * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. | |
3232 | * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. | |
3233 | * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. | |
3234 | * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. | |
3235 | * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update. | |
3236 | * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. | |
3237 | ||
744e26e7 JW |
3238 | 2015-03-30 Jonathan Wakely <jwakely@redhat.com> |
3239 | ||
3240 | PR libstdc++/65630 | |
3241 | * config/abi/pre/gnu.ver: Export operator+ for new strings. | |
3242 | * testsuite/21_strings/basic_string/operators/char/65630.cc: New. | |
3243 | * testsuite/21_strings/basic_string/operators/wchar_t/65630.cc: New. | |
3244 | ||
28943113 TS |
3245 | 2015-03-28 Tim Shen <timshen@google.com> |
3246 | ||
3247 | PR libstdc++/65420 | |
3248 | * include/bits/regex_constants.h: Use constexpr variables for flags. | |
3249 | * testsuite/28_regex/constants/constexpr.cc: New testcase. | |
3250 | ||
04f69fda JW |
3251 | 2015-03-27 Jonathan Wakely <jwakely@redhat.com> |
3252 | ||
3253 | PR libstdc++/65499 | |
3254 | * include/std/chrono: Add using-directive for literals to std::chrono. | |
3255 | * testsuite/20_util/duration/literals/65499.cc: New. | |
3256 | ||
d1a74a28 JW |
3257 | 2015-03-26 Jonathan Wakely <jwakely@redhat.com> |
3258 | ||
3259 | PR libstdc++/58038 | |
3260 | PR libstdc++/60421 | |
3261 | * include/std/thread (this_thread::sleep_for): Check for negative | |
3262 | durations. | |
3263 | (this_thread::sleep_until): Check for times in the past. | |
3264 | * testsuite/30_threads/this_thread/58038.cc: New. | |
3265 | * testsuite/30_threads/this_thread/60421.cc: New. | |
3266 | ||
4280698d JW |
3267 | 2015-03-26 Jonathan Wakely <jwakely@redhat.com> |
3268 | ||
3269 | PR libstdc++/62259 | |
3270 | PR libstdc++/65147 | |
3271 | * include/std/atomic (atomic<T>): Increase alignment for types with | |
3272 | the same size as one of the integral types. | |
3273 | * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. | |
3274 | * testsuite/29_atomics/atomic/62259.cc: New. | |
3275 | ||
8be56851 RH |
3276 | 2015-03-26 Richard Henderson <rth@redhat.com> |
3277 | ||
3278 | PR libstdc++/65033 | |
3279 | * include/bits/atomic_base.h (__atomic_base<T>::is_lock_free): Build | |
3280 | a fake pointer indicating type alignment. | |
3281 | (__atomic_base<T *>::is_lock_free): Likewise. | |
3282 | * include/std/atomic (atomic<T>::is_lock_free): Likewise. | |
3283 | ||
28fda0c4 AL |
3284 | 2015-03-25 Alan Lawrence <alan.lawrence@arm.com> |
3285 | ||
3286 | PR libstdc++/33394 | |
3287 | * testsuite/21_strings/basic_string/pthread33394.cc: Use | |
3288 | dg-additional-options. | |
3289 | ||
ea348bbe PC |
3290 | 2015-03-25 Paolo Carlini <paolo.carlini@oracle.com> |
3291 | ||
3292 | PR libstdc++/65543 | |
3293 | * include/std/istream (operator>>(basic_istream<>&&, _Tp&): Revert | |
3294 | thinko in r150387. | |
3295 | * include/std/ostream (operator<<(basic_ostream<>&&, const _Tp&): | |
3296 | Likewise. | |
3297 | * testsuite/27_io/rvalue_streams-2.cc: New. | |
3298 | ||
9ccd0dba JW |
3299 | 2015-03-24 Jonathan Wakely <jwakely@redhat.com> |
3300 | ||
3301 | PR libstdc++/33394 | |
3302 | * testsuite/21_strings/basic_string/pthread33394.cc: Add test. | |
3303 | ||
8dcf3d3c JW |
3304 | 2015-03-23 Jonathan Wakely <jwakely@redhat.com> |
3305 | ||
3306 | PR libstdc++/64967 | |
3307 | * acinclude.m4: Disable dual ABI when gnu-versioned-namespace in use. | |
3308 | * configure: Regenerate. | |
3309 | * src/c++11/compatibility-c++0x.cc (error_category), generic_category, | |
3310 | system_category): Use macros for versioned namespace. | |
3311 | * src/c++11/futex.cc: Add missing end macro for versioned namespace. | |
3312 | ||
c00acee4 JG |
3313 | 2015-03-20 James Greenhalgh <james.greenhalgh@arm.com> |
3314 | ||
3315 | * testsuite/17_intro/headers/c++1998/all_attributes.cc: Disable | |
3316 | test for unused for ARM. | |
3317 | * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise. | |
3318 | * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. | |
3319 | ||
df6d9c7f JW |
3320 | 2015-03-20 Jonathan Wakely <jwakely@redhat.com> |
3321 | ||
3322 | * include/bits/c++config (__gnu_cxx::__cxx11): Define new namespace. | |
3323 | * include/ext/codecvt_specializations.h (encoding_state, | |
3324 | encoding_char_traits): Remove abi-tag and use inline namespace. | |
3325 | * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error line. | |
3326 | ||
7cb73573 JM |
3327 | 2015-03-19 Jason Merrill <jason@redhat.com> |
3328 | ||
3329 | * config/locale/gnu/messages_members.cc: Revert abi-tag change. | |
3330 | * src/c++11/cxx11-shim_facets.cc: Revert abi-tag change. | |
3331 | ||
168ad5f5 JW |
3332 | 2015-03-18 Jonathan Wakely <jwakely@redhat.com> |
3333 | ||
3334 | PR c++/65046 | |
3335 | * config/locale/gnu/messages_members.cc (Catalog_info, Catalogs, | |
3336 | get_catalogs): Add abi-tag. | |
3337 | * include/ext/codecvt_specializations.h (encoding_state, | |
3338 | encoding_char_traits): Likewise. | |
3339 | * src/c++11/cxx11-ios_failure.cc (io_error_category): Likewise. | |
3340 | * src/c++11/cxx11-shim_facets.cc (__any_string::operator basic_string, | |
3341 | numpunct_shim, collate_shim, time_get_shim, moneypunct_shim, | |
3342 | money_get_shim, money_put_shim, messages_shim): Likewise. | |
3343 | * src/c++11/future.cc (future_error_category::message): Likewise. | |
3344 | * src/c++11/system_error.cc (generic_error_category::message, | |
3345 | system_error_category::message): Likewise. | |
3346 | (__sso_string): Disable -Wabi-tag warnings. | |
3347 | ||
2a9611d0 JW |
3348 | 2015-03-18 Jonathan Wakely <jwakely@redhat.com> |
3349 | ||
3350 | PR libstdc++/13631 | |
3351 | * config/locale/gnu/messages_members.cc (get_glibc_msg): Fix fallback | |
3352 | implementation for old glibc. Fix whitespace. | |
3353 | ||
5e0216f1 JW |
3354 | 2015-03-18 Jonathan Wakely <jwakely@redhat.com> |
3355 | Torvald Riegel <triegel@redhat.com> | |
3356 | ||
3357 | * acinclude.m4 (GLIBCXX_CHECK_GTHREADS): Check for pthread_rwlock_t. | |
3358 | * config.h.in: Regenerate. | |
3359 | * configure: Regenerate. | |
3360 | * include/std/shared_mutex: Check _GLIBCXX_USE_PTHREAD_RWLOCK_T. | |
3361 | (shared_timed_mutex::_M_rwlock): Use PTHREAD_RWLOCK_INITIALIZER. | |
3362 | (shared_timed_mutex::lock_shared()): Retry on EAGAIN. | |
3363 | (shared_timed_mutex::try_lock_shared_until()): Retry on EAGAIN and | |
3364 | EDEADLK. | |
3365 | ||
95f2fd9c JW |
3366 | 2015-03-17 Jonathan Wakely <jwakely@redhat.com> |
3367 | ||
3368 | * libsupc++/nested_exception.h: Do not try to derive from final | |
3369 | classes. | |
3370 | * testsuite/18_support/nested_exception/throw_with_nested.cc: Test | |
3371 | final class. | |
3372 | ||
1c6f4a14 JW |
3373 | * testsuite/30_threads/shared_lock/modifiers/1.cc: Remove name of |
3374 | unused exception variable. | |
3375 | * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise. | |
3376 | * testsuite/30_threads/shared_lock/modifiers/2.cc: Remove duplicate | |
3377 | test. | |
3378 | * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise. | |
3379 | ||
9b78b1e7 JW |
3380 | 2015-03-13 Jonathan Wakely <jwakely@redhat.com> |
3381 | ||
3382 | * acinclude.m4: Make --enable-libstdcxx-time=auto work for dragonfly. | |
3383 | * configure: Regenerate. | |
3384 | ||
e83a01c3 JW |
3385 | * include/experimental/system_error: Fix include guard. |
3386 | ||
04a17093 RL |
3387 | 2015-03-12 Renlin Li <renlin.li@arm.com> |
3388 | ||
3389 | * testsuite/27_io/ios_base/sync_with_stdio/1.cc: Remove xfail for | |
3390 | wrapped target. | |
3391 | ||
84839a51 TS |
3392 | 2015-03-10 Tim Shen <timshen@google.com> |
3393 | ||
3394 | PR libstdc++/64441 | |
3395 | * include/bits/regex.h (match_results<>::size, | |
3396 | match_results<>::position, match_results<>::str, | |
3397 | match_results<>::operator[], match_results<>::prefix, | |
3398 | match_results<>::suffix, match_results<>::end, | |
3399 | match_results<>::_M_resize, match_results<>::_M_unmatched_sub, | |
3400 | match_results<>::_M_prefix, match_results<>::_M_suffix): Remove | |
3401 | global __unmatched_sub. Add unmatched submatch as part of | |
3402 | match_results. | |
3403 | * include/bits/regex.tcc (__regex_algo_impl<>, regex_replace<>, | |
3404 | regex_iterator<>::operator++): Adjust to use match_results::_M_prefix. | |
3405 | * testsuite/28_regex/match_results/out_of_range_submatches.cc: | |
3406 | New testcases. | |
3407 | ||
d2e0c00b JW |
3408 | 2015-03-09 Jonathan Wakely <jwakely@redhat.com> |
3409 | ||
3410 | PR libstdc++/64467 | |
3411 | * testsuite/28_regex/traits/char/isctype.cc: Don't test newline | |
3412 | for newlib targets. Really fix mixed line-endings this time. | |
3413 | ||
664e99ea JW |
3414 | 2015-03-06 Jonathan Wakely <jwakely@redhat.com> |
3415 | ||
3416 | * include/std/future (future_error(error_code)): Construct base | |
3417 | class with error_code's message. | |
3418 | * src/c++11/future.cc (future_error::what()): Do not call c_str() on | |
3419 | temporary string. | |
3420 | ||
9933260f JW |
3421 | 2015-03-05 Jonathan Wakely <jwakely@redhat.com> |
3422 | ||
3423 | * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle | |
3424 | noconv result. | |
3425 | * testsuite/22_locale/conversions/string/2.cc: Also test UTF-8. | |
3426 | * testsuite/22_locale/conversions/string/3.cc: Likewise, and UTF-16. | |
3427 | ||
b6584a72 JW |
3428 | 2015-03-04 Jonathan Wakely <jwakely@redhat.com> |
3429 | ||
3430 | PR libstdc++/64797 | |
3431 | * include/bits/locale_conv.h (wstring_convert::_M_conv): Handle | |
3432 | incomplete multibyte sequences correctly. | |
3433 | * include/std/codecvt (codecvt_utf8, codecvt_utf16, | |
3434 | codecvt_utf8_utf16): Limit _Maxcode to maximum Unicode code point. | |
3435 | * src/c++11/codecvt.cc (invalid_mb_sequence, incomplete_mb_character): | |
3436 | Define constants. | |
3437 | (is_high_surrogate, is_low_surrogate, surrogate_pair_to_code_point): | |
3438 | Define convenience functions. | |
3439 | (read_utf8_code_point): Return relevant constant to distinguish | |
3440 | incomplete characters from invalid sequences. | |
3441 | (read_utf16_code_point): Likewise. Check for invalid sequences. | |
3442 | (ucs4_in, utf16_in): Use incomplete_mb_character constant. | |
3443 | (utf16_out): Check for invalid sequences. | |
3444 | (utf16_span): Fix condition. | |
3445 | (ucs2_out): Use is_high_surrogate. | |
3446 | (ucs2_in): Use incomplete_mb_character constant and fix condition. | |
3447 | * testsuite/22_locale/codecvt/char16_t.cc: Fix whitespace. | |
3448 | * testsuite/22_locale/conversions/buffer/1.cc: New. | |
3449 | * testsuite/22_locale/conversions/string/2.cc: Use char16_t and | |
3450 | char32_t instead of wchar_t. | |
3451 | * testsuite/22_locale/conversions/string/3.cc: New. | |
3452 | ||
71ca36ba IS |
3453 | 2015-03-03 Iain Sandoe <iain@codesourcery.com> |
3454 | ||
3455 | PR libstdc++/64883 | |
3456 | * testsuite/17_intro/headers/c++1998/all_attributes.cc: Don't check | |
3457 | visibility for Darwin. | |
3458 | * testsuite/17_intro/headers/c++200x/all_attributes.cc: Likewise, and | |
3459 | also deprecated. | |
3460 | * testsuite/17_intro/headers/c++2014/all_attributes.cc: Likewise. | |
3461 | ||
9d8dbe73 JW |
3462 | 2015-03-02 Jonathan Wakely <jwakely@redhat.com> |
3463 | ||
3464 | PR libstdc++/65279 | |
3465 | * include/std/scoped_allocator (__inner_type_impl, | |
3466 | scoped_allocator_adaptor): Add defaulted copy assignment and move | |
3467 | assignment operators. | |
3468 | * testsuite/20_util/scoped_allocator/65279.cc: New. | |
3469 | ||
e59a2e94 JW |
3470 | 2015-03-02 Jonathan Wakely <jwakely@redhat.com> |
3471 | ||
3472 | PR libstdc++/64367 | |
3473 | * include/std/stdexcept (__sso_string): Don't use non-static member | |
3474 | in sizeof. | |
3475 | ||
f083b434 MK |
3476 | 2015-02-28 Matthias Klose <doko@ubuntu.com> |
3477 | ||
3478 | PR libstdc++/65246 | |
3479 | * python/libstdcxx/v6/__init__.py: Use explicit relative imports. | |
3480 | ||
1d5f1ff2 JW |
3481 | 2015-02-22 Jonathan Wakely <jwakely@redhat.com> |
3482 | ||
3483 | * doc/xml/manual/status_cxx2011.xml: Remove duplicated information. | |
3484 | * doc/html/manual/status.html: Regenerate. | |
3485 | ||
deaa1ccb JW |
3486 | 2015-02-20 Jonathan Wakely <jwakely@redhat.com> |
3487 | ||
3488 | PR libstdc++/64695 | |
3489 | * python/libstdcxx/v6/printers.py (StdTuplePrinter): Handle new | |
3490 | tuple layout. | |
3491 | ||
b56ac9d5 JW |
3492 | * doc/xml/manual/status_cxx2011.xml: Document implementation-defined |
3493 | behavior. | |
3494 | * doc/html/manual/status.html: Regenerate. | |
3495 | ||
87839f22 JW |
3496 | 2015-02-19 Jonathan Wakely <jwakely@redhat.com> |
3497 | ||
3498 | PR libstdc++/58357 | |
3499 | * include/bits/algorithmfwd.h (rotate): Move to inline namespace _V2. | |
3500 | * include/bits/stl_algo.h (__rotate, rotate): Likewise. | |
3501 | ||
53b2288f HPN |
3502 | 2015-02-19 Hans-Peter Nilsson <hp@axis.com> |
3503 | ||
3504 | PR testsuite/65093 | |
3505 | * testsuite/26_numerics/random/binomial_distribution/operators/values.cc | |
3506 | (test01): Add explanatory comment. Keep only the bd1 sub-test and | |
3507 | split out bd2, bd3, bd4, and bd5 sub-tests into... | |
3508 | * testsuite/26_numerics/random/binomial_distribution/operators/values2.cc, | |
3509 | testsuite/26_numerics/random/binomial_distribution/operators/values3.cc, | |
3510 | testsuite/26_numerics/random/binomial_distribution/operators/values4.cc, | |
3511 | testsuite/26_numerics/random/binomial_distribution/operators/values5.cc: | |
3512 | New separate files with the old parts. | |
3513 | ||
7f971f18 JW |
3514 | 2015-02-18 Jonathan Wakely <jwakely@redhat.com> |
3515 | ||
3516 | * src/c++11/codecvt.cc (write_utf16_code_point): Fix code to output | |
3517 | surrogate pairs. | |
3518 | (utf16_in): Pass mode argument to write_utf16_code_point. | |
3519 | (codecvt<char16_t, char, mbstate_t>::do_in): Set mode according to | |
3520 | native byte order. | |
3521 | * testsuite/22_locale/codecvt/char16_t.cc: New. | |
3522 | * testsuite/22_locale/codecvt/in/wchar_t/1.cc: Fix typo. | |
3523 | ||
01bf6bdb JW |
3524 | * testsuite/22_locale/codecvt/char16_t.cc: Add dg-require-cstdint. |
3525 | * testsuite/22_locale/codecvt/char32_t.cc: Likewise. | |
3526 | ||
fb968187 RS |
3527 | 2015-02-17 Rüdiger Sonderfeld <ruediger@c-plusplus.de> |
3528 | Jonathan Wakely <jwakely@redhat.com> | |
3529 | ||
3530 | * testsuite/22_locale/codecvt/char32_t.cc: New. | |
3531 | ||
faa7d78e JW |
3532 | 2015-02-17 Jonathan Wakely <jwakely@redhat.com> |
3533 | ||
3534 | PR libstdc++/65085 | |
3535 | * include/bits/basic_string.h (basic_string(basic_string&&)): Ensure | |
3536 | empty string gets null-terminated. | |
3537 | * testsuite/21_strings/basic_string/cons/char/65085.cc: New. | |
3538 | ||
1e0c223f MW |
3539 | 2015-02-13 Matthew Wahab <matthew.wahab@arm.com> |
3540 | ||
3541 | * testsuite/28_regex/traits/char/isctype.cc (test01): Fix | |
3542 | mixed line-endings introduced in last change. | |
3543 | ||
72900b83 MW |
3544 | 2015-02-12 Matthew Wahab <matthew.wahab@arm.com> |
3545 | ||
3546 | * testsuite/28_regex/traits/char/isctype.cc (test01): Replace test | |
3547 | for __NEWLIB__ macro with a dejagnu set macro. | |
3548 | * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. | |
3549 | ||
ff9eac29 MW |
3550 | 2015-02-04 Matthew Wahab <matthew.wahab@arm.com> |
3551 | ||
d2e0c00b | 3552 | PR libstdc++/64467 |
ff9eac29 MW |
3553 | * testsuite/28_regex/traits/char/isctype.cc (test01): Add newlib |
3554 | special case for '\n'. | |
3555 | * testsuite/28_regex/traits/wchar_t/isctype.cc (test01): Likewise. | |
3556 | ||
516db2dd JW |
3557 | 2015-02-01 Jonathan Wakely <jwakely@redhat.com> |
3558 | ||
3559 | * src/c++11/futex.cc: Do not define for gthr-single.h targets. | |
3560 | ||
13fc08e4 JW |
3561 | 2015-02-01 Jonathan Wakely <jwakely@redhat.com> |
3562 | ||
3563 | PR libstdc++/64883 | |
3564 | * include/c_global/cstdio (gets): Use __deprecated__ attribute instead | |
3565 | of deprecated. | |
3566 | * include/c_std/cstdio (gets): Likewise. | |
3567 | * testsuite/17_intro/headers/c++1998/all_attributes.cc: Avoid clashing | |
3568 | with attributes used in darwin headers. | |
3569 | ||
536616b7 JJ |
3570 | 2015-01-29 Jakub Jelinek <jakub@redhat.com> |
3571 | ||
3572 | * acinclude.m4 (VTV_CYGMIN): Use x$vtv_cygmin = xyes instead of | |
3573 | $vtv_cygmin = yes. Initialize vtv_cygmin=no unconditionally first. | |
3574 | * configure: Regenerated. | |
3575 | ||
f4392940 L |
3576 | 2015-01-29 H.J. Lu <hongjiu.lu@intel.com> |
3577 | ||
3578 | * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN | |
3579 | after vtv_cygmin is set. | |
3580 | * configure: Regenerated. | |
3581 | ||
23842e91 MK |
3582 | 2015-01-29 Matthias Klose <doko@ubuntu.com> |
3583 | ||
3584 | * acinclude.m4 (GLIBCXX_ENABLE_VTABLE_VERIFY): Define VTV_CYGMIN | |
3585 | unconditionally. | |
3586 | * configure: Regenerate. | |
3587 | ||
8be349ee CT |
3588 | 2015-01-29 Caroline Tice <cmtice@google.com> |
3589 | ||
3590 | Committing VTV Cywin/Ming patch for Patrick Wollgast | |
3591 | * configure: Regenerate. | |
3592 | * libsupc++/Makefile.in: Regenerate. | |
3593 | * src/Makefile.in: Regenerate. | |
3594 | ||
85d44192 JW |
3595 | 2015-01-29 Jonathan Wakely <jwakely@redhat.com> |
3596 | ||
3597 | * include/bits/atomic_base.h: Use __always_inline__ instead of | |
3598 | always_inline. | |
3599 | * include/bits/atomic_futex.h: Likewise. | |
3600 | * include/bits/c++config: Use __abi_tag__ instead of abi_tag. | |
3601 | * include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp: Use | |
3602 | __packed__ instead of packed. | |
3603 | * include/std/shared_mutex: Use __unused__ instead of unused. | |
3604 | * testsuite/17_intro/headers/c++1998/all_attributes.cc: New. | |
3605 | * testsuite/17_intro/headers/c++200x/all_attributes.cc: New. | |
3606 | * testsuite/17_intro/headers/c++2014/all_attributes.cc: New. | |
3607 | ||
8be349ee | 3608 | 2015-01-28 Caroline Tice <cmtice@google.com> |
f7f049fa CT |
3609 | |
3610 | Committing VTV Cywin/Ming patch for Patrick Wollgast | |
3611 | * acinclude.m4: Define VTV_CYGMIN. | |
f7f049fa CT |
3612 | * libsupc++/Makefile.am: Add vtv_sources only to libsupc___la_SOURCES |
3613 | and libsupc__convenience_la_SOURCES if VTV_CYGMIN is not set. | |
f7f049fa CT |
3614 | * libsupc++/vtv_stubs.cc: Add none weak declaration of every function |
3615 | for Cygwin and MinGW. | |
3616 | * src/Makefile.am: Add libvtv.la to toolexeclib_LTLIBRARIES, if | |
3617 | VTV_CYGMIN is set. Define libvtv_la_SOURCES, libvtv_la_LDFLAGS, | |
3618 | libvtv_la_AM_CXXFLAGS and libvtv_la_LINK if VTV_CYGMIN is set. | |
f7f049fa | 3619 | |
739cdc90 JW |
3620 | 2015-01-28 Jonathan Wakely <jwakely@redhat.com> |
3621 | ||
3622 | PR libstdc++/64828 | |
3623 | * libsupc++/Makefile.am: Compile del_opvs.cc as C++14. | |
3624 | * libsupc++/Makefile.in: Regenerate. | |
3625 | * src/c++11/Makefile.in: Regenerate. | |
3626 | ||
f6d04238 KT |
3627 | 2015-01-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
3628 | ||
3629 | * testsuite/lib/libstdc++.exp (v3_target_compile): Remove | |
3630 | check for unsupported. | |
3631 | (v3_target_compile_as_c): Likewise. | |
3632 | ||
8aa33fad RB |
3633 | 2015-01-28 Richard Biener <rguenther@suse.de> |
3634 | ||
3635 | PR libstdc++/64798 | |
3636 | * libsupc++/eh_alloc.cc (struct allocated_entry): Align | |
3637 | data member. | |
3638 | (pool::allocate): Adjust allocation size and alignment to | |
3639 | that change. | |
3640 | (pool::free): Adjust pointer offsetting. | |
3641 | ||
506f03c3 JW |
3642 | 2015-01-27 Jonathan Wakely <jwakely@redhat.com> |
3643 | ||
3644 | PR libstdc++/64368 | |
3645 | * include/std/shared_mutex (shared_timed_mutex::try_lock_for, | |
3646 | shared_timed_mutex::try_lock_until): Only define when POSIX thread | |
3647 | timeouts option is supported. | |
3648 | (shared_timed_mutex::try_shared_lock_for, | |
3649 | shared_timed_mutex::try_shared_lock_until): Likewise. | |
3650 | ||
831a3a9e JW |
3651 | 2015-01-26 Jonathan Wakely <jwakely@redhat.com> |
3652 | ||
3653 | PR libstdc++/64368 | |
3654 | * config/locale/gnu/numeric_members.cc (numpunct<char>::~numpunct(), | |
3655 | numpunct<wchar_t>::~numpunct()): Do not set _M_data->_M_grouping. | |
3656 | * src/c++11/cxx11-shim_facets.cc (numpunct_shim): Remove _M_grouping | |
3657 | and use cache's _M_grouping field. | |
3658 | (__numpunct_fill_cache): Likewise. | |
3659 | (__moneypunct_fill_cache): Improve comments. | |
3660 | ||
c7ac7dda JW |
3661 | 2015-01-26 Jonathan Wakely <jwakely@redhat.com> |
3662 | ||
3663 | * testsuite/23_containers/set/operations/2.cc: Add test for | |
3664 | non-transparent comparison function. | |
3665 | ||
5eb1643c OE |
3666 | 2015-01-25 Oleg Endo <olegendo@gcc.gnu.org> |
3667 | ||
3668 | PR target/29366 | |
3669 | * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): | |
3670 | Remove SH4A inline asm and lock based implementations and use the | |
3671 | defaults from ext/atomicity.h. | |
3672 | ||
130dc027 JW |
3673 | 2015-01-23 Jonathan Wakely <jwakely@redhat.com> |
3674 | ||
3675 | * config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match | |
3676 | new std::string constructors for byname facets. | |
3677 | ||
cce93c76 RB |
3678 | 2015-01-22 Richard Biener <rguenther@suse.de> |
3679 | ||
3680 | PR libstdc++/64535 | |
3681 | * libsupc++/eh_alloc.cc: Include new. | |
3682 | (bitmask_type): Remove. | |
3683 | (one_buffer): Likewise. | |
3684 | (emergency_buffer): Likewise. | |
3685 | (emergency_used): Likewise. | |
3686 | (dependents_buffer): Likewise. | |
3687 | (dependents_used): Likewise. | |
3688 | (class pool): New custom fixed-size arena, variable size object | |
3689 | allocator. | |
3690 | (emergency_pool): New global. | |
3691 | (__cxxabiv1::__cxa_allocate_exception): Use new emergency_pool. | |
3692 | (__cxxabiv1::__cxa_free_exception): Likewise. | |
3693 | (__cxxabiv1::__cxa_allocate_dependent_exception): Likewise. | |
3694 | (__cxxabiv1::__cxa_free_dependent_exception): Likewise. | |
3695 | ||
770acfc9 TS |
3696 | 2015-01-22 Tim Shen <timshen@google.com> |
3697 | ||
3698 | PR libstdc++/64680 | |
3699 | * include/bits/regex.h (basic_regex<>::basic_regex, | |
3700 | basic_regex<>::operator=, basic_regex<>::imbue): Conform to the | |
3701 | standard interface. | |
3702 | * testsuite/28_regex/basic_regex/assign/char/cstring.cc: New testcase. | |
3703 | ||
77033d26 TS |
3704 | 2015-01-22 Tim Shen <timshen@google.com> |
3705 | ||
3706 | PR libstdc++/64649 | |
3707 | * include/bits/regex.tcc (regex_traits<>::lookup_collatename, | |
3708 | regex_traits<>::lookup_classname): Correctly narrow input chars. | |
3709 | * testsuite/28_regex/traits/wchar_t/user_defined.cc: New testcase. | |
3710 | ||
f81f49c1 JW |
3711 | 2015-01-21 Jonathan Wakely <jwakely@redhat.com> |
3712 | ||
3713 | * config/abi/pre/gnu.ver: Use [jmy] for size_t parameters. | |
3714 | ||
deff1f41 JW |
3715 | 2015-01-21 Jonathan Wakely <jwakely@redhat.com> |
3716 | ||
3717 | * testsuite/29_atomics/atomic/64658.cc: Test stored value. | |
3718 | ||
7d56e747 JW |
3719 | 2015-01-20 Jonathan Wakely <jwakely@redhat.com> |
3720 | ||
3721 | * doc/xml/manual/status_cxx2011.xml: Remove stray dbhtml tags. | |
3722 | * doc/xml/manual/status_cxx2014.xml: Update status. | |
3723 | * doc/html/manual/status.html: Regenerate. | |
3724 | ||
4159cf0d JW |
3725 | 2015-01-20 Jonathan Wakely <jwakely@redhat.com> |
3726 | ||
3727 | PR libstdc++/64650 | |
3728 | * include/experimental/optional (bad_optional_access): Add default | |
3729 | constructor. | |
3730 | * testsuite/experimental/optional/requirements.cc: Test for default | |
3731 | constructor. | |
3732 | ||
91c78ea5 JW |
3733 | 2015-01-20 Jonathan Wakely <jwakely@redhat.com> |
3734 | ||
3735 | * include/bits/stl_map.h (map::find<>, map::count<>, | |
3736 | map::lower_bound<>, map::upper_bound<>, map::equal_range<>): New | |
3737 | member function templates to perform heterogeneous lookup. | |
3738 | * include/bits/stl_multimap.h (multimap::find<>, multimap::count<>, | |
3739 | multimap::lower_bound<>, multimap::upper_bound<>, | |
3740 | multimap::equal_range<>): Likewise. | |
3741 | * include/bits/stl_multiset.h (multiset::find<>, multiset::count<>, | |
3742 | multiset::lower_bound<>, multiset::upper_bound<>, | |
3743 | multiset::equal_range<>): Likewise. | |
3744 | * include/bits/stl_set.h (set::find<>, set::count<>, | |
3745 | set::lower_bound<>, set::upper_bound<>, set::equal_range<>): Likewise. | |
3746 | * include/bits/stl_tree.h (_Rb_tree::_S_lower_bound_tr, | |
3747 | _Rb_tree::_S_upper_bound_tr, _Rb_tree::_M_find_tr, | |
3748 | _Rb_tree::_M_count_tr, _Rb_tree::_M_lower_bound_tr, | |
3749 | _Rb_tree::_M_upper_bound_tr, _Rb_tree::_M_equal_range_tr): Likewise. | |
3750 | * testsuite/23_containers/map/operations/2.cc: New. | |
3751 | * testsuite/23_containers/multimap/operations/2.cc: New. | |
3752 | * testsuite/23_containers/multiset/operations/2.cc: New. | |
3753 | * testsuite/23_containers/set/operations/2.cc: New. | |
3754 | ||
71a16cd8 JW |
3755 | 2015-01-20 Jonathan Wakely <jwakely@redhat.com> |
3756 | ||
3757 | * config/abi/pre/gnu.ver: Export new constructors. | |
3758 | * include/bits/codecvt.h (codecvt_byname): Add string constructor. | |
3759 | (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit | |
3760 | specializations and declare explicit instantiations. | |
3761 | * include/bits/locale_classes.h (locale, collate_byname): Add string | |
3762 | constructors. | |
3763 | * include/bits/locale_facets.h (ctype_byname, numpunct_byname): | |
3764 | Likewise. | |
3765 | * include/bits/locale_facets_nonio.h (time_get_byname, | |
3766 | time_put_byname, moneypunct_byname, messages_byname): Likewise. | |
3767 | * src/c++11/codecvt.cc (codecvt_byname<char16_t>, | |
3768 | codecvt_byname<char32_t>): Define explicit instantiations. | |
3769 | * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname): | |
3770 | Instantiate string constructors. | |
3771 | (ctype_byname): Define string constructor. | |
3772 | * testsuite/22_locale/codecvt_byname/1.cc: New. | |
3773 | * testsuite/22_locale/collate_byname/1.cc: New. | |
3774 | * testsuite/22_locale/ctype_byname/2.cc: New. | |
3775 | * testsuite/22_locale/messages_byname/1.cc: New. | |
3776 | * testsuite/22_locale/moneypunct_byname/1.cc: New. | |
3777 | * testsuite/22_locale/numpunct_byname/1.cc: New. | |
3778 | ||
0e4974d6 JW |
3779 | 2015-01-20 Jonathan Wakely <jwakely@redhat.com> |
3780 | ||
3781 | PR libstdc++/64658 | |
3782 | * include/std/atomic (atomic_init): Define. | |
3783 | * testsuite/29_atomics/atomic/64658.cc: New. | |
3784 | ||
e5f35533 TS |
3785 | 2015-01-19 Tim Shen <timshen@google.com> |
3786 | ||
3787 | PR libstdc++/64649 | |
3788 | * include/bits/regex.tcc (regex_traits<>::lookup_collatename, | |
3789 | regex_traits<>::lookup_classname): Support forward iterators. | |
3790 | * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases. | |
3791 | * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase. | |
3792 | ||
60c176fb TS |
3793 | 2015-01-19 Tim Shen <timshen@google.com> |
3794 | ||
3795 | PR libstdc++/64584 | |
3796 | PR libstdc++/64585 | |
3797 | * include/bits/regex.h (basic_regex<>::basic_regex, | |
3798 | basic_regex<>::assign, basic_regex<>::imbue, | |
3799 | basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after | |
3800 | imbuing basic_regex; Make assign() transactional against exception. | |
3801 | * include/bits/regex_compiler.h (__compile_nfa<>): Add back | |
3802 | __compile_nfa SFINAE. | |
3803 | * include/std/regex: Adjust include order to avoid __compile_nfa | |
3804 | forward declaration. | |
3805 | * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase. | |
3806 | * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase. | |
3807 | ||
8bae22b7 VV |
3808 | 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com> |
3809 | Jonathan Wakely <jwakely@redhat.com> | |
3810 | ||
3811 | * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR | |
3812 | on overloads for arrays. | |
3813 | (cbegin, cend, rbegin, rend, crbegin, crend): New. | |
3814 | * testsuite/24_iterators/range_access_cpp14.cc: New. | |
3815 | ||
257024e3 JW |
3816 | 2015-01-18 Jonathan Wakely <jwakely@redhat.com> |
3817 | ||
3818 | PR libstdc++/64646 | |
3819 | * include/bits/stl_algo.h (__is_permutation): Also test for reaching | |
3820 | end of the second range. | |
3821 | * testsuite/25_algorithms/is_permutation/64646.cc: New. | |
3822 | ||
fded3d73 JW |
3823 | 2015-01-18 Jonathan Wakely <jwakely@redhat.com> |
3824 | ||
3825 | * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof. | |
3826 | * doc/html/manual/status.html: Regenerate. | |
3827 | ||
87361f30 JW |
3828 | 2015-01-18 Jonathan Wakely <jwakely@redhat.com> |
3829 | ||
3830 | * include/bits/atomic_futex.h: Use mutex and condition_variable when | |
3831 | atomic int is not lock-free. Make member variables private. | |
3832 | * src/c++11/futex.cc: Likewise. | |
3833 | ||
1e3919ac JW |
3834 | * src/c++11/futex.cc: Fix order of includes and preprocessor condition. |
3835 | ||
c6c1bfd9 JW |
3836 | 2015-01-17 Jonathan Wakely <jwakely@redhat.com> |
3837 | ||
3838 | PR libstdc++/64638 | |
3839 | * include/bits/atomic_futex.h: Use appropriate config macros for | |
3840 | availability of std::mutex, std::condition and std::chrono. | |
3841 | ||
21c4af43 VV |
3842 | 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com> |
3843 | Jonathan Wakely <jwakely@redhat.com> | |
3844 | ||
3845 | * doc/xml/manual/status_cxx2011.xml: Update C++11 status. | |
3846 | * doc/html/*: Regenerate. | |
3847 | ||
1d0a12dc JW |
3848 | 2015-01-17 Jonathan Wakely <jwakely@redhat.com> |
3849 | ||
3850 | DR 488 | |
3851 | PR libstdc++/58357 | |
3852 | * include/bits/algorithmfwd.h (rotate): Return an iterator. | |
3853 | * include/bits/stl_algo.h (rotate, __rotate): Likewise. | |
3854 | * testsuite/25_algorithms/rotate/dr488.cc: New. | |
3855 | * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type. | |
3856 | * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ | |
3857 | 2.cc: Likewise. | |
3858 | * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/ | |
3859 | pod.cc: Likewise. | |
3860 | ||
d31b8797 JW |
3861 | 2015-01-17 Jonathan Wakely <jwakely@redhat.com> |
3862 | ||
3863 | PR libstdc++/60940 | |
3864 | * include/bits/atomic_base.h: Remove atomic integral typedefs as | |
3865 | synonyms for __atomic_base<int> etc. | |
3866 | * include/std/atomic: Make atomic_int a synonym for atomic<int> and | |
3867 | likewise for all atomic integral types. | |
3868 | * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New. | |
3869 | * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number. | |
3870 | ||
3ecec1ef JW |
3871 | 2015-01-17 Jonathan Wakely <jwakely@redhat.com> |
3872 | ||
3873 | PR libstdc++/56785 | |
3874 | * include/std/tuple (_Tuple_impl): Remove zero-element specialization | |
3875 | and define one-element specialization. | |
3876 | * testsuite/20_util/tuple/56785.cc: New. | |
3877 | ||
c23ccace JW |
3878 | 2015-01-17 Jonathan Wakely <jwakely@redhat.com> |
3879 | ||
3880 | * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: | |
3881 | Remove unused header. | |
3882 | * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: | |
3883 | Likewise. | |
3884 | * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: | |
3885 | Likewise. | |
3886 | ||
96d8c147 JW |
3887 | 2015-01-16 Jonathan Wakely <jwakely@redhat.com> |
3888 | ||
3889 | * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New. | |
3890 | * include/std/locale: Include new header. | |
3891 | * include/Makefile.am: Add it. | |
3892 | * include/Makefile.in: Regenerate. | |
3893 | * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New. | |
3894 | * testsuite/22_locale/conversions/string/1.cc: New. | |
3895 | * testsuite/22_locale/conversions/string/2.cc: New. | |
3896 | * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New. | |
3897 | * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc: | |
3898 | New. | |
3899 | ||
28af1fb3 JW |
3900 | 2015-01-16 Jonathan Wakely <jwakely@redhat.com> |
3901 | ||
3902 | * config/abi/pre/gnu.ver: Export new symbols. | |
3903 | * include/Makefile.am: Add codecvt. | |
3904 | * include/Makefile.in: Regenerate. | |
3905 | * include/std/codecvt: New header. | |
3906 | * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base, | |
3907 | __codecvt_utf8_utf16_base): Define specializations. | |
3908 | * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New. | |
3909 | * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New. | |
3910 | * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc: | |
3911 | New. | |
3912 | ||
eae801ba TR |
3913 | 2015-01-16 Torvald Riegel <triegel@redhat.com> |
3914 | ||
3915 | * src/c++11/futex.cc: New file. | |
3916 | * include/bits/atomic_futex.h: New file. | |
3917 | * include/std/future (__future_base::_State_baseV2): Use | |
3918 | atomic_futex_unsigned instead of mutex+condvar. | |
3919 | * src/c++11/futex.cc: Likewise. | |
3920 | * include/Makefile.am: Add atomic_futex.h. | |
3921 | * include/Makefile.in: Likewise. | |
3922 | * src/c++11/Makefile.am: Add futex.cc. | |
3923 | * src/c++11/Makefile.in: Likewise. | |
3924 | ||
bb93f35d JW |
3925 | 2015-01-16 Jonathan Wakely <jwakely@redhat.com> |
3926 | ||
3927 | * acinclude.m4: Fix typo in comment. | |
3928 | * configure: Regenerate. | |
3929 | * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>, | |
3930 | codecvt<char16_t, char, mbstate_t>): Declare specializations. | |
3931 | * include/bits/locale_facets.h: Reserve space for new specializations. | |
3932 | * src/c++11/Makefile.am: Add codecvt.cc. | |
3933 | * src/c++11/Makefile.in: Regenerate. | |
3934 | * src/c++11/codecvt.cc: New. | |
3935 | * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc | |
3936 | with -std=gnu++11. | |
3937 | * src/c++98/Makefile.in: Regenerate. | |
3938 | * src/c++98/locale_init.cc: Initialize new codecvt specializations. | |
3939 | * src/c++98/localename.cc: Likewise. | |
3940 | * config/abi/pre/gnu.ver: Exports for new codecvt specializations. | |
3941 | * testsuite/22_locale/codecvt/utf8.cc: New. | |
3942 | * testsuite/22_locale/locale/cons/unicode.cc: Check that new | |
3943 | specializations are installed in locale objects. | |
3944 | ||
6220fdff TR |
3945 | 2015-01-16 Torvald Riegel <triegel@redhat.com> |
3946 | ||
3947 | * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based | |
3948 | implementation. | |
3949 | ||
6eb61481 JW |
3950 | 2015-01-13 Jonathan Wakely <jwakely@redhat.com> |
3951 | ||
3952 | PR libstdc++/64571 | |
3953 | * config/abi/pre/gnu.ver: Export fstream functions using new string. | |
3954 | ||
5e67acc9 JW |
3955 | 2015-01-12 Jonathan Wakely <jwakely@redhat.com> |
3956 | ||
3957 | PR libstdc++/64560 | |
3958 | * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check | |
3959 | for RTTI support. | |
3960 | ||
1b9ad1d9 JW |
3961 | PR libstdc++/64553 |
3962 | * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support. | |
3963 | ||
f1f3453e TS |
3964 | 2015-01-10 Thomas Schwinge <thomas@codesourcery.com> |
3965 | ||
3966 | * doc/xml/manual/parallel_mode.xml: Update for libgomp being | |
3967 | renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and | |
3968 | Multi Processing Runtime Library". | |
3969 | ||
0edf5aad JW |
3970 | 2015-01-09 Jonathan Wakely <jwakely@redhat.com> |
3971 | ||
3972 | PR libstdc++/64476 | |
3973 | * include/bits/stl_uninitialized.h (uninitialized_copy): Fix | |
3974 | is_assignable arguments. | |
3975 | * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc: | |
3976 | New. | |
3977 | ||
4c470097 AT |
3978 | 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
3979 | ||
3980 | * libsupc++/unwind-cxx.h: Revert previous commit. | |
3981 | ||
82a19768 AT |
3982 | 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org> |
3983 | ||
3984 | * configure.host: Add arm*-*-freebsd* port_specific_symbol_files. | |
3985 | ||
a8e67466 TS |
3986 | 2015-01-09 Tim Shen <timshen@google.com> |
3987 | ||
3988 | PR libstdc++/64239 | |
3989 | * include/bits/regex.h (match_results<>::swap): Use std::swap | |
3990 | instead of swap. | |
3991 | * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier): | |
3992 | Likewise. | |
3993 | * testsuite/28_regex/match_results/swap.cc: New testcase. | |
3994 | ||
c66b93fe JW |
3995 | 2015-01-08 Jonathan Wakely <jwakely@redhat.com> |
3996 | ||
3997 | PR libstdc++/60132 | |
3998 | * include/std/type_traits (has_trivial_default_constructor, | |
3999 | has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated | |
4000 | attribute. | |
4001 | * testsuite/20_util/has_trivial_copy_assign/requirements/ | |
4002 | explicit_instantiation.cc: Use -Wno-deprecated. | |
4003 | * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc: | |
4004 | Likewise. | |
4005 | * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise. | |
4006 | * testsuite/20_util/has_trivial_copy_constructor/requirements/ | |
4007 | explicit_instantiation.cc: Likewise. | |
4008 | * testsuite/20_util/has_trivial_copy_constructor/requirements/ | |
4009 | typedefs.cc: Likewise. | |
4010 | * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise. | |
4011 | * testsuite/20_util/has_trivial_default_constructor/requirements/ | |
4012 | explicit_instantiation.c: Likewise. | |
4013 | * testsuite/20_util/has_trivial_default_constructor/requirements/ | |
4014 | typedefs.cc: Likewise. | |
4015 | * testsuite/20_util/has_trivial_default_constructor/value.cc: | |
4016 | Likewise. | |
4017 | * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated | |
4018 | trait. | |
4019 | * testsuite/20_util/tuple/requirements/dr801.cc: Likewise. | |
4020 | * testsuite/util/testsuite_common_types.h: Likewise. | |
4021 | ||
ea0b599a JW |
4022 | 2015-01-08 Jonathan Wakely <jwakely@redhat.com> |
4023 | ||
4024 | * include/bits/hashtable_policy.h: Use __bool_constant. | |
4025 | ||
23608da4 JW |
4026 | 2015-01-07 Jonathan Wakely <jwakely@redhat.com> |
4027 | ||
4028 | * libsupc++/Makefile.am: Compile del_ops.cc as C++14. | |
4029 | * libsupc++/Makefile.in: Regenerate. | |
4030 | ||
63f21361 JW |
4031 | 2015-01-06 Jonathan Wakely <jwakely@redhat.com> |
4032 | ||
4033 | * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name(). | |
4034 | ||
5624e564 JJ |
4035 | 2015-01-05 Jakub Jelinek <jakub@redhat.com> |
4036 | ||
4037 | Update copyright years. | |
4038 | ||
f034f370 JW |
4039 | 2015-01-04 Jonathan Wakely <jwakely@redhat.com> |
4040 | ||
4041 | PR libstdc++/64483 | |
4042 | * testsuite/18_support/exception_ptr/64241.cc: Use | |
4043 | dg-require-atomic-builtins. | |
4044 | ||
b0e65755 JW |
4045 | 2015-01-02 Jonathan Wakely <jwakely@redhat.com> |
4046 | ||
4047 | * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright | |
4048 | date. | |
4049 | ||
d0cbab5f TS |
4050 | 2015-01-02 Tim Shen <timshen@google.com> |
4051 | ||
4052 | PR libstdc++/64475 | |
4053 | * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the | |
4054 | iterator, since the original one shouldn't be mutated. | |
4055 | ||
e4dd5b69 BE |
4056 | 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de> |
4057 | ||
4058 | PR libstdc++/64422 | |
4059 | * src/c++98/misc-inst.cc (string::erase): Add missing overloads. | |
4060 | (string::insert): Likewise. | |
4061 | (string::replace): Likewise. | |
4062 | (wstring::erase): Likewise. | |
4063 | (wstring::insert): Likewise. | |
4064 | (wstring::replace): Likewise. | |
4065 | * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase. | |
4066 | ||
6e4d8cb6 JW |
4067 | 2015-01-02 Jonathan Wakely <jwakely@redhat.com> |
4068 | ||
4069 | PR libstdc++/64468 | |
4070 | * doc/doxygen/user.cfg.in: Set correct TAB_SIZE. | |
4071 | ||
b4df5e92 JW |
4072 | 2015-01-02 Jonathan Wakely <jwakely@redhat.com> |
4073 | ||
4074 | PR libstdc++/64438 | |
4075 | * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: | |
4076 | Revert removal of dg-require-string-conversions. | |
4077 | * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: | |
4078 | Likewise. | |
4079 | * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: | |
4080 | Likewise. | |
4081 | * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: | |
4082 | Likewise. | |
4083 | * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: | |
4084 | Likewise. | |
4085 | * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc: | |
4086 | Likewise. | |
4087 | * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc: | |
4088 | Likewise. | |
4089 | * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: | |
4090 | Likewise. | |
4091 | * testsuite/21_strings/basic_string/numeric_conversions/char/ | |
4092 | stoull.cc: Likewise. | |
4093 | * testsuite/21_strings/basic_string/numeric_conversions/char/ | |
4094 | to_string.cc: Likewise. | |
4095 | \f | |
4096 | Copyright (C) 2015 Free Software Foundation, Inc. | |
4097 | ||
4098 | Copying and distribution of this file, with or without modification, | |
4099 | are permitted in any medium without royalty provided the copyright | |
4100 | notice and this notice are preserved. |