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