Add C++11 std::string constructors for locales and facets.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
2
3 * config/abi/pre/gnu.ver: Export new constructors.
4 * include/bits/codecvt.h (codecvt_byname): Add string constructor.
5 (codecvt_byname<char16_t>, codecvt_byname<char32_t>): Define explicit
6 specializations and declare explicit instantiations.
7 * include/bits/locale_classes.h (locale, collate_byname): Add string
8 constructors.
9 * include/bits/locale_facets.h (ctype_byname, numpunct_byname):
10 Likewise.
11 * include/bits/locale_facets_nonio.h (time_get_byname,
12 time_put_byname, moneypunct_byname, messages_byname): Likewise.
13 * src/c++11/codecvt.cc (codecvt_byname<char16_t>,
14 codecvt_byname<char32_t>): Define explicit instantiations.
15 * src/c++11/locale-inst.cc (time_put_byname, codecvt_byname):
16 Instantiate string constructors.
17 (ctype_byname): Define string constructor.
18 * testsuite/22_locale/codecvt_byname/1.cc: New.
19 * testsuite/22_locale/collate_byname/1.cc: New.
20 * testsuite/22_locale/ctype_byname/2.cc: New.
21 * testsuite/22_locale/messages_byname/1.cc: New.
22 * testsuite/22_locale/moneypunct_byname/1.cc: New.
23 * testsuite/22_locale/numpunct_byname/1.cc: New.
24
25 2015-01-20 Jonathan Wakely <jwakely@redhat.com>
26
27 PR libstdc++/64658
28 * include/std/atomic (atomic_init): Define.
29 * testsuite/29_atomics/atomic/64658.cc: New.
30
31 2015-01-19 Tim Shen <timshen@google.com>
32
33 PR libstdc++/64649
34 * include/bits/regex.tcc (regex_traits<>::lookup_collatename,
35 regex_traits<>::lookup_classname): Support forward iterators.
36 * testsuite/28_regex/traits/char/lookup_classname.cc: New testcases.
37 * testsuite/28_regex/traits/char/lookup_collatename.cc: New testcase.
38
39 2015-01-19 Tim Shen <timshen@google.com>
40
41 PR libstdc++/64584
42 PR libstdc++/64585
43 * include/bits/regex.h (basic_regex<>::basic_regex,
44 basic_regex<>::assign, basic_regex<>::imbue,
45 basic_regex<>::swap, basic_regex<>::mark_count): Drop NFA after
46 imbuing basic_regex; Make assign() transactional against exception.
47 * include/bits/regex_compiler.h (__compile_nfa<>): Add back
48 __compile_nfa SFINAE.
49 * include/std/regex: Adjust include order to avoid __compile_nfa
50 forward declaration.
51 * testsuite/28_regex/basic_regex/assign/char/string.cc: New testcase.
52 * testsuite/28_regex/basic_regex/imbue/string.cc: New testcase.
53
54 2015-01-19 Ville Voutilainen <ville.voutilainen@gmail.com>
55 Jonathan Wakely <jwakely@redhat.com>
56
57 * include/bits/range_access.h (begin, end): Use _GLIBCXX14_CONSTEXPR
58 on overloads for arrays.
59 (cbegin, cend, rbegin, rend, crbegin, crend): New.
60 * testsuite/24_iterators/range_access_cpp14.cc: New.
61
62 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
63
64 PR libstdc++/64646
65 * include/bits/stl_algo.h (__is_permutation): Also test for reaching
66 end of the second range.
67 * testsuite/25_algorithms/is_permutation/64646.cc: New.
68
69 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
70
71 * doc/xml/manual/status_cxx2011.xml: Remove note about offsetof.
72 * doc/html/manual/status.html: Regenerate.
73
74 2015-01-18 Jonathan Wakely <jwakely@redhat.com>
75
76 * include/bits/atomic_futex.h: Use mutex and condition_variable when
77 atomic int is not lock-free. Make member variables private.
78 * src/c++11/futex.cc: Likewise.
79
80 * src/c++11/futex.cc: Fix order of includes and preprocessor condition.
81
82 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
83
84 PR libstdc++/64638
85 * include/bits/atomic_futex.h: Use appropriate config macros for
86 availability of std::mutex, std::condition and std::chrono.
87
88 2015-01-17 Ville Voutilainen <ville.voutilainen@gmail.com>
89 Jonathan Wakely <jwakely@redhat.com>
90
91 * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
92 * doc/html/*: Regenerate.
93
94 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
95
96 DR 488
97 PR libstdc++/58357
98 * include/bits/algorithmfwd.h (rotate): Return an iterator.
99 * include/bits/stl_algo.h (rotate, __rotate): Likewise.
100 * testsuite/25_algorithms/rotate/dr488.cc: New.
101 * testsuite/25_algorithms/rotate/check_type.cc: Adjust function type.
102 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
103 2.cc: Likewise.
104 * testsuite/25_algorithms/rotate/requirements/explicit_instantiation/
105 pod.cc: Likewise.
106
107 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
108
109 PR libstdc++/60940
110 * include/bits/atomic_base.h: Remove atomic integral typedefs as
111 synonyms for __atomic_base<int> etc.
112 * include/std/atomic: Make atomic_int a synonym for atomic<int> and
113 likewise for all atomic integral types.
114 * testsuite/29_atomics/atomic_integral/cons/copy_list.cc: New.
115 * testsuite/29_atomics/atomic/60695.cc: Adjust dg-error line number.
116
117 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
118
119 PR libstdc++/56785
120 * include/std/tuple (_Tuple_impl): Remove zero-element specialization
121 and define one-element specialization.
122 * testsuite/20_util/tuple/56785.cc: New.
123
124 2015-01-17 Jonathan Wakely <jwakely@redhat.com>
125
126 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc:
127 Remove unused header.
128 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc:
129 Likewise.
130 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
131 Likewise.
132
133 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
134
135 * include/bits/locale_conv.h (wstring_convert, wbuffer_convert): New.
136 * include/std/locale: Include new header.
137 * include/Makefile.am: Add it.
138 * include/Makefile.in: Regenerate.
139 * testsuite/22_locale/conversions/buffer/requirements/typedefs.cc: New.
140 * testsuite/22_locale/conversions/string/1.cc: New.
141 * testsuite/22_locale/conversions/string/2.cc: New.
142 * testsuite/22_locale/conversions/string/requirements/typedefs.cc: New.
143 * testsuite/22_locale/conversions/string/requirements/typedefs-2.cc:
144 New.
145
146 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
147
148 * config/abi/pre/gnu.ver: Export new symbols.
149 * include/Makefile.am: Add codecvt.
150 * include/Makefile.in: Regenerate.
151 * include/std/codecvt: New header.
152 * src/c++11/codecvt.cc (__codecvt_utf8_base, __codecvt_utf16_base,
153 __codecvt_utf8_utf16_base): Define specializations.
154 * testsuite/22_locale/codecvt/codecvt_utf8/requirements/1.cc: New.
155 * testsuite/22_locale/codecvt/codecvt_utf16/requirements/1.cc: New.
156 * testsuite/22_locale/codecvt/codecvt_utf8_utf16/requirements/1.cc:
157 New.
158
159 2015-01-16 Torvald Riegel <triegel@redhat.com>
160
161 * src/c++11/futex.cc: New file.
162 * include/bits/atomic_futex.h: New file.
163 * include/std/future (__future_base::_State_baseV2): Use
164 atomic_futex_unsigned instead of mutex+condvar.
165 * src/c++11/futex.cc: Likewise.
166 * include/Makefile.am: Add atomic_futex.h.
167 * include/Makefile.in: Likewise.
168 * src/c++11/Makefile.am: Add futex.cc.
169 * src/c++11/Makefile.in: Likewise.
170
171 2015-01-16 Jonathan Wakely <jwakely@redhat.com>
172
173 * acinclude.m4: Fix typo in comment.
174 * configure: Regenerate.
175 * include/bits/codecvt.h (codecvt<char16_t, char, mbstate_t>,
176 codecvt<char16_t, char, mbstate_t>): Declare specializations.
177 * include/bits/locale_facets.h: Reserve space for new specializations.
178 * src/c++11/Makefile.am: Add codecvt.cc.
179 * src/c++11/Makefile.in: Regenerate.
180 * src/c++11/codecvt.cc: New.
181 * src/c++98/Makefile.am: Compile locale_init.cc and localename.cc
182 with -std=gnu++11.
183 * src/c++98/Makefile.in: Regenerate.
184 * src/c++98/locale_init.cc: Initialize new codecvt specializations.
185 * src/c++98/localename.cc: Likewise.
186 * config/abi/pre/gnu.ver: Exports for new codecvt specializations.
187 * testsuite/22_locale/codecvt/utf8.cc: New.
188 * testsuite/22_locale/locale/cons/unicode.cc: Check that new
189 specializations are installed in locale objects.
190
191 2015-01-16 Torvald Riegel <triegel@redhat.com>
192
193 * include/std/shared_mutex (shared_timed_mutex): Add POSIX-based
194 implementation.
195
196 2015-01-13 Jonathan Wakely <jwakely@redhat.com>
197
198 PR libstdc++/64571
199 * config/abi/pre/gnu.ver: Export fstream functions using new string.
200
201 2015-01-12 Jonathan Wakely <jwakely@redhat.com>
202
203 PR libstdc++/64560
204 * src/c++11/cxx11-shim_facets.cc (locale::facet::_M_sso_shim): Check
205 for RTTI support.
206
207 PR libstdc++/64553
208 * src/c++11/cxx11-shim_facets.cc: Check for wchar_t support.
209
210 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
211
212 * doc/xml/manual/parallel_mode.xml: Update for libgomp being
213 renamed from "GNU OpenMP Runtime Library" to "GNU Offloading and
214 Multi Processing Runtime Library".
215
216 2015-01-09 Jonathan Wakely <jwakely@redhat.com>
217
218 PR libstdc++/64476
219 * include/bits/stl_uninitialized.h (uninitialized_copy): Fix
220 is_assignable arguments.
221 * testsuite/20_util/specialized_algorithms/uninitialized_copy/64476.cc:
222 New.
223
224 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
225
226 * libsupc++/unwind-cxx.h: Revert previous commit.
227
228 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
229
230 * configure.host: Add arm*-*-freebsd* port_specific_symbol_files.
231
232 2015-01-09 Tim Shen <timshen@google.com>
233
234 PR libstdc++/64239
235 * include/bits/regex.h (match_results<>::swap): Use std::swap
236 instead of swap.
237 * include/bits/regex_compiler.tcc (_Compiler<>::_M_quantifier):
238 Likewise.
239 * testsuite/28_regex/match_results/swap.cc: New testcase.
240
241 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
242
243 PR libstdc++/60132
244 * include/std/type_traits (has_trivial_default_constructor,
245 has_trivial_copy_constructor, has_trivial_copy_assign): Add deprecated
246 attribute.
247 * testsuite/20_util/has_trivial_copy_assign/requirements/
248 explicit_instantiation.cc: Use -Wno-deprecated.
249 * testsuite/20_util/has_trivial_copy_assign/requirements/typedefs.cc:
250 Likewise.
251 * testsuite/20_util/has_trivial_copy_assign/value.cc: Likewise.
252 * testsuite/20_util/has_trivial_copy_constructor/requirements/
253 explicit_instantiation.cc: Likewise.
254 * testsuite/20_util/has_trivial_copy_constructor/requirements/
255 typedefs.cc: Likewise.
256 * testsuite/20_util/has_trivial_copy_constructor/value.cc: Likewise.
257 * testsuite/20_util/has_trivial_default_constructor/requirements/
258 explicit_instantiation.c: Likewise.
259 * testsuite/20_util/has_trivial_default_constructor/requirements/
260 typedefs.cc: Likewise.
261 * testsuite/20_util/has_trivial_default_constructor/value.cc:
262 Likewise.
263 * testsuite/20_util/pair/requirements/dr801.cc: Replace deprecated
264 trait.
265 * testsuite/20_util/tuple/requirements/dr801.cc: Likewise.
266 * testsuite/util/testsuite_common_types.h: Likewise.
267
268 2015-01-08 Jonathan Wakely <jwakely@redhat.com>
269
270 * include/bits/hashtable_policy.h: Use __bool_constant.
271
272 2015-01-07 Jonathan Wakely <jwakely@redhat.com>
273
274 * libsupc++/Makefile.am: Compile del_ops.cc as C++14.
275 * libsupc++/Makefile.in: Regenerate.
276
277 2015-01-06 Jonathan Wakely <jwakely@redhat.com>
278
279 * config/abi/pre/gnu.ver: Fix version conflict for std::locale::name().
280
281 2015-01-05 Jakub Jelinek <jakub@redhat.com>
282
283 Update copyright years.
284
285 2015-01-04 Jonathan Wakely <jwakely@redhat.com>
286
287 PR libstdc++/64483
288 * testsuite/18_support/exception_ptr/64241.cc: Use
289 dg-require-atomic-builtins.
290
291 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
292
293 * testsuite/21_strings/basic_string/modifiers/64422.cc: Fix copyright
294 date.
295
296 2015-01-02 Tim Shen <timshen@google.com>
297
298 PR libstdc++/64475
299 * include/bits/regex_executor.tcc (_Executor<>::_M_dfs): Copy the
300 iterator, since the original one shouldn't be mutated.
301
302 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
303
304 PR libstdc++/64422
305 * src/c++98/misc-inst.cc (string::erase): Add missing overloads.
306 (string::insert): Likewise.
307 (string::replace): Likewise.
308 (wstring::erase): Likewise.
309 (wstring::insert): Likewise.
310 (wstring::replace): Likewise.
311 * testsuite/21_strings/basic_string/modifiers/64422.cc: New testcase.
312
313 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
314
315 PR libstdc++/64468
316 * doc/doxygen/user.cfg.in: Set correct TAB_SIZE.
317
318 2015-01-02 Jonathan Wakely <jwakely@redhat.com>
319
320 PR libstdc++/64438
321 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
322 Revert removal of dg-require-string-conversions.
323 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
324 Likewise.
325 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
326 Likewise.
327 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
328 Likewise.
329 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
330 Likewise.
331 * testsuite/21_strings/basic_string/numeric_conversions/char/stold.cc:
332 Likewise.
333 * testsuite/21_strings/basic_string/numeric_conversions/char/stoll.cc:
334 Likewise.
335 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
336 Likewise.
337 * testsuite/21_strings/basic_string/numeric_conversions/char/
338 stoull.cc: Likewise.
339 * testsuite/21_strings/basic_string/numeric_conversions/char/
340 to_string.cc: Likewise.
341 \f
342 Copyright (C) 2015 Free Software Foundation, Inc.
343
344 Copying and distribution of this file, with or without modification,
345 are permitted in any medium without royalty provided the copyright
346 notice and this notice are preserved.