forced.C: Extend current handling of Linux-based x86 systems to cover all GNU systems.
[gcc.git] / libstdc++-v3 / ChangeLog
1 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
2
3 * testsuite/17_intro/headers/c++1998/49745.cc: Extend current
4 handling of Linux-based x86 systems to cover all GNU systems.
5 * testsuite/18_support/bad_exception/23591_thread-1.c: Likewise.
6 * testsuite/18_support/pthread_guard.cc: Likewise.
7 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
8 Likewise.
9 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
10 Likewise.
11 * testsuite/21_strings/basic_string/pthread18185.cc: Likewise.
12 * testsuite/21_strings/basic_string/pthread4.cc: Likewise.
13 * testsuite/22_locale/ctype/is/char/2.cc: Likewise.
14 * testsuite/22_locale/ctype/is/wchar_t/2.cc: Likewise.
15 * testsuite/22_locale/locale/cons/12658_thread-1.cc: Likewise.
16 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Likewise.
17 * testsuite/23_containers/list/pthread1.cc: Likewise.
18 * testsuite/23_containers/list/pthread5.cc: Likewise.
19 * testsuite/23_containers/map/pthread6.cc: Likewise.
20 * testsuite/23_containers/vector/debug/multithreaded_swap.cc:
21 Likewise.
22 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc:
23 Likewise.
24 * testsuite/27_io/basic_ofstream/pthread2.cc: Likewise.
25 * testsuite/27_io/basic_ostringstream/pthread3.cc: Likewise.
26 * testsuite/30_threads/async/42819.cc: Likewise.
27 * testsuite/30_threads/async/49668.cc: Likewise.
28 * testsuite/30_threads/async/54297.cc: Likewise.
29 * testsuite/30_threads/async/any.cc: Likewise.
30 * testsuite/30_threads/async/async.cc: Likewise.
31 * testsuite/30_threads/async/launch.cc: Likewise.
32 * testsuite/30_threads/async/sync.cc: Likewise.
33 * testsuite/30_threads/call_once/39909.cc: Likewise.
34 * testsuite/30_threads/call_once/49668.cc: Likewise.
35 * testsuite/30_threads/call_once/call_once1.cc: Likewise.
36 * testsuite/30_threads/condition_variable/54185.cc: Likewise.
37 * testsuite/30_threads/condition_variable/cons/1.cc: Likewise.
38 * testsuite/30_threads/condition_variable/members/1.cc: Likewise.
39 * testsuite/30_threads/condition_variable/members/2.cc: Likewise.
40 * testsuite/30_threads/condition_variable/members/53841.cc:
41 Likewise.
42 * testsuite/30_threads/condition_variable/native_handle/typesizes.cc:
43 Likewise.
44 * testsuite/30_threads/condition_variable_any/50862.cc: Likewise.
45 * testsuite/30_threads/condition_variable_any/53830.cc: Likewise.
46 * testsuite/30_threads/condition_variable_any/cons/1.cc: Likewise.
47 * testsuite/30_threads/condition_variable_any/members/1.cc:
48 Likewise.
49 * testsuite/30_threads/condition_variable_any/members/2.cc:
50 Likewise.
51 * testsuite/30_threads/future/cons/move.cc: Likewise.
52 * testsuite/30_threads/future/members/45133.cc: Likewise.
53 * testsuite/30_threads/future/members/get.cc: Likewise.
54 * testsuite/30_threads/future/members/get2.cc: Likewise.
55 * testsuite/30_threads/future/members/share.cc: Likewise.
56 * testsuite/30_threads/future/members/valid.cc: Likewise.
57 * testsuite/30_threads/future/members/wait.cc: Likewise.
58 * testsuite/30_threads/future/members/wait_for.cc: Likewise.
59 * testsuite/30_threads/future/members/wait_until.cc: Likewise.
60 * testsuite/30_threads/lock/1.cc: Likewise.
61 * testsuite/30_threads/lock/2.cc: Likewise.
62 * testsuite/30_threads/lock/3.cc: Likewise.
63 * testsuite/30_threads/lock/4.cc: Likewise.
64 * testsuite/30_threads/mutex/cons/1.cc: Likewise.
65 * testsuite/30_threads/mutex/dest/destructor_locked.cc: Likewise.
66 * testsuite/30_threads/mutex/lock/1.cc: Likewise.
67 * testsuite/30_threads/mutex/native_handle/1.cc: Likewise.
68 * testsuite/30_threads/mutex/native_handle/typesizes.cc: Likewise.
69 * testsuite/30_threads/mutex/try_lock/1.cc: Likewise.
70 * testsuite/30_threads/mutex/try_lock/2.cc: Likewise.
71 * testsuite/30_threads/mutex/unlock/1.cc: Likewise.
72 * testsuite/30_threads/packaged_task/49668.cc: Likewise.
73 * testsuite/30_threads/packaged_task/cons/1.cc: Likewise.
74 * testsuite/30_threads/packaged_task/cons/2.cc: Likewise.
75 * testsuite/30_threads/packaged_task/cons/3.cc: Likewise.
76 * testsuite/30_threads/packaged_task/cons/56492.cc: Likewise.
77 * testsuite/30_threads/packaged_task/cons/alloc.cc: Likewise.
78 * testsuite/30_threads/packaged_task/cons/move.cc: Likewise.
79 * testsuite/30_threads/packaged_task/cons/move_assign.cc:
80 Likewise.
81 * testsuite/30_threads/packaged_task/members/get_future.cc:
82 Likewise.
83 * testsuite/30_threads/packaged_task/members/get_future2.cc:
84 Likewise.
85 * testsuite/30_threads/packaged_task/members/invoke.cc: Likewise.
86 * testsuite/30_threads/packaged_task/members/invoke2.cc: Likewise.
87 * testsuite/30_threads/packaged_task/members/invoke3.cc: Likewise.
88 * testsuite/30_threads/packaged_task/members/invoke4.cc: Likewise.
89 * testsuite/30_threads/packaged_task/members/invoke5.cc: Likewise.
90 * testsuite/30_threads/packaged_task/members/reset.cc: Likewise.
91 * testsuite/30_threads/packaged_task/members/reset2.cc: Likewise.
92 * testsuite/30_threads/packaged_task/members/swap.cc: Likewise.
93 * testsuite/30_threads/packaged_task/members/valid.cc: Likewise.
94 * testsuite/30_threads/promise/cons/1.cc: Likewise.
95 * testsuite/30_threads/promise/cons/alloc.cc: Likewise.
96 * testsuite/30_threads/promise/cons/move.cc: Likewise.
97 * testsuite/30_threads/promise/cons/move_assign.cc: Likewise.
98 * testsuite/30_threads/promise/members/get_future.cc: Likewise.
99 * testsuite/30_threads/promise/members/get_future2.cc: Likewise.
100 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
101 * testsuite/30_threads/promise/members/set_exception2.cc:
102 Likewise.
103 * testsuite/30_threads/promise/members/set_value.cc: Likewise.
104 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
105 * testsuite/30_threads/promise/members/set_value3.cc: Likewise.
106 * testsuite/30_threads/promise/members/swap.cc: Likewise.
107 * testsuite/30_threads/recursive_mutex/cons/1.cc: Likewise.
108 * testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc:
109 Likewise.
110 * testsuite/30_threads/recursive_mutex/lock/1.cc: Likewise.
111 * testsuite/30_threads/recursive_mutex/native_handle/1.cc:
112 Likewise.
113 * testsuite/30_threads/recursive_mutex/native_handle/typesizes.cc:
114 Likewise.
115 * testsuite/30_threads/recursive_mutex/try_lock/1.cc: Likewise.
116 * testsuite/30_threads/recursive_mutex/try_lock/2.cc: Likewise.
117 * testsuite/30_threads/recursive_mutex/unlock/1.cc: Likewise.
118 * testsuite/30_threads/recursive_timed_mutex/cons/1.cc: Likewise.
119 * testsuite/30_threads/recursive_timed_mutex/dest/destructor_locked.cc:
120 Likewise.
121 * testsuite/30_threads/recursive_timed_mutex/lock/1.cc: Likewise.
122 * testsuite/30_threads/recursive_timed_mutex/lock/2.cc: Likewise.
123 * testsuite/30_threads/recursive_timed_mutex/native_handle/1.cc:
124 Likewise.
125 * testsuite/30_threads/recursive_timed_mutex/native_handle/typesizes.cc:
126 Likewise.
127 * testsuite/30_threads/recursive_timed_mutex/try_lock/1.cc:
128 Likewise.
129 * testsuite/30_threads/recursive_timed_mutex/try_lock/2.cc:
130 Likewise.
131 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/1.cc:
132 Likewise.
133 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/2.cc:
134 Likewise.
135 * testsuite/30_threads/recursive_timed_mutex/try_lock_for/3.cc:
136 Likewise.
137 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/1.cc:
138 Likewise.
139 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/2.cc:
140 Likewise.
141 * testsuite/30_threads/recursive_timed_mutex/unlock/1.cc:
142 Likewise.
143 * testsuite/30_threads/shared_future/cons/move.cc: Likewise.
144 * testsuite/30_threads/shared_future/members/45133.cc: Likewise.
145 * testsuite/30_threads/shared_future/members/get.cc: Likewise.
146 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
147 * testsuite/30_threads/shared_future/members/valid.cc: Likewise.
148 * testsuite/30_threads/shared_future/members/wait.cc: Likewise.
149 * testsuite/30_threads/shared_future/members/wait_for.cc:
150 Likewise.
151 * testsuite/30_threads/shared_future/members/wait_until.cc:
152 Likewise.
153 * testsuite/30_threads/this_thread/1.cc: Likewise.
154 * testsuite/30_threads/this_thread/2.cc: Likewise.
155 * testsuite/30_threads/this_thread/3.cc: Likewise.
156 * testsuite/30_threads/this_thread/4.cc: Likewise.
157 * testsuite/30_threads/thread/cons/1.cc: Likewise.
158 * testsuite/30_threads/thread/cons/2.cc: Likewise.
159 * testsuite/30_threads/thread/cons/3.cc: Likewise.
160 * testsuite/30_threads/thread/cons/4.cc: Likewise.
161 * testsuite/30_threads/thread/cons/49668.cc: Likewise.
162 * testsuite/30_threads/thread/cons/5.cc: Likewise.
163 * testsuite/30_threads/thread/cons/6.cc: Likewise.
164 * testsuite/30_threads/thread/cons/7.cc: Likewise.
165 * testsuite/30_threads/thread/cons/8.cc: Likewise.
166 * testsuite/30_threads/thread/cons/9.cc: Likewise.
167 * testsuite/30_threads/thread/cons/moveable.cc: Likewise.
168 * testsuite/30_threads/thread/members/1.cc: Likewise.
169 * testsuite/30_threads/thread/members/2.cc: Likewise.
170 * testsuite/30_threads/thread/members/3.cc: Likewise.
171 * testsuite/30_threads/thread/members/4.cc: Likewise.
172 * testsuite/30_threads/thread/members/5.cc: Likewise.
173 * testsuite/30_threads/thread/members/hardware_concurrency.cc:
174 Likewise.
175 * testsuite/30_threads/thread/native_handle/cancel.cc: Likewise.
176 * testsuite/30_threads/thread/native_handle/typesizes.cc:
177 Likewise.
178 * testsuite/30_threads/thread/swap/1.cc: Likewise.
179 * testsuite/30_threads/timed_mutex/cons/1.cc: Likewise.
180 * testsuite/30_threads/timed_mutex/dest/destructor_locked.cc:
181 Likewise.
182 * testsuite/30_threads/timed_mutex/lock/1.cc: Likewise.
183 * testsuite/30_threads/timed_mutex/native_handle/1.cc: Likewise.
184 * testsuite/30_threads/timed_mutex/native_handle/typesizes.cc:
185 Likewise.
186 * testsuite/30_threads/timed_mutex/try_lock/1.cc: Likewise.
187 * testsuite/30_threads/timed_mutex/try_lock/2.cc: Likewise.
188 * testsuite/30_threads/timed_mutex/try_lock_for/1.cc: Likewise.
189 * testsuite/30_threads/timed_mutex/try_lock_for/2.cc: Likewise.
190 * testsuite/30_threads/timed_mutex/try_lock_for/3.cc: Likewise.
191 * testsuite/30_threads/timed_mutex/try_lock_until/1.cc: Likewise.
192 * testsuite/30_threads/timed_mutex/try_lock_until/2.cc: Likewise.
193 * testsuite/30_threads/timed_mutex/unlock/1.cc: Likewise.
194 * testsuite/30_threads/try_lock/1.cc: Likewise.
195 * testsuite/30_threads/try_lock/2.cc: Likewise.
196 * testsuite/30_threads/try_lock/3.cc: Likewise.
197 * testsuite/30_threads/try_lock/4.cc: Likewise.
198 * testsuite/30_threads/unique_lock/cons/1.cc: Likewise.
199 * testsuite/30_threads/unique_lock/cons/2.cc: Likewise.
200 * testsuite/30_threads/unique_lock/cons/3.cc: Likewise.
201 * testsuite/30_threads/unique_lock/cons/4.cc: Likewise.
202 * testsuite/30_threads/unique_lock/cons/5.cc: Likewise.
203 * testsuite/30_threads/unique_lock/cons/6.cc: Likewise.
204 * testsuite/30_threads/unique_lock/locking/1.cc: Likewise.
205 * testsuite/30_threads/unique_lock/locking/2.cc: Likewise.
206 * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
207 * testsuite/30_threads/unique_lock/locking/4.cc: Likewise.
208 * testsuite/30_threads/unique_lock/modifiers/1.cc: Likewise.
209 * testsuite/30_threads/unique_lock/modifiers/2.cc: Likewise.
210 * testsuite/ext/mt_allocator/22309_thread.cc: Likewise.
211 * testsuite/ext/profile/mh.cc: Likewise.
212 * testsuite/ext/rope/pthread7-rope.cc: Likewise.
213 * testsuite/lib/libstdc++.exp (libstdc++_init): Likewise.
214 * testsuite/tr1/2_general_utilities/shared_ptr/thread/default_weaktoshared.cc:
215 Likewise.
216 * testsuite/tr1/2_general_utilities/shared_ptr/thread/mutex_weaktoshared.cc:
217 Likewise.
218 * testsuite/util/testsuite_performance.h: Extend current handling
219 of Linux-based systems to cover all glibc-based systems.
220
221 2013-06-09 Jonathan Wakely <jwakely.gcc@gmail.com>
222
223 * include/std/mutex (call_once): Remove parentheses to fix error in
224 c++1y and gnu++1y mode.
225 * testsuite/30_threads/mutex/try_lock/2.cc: Call try_lock() in new
226 thread to avoid undefined behaviour.
227
228 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
229
230 Simplify and clean up library literals.
231 * include/std/chrono: Simplify namespace and versioning management.
232 * include/bits/basic_string.h: Ditto.
233 * testsuite/20_util/duration/literals/types.cc: Remove bogus comment.
234 * testsuite/20_util/duration/literals/values.cc: Ditto.
235 * testsuite/21_strings/basic_string/literals/types.cc: Ditto.
236 * testsuite/21_strings/basic_string/literals/values.cc: Ditto.
237
238 2013-06-08 Ed Smith-Rowland <3dw4rd@verizon.net>
239
240 Implement N3654 - Quoted Strings Library Proposal
241 * include/std/iomanip: Add quoted(String, Char delim, Char escape)
242 manipulators and supporting machinery in c++1y mode.
243 * testsuite/27_io/manipulators/standard/char/quoted.cc: New.
244 * testsuite/27_io/manipulators/standard/wchar_t/quoted.cc: New.
245
246 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
247
248 * include/bits/alloc_traits.h (allocator_traits::max_size()): LWG
249 2162: Add noexcept.
250
251 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
252
253 * include/bits/stl_algo.h (is_permutation): Add overloads from N3671.
254 * include/bits/stl_algobase.h (equal, mismatch): Likewise.
255 * testsuite/25_algorithms/equal/1.cc: Remove duplicate test case.
256 * testsuite/25_algorithms/equal/2.cc: New.
257 * testsuite/25_algorithms/equal/check_type2.cc: New.
258 * testsuite/25_algorithms/is_permutationqual/2.cc: New.
259 * testsuite/25_algorithms/is_permutationqual/check_type2.cc: New.
260 * testsuite/25_algorithms/mismatch/2.cc: New.
261 * testsuite/25_algorithms/mismatch/check_type2.cc: New.
262 * testsuite/util/testsuite_iterators.h: Fix spelling.
263
264 2013-06-08 Jonathan Wakely <jwakely.gcc@gmail.com>
265
266 * include/std/type-traits (integral_constant::operator()): Implement
267 N3545.
268 * testsuite/20_util/integral_constant/call_operator.cc: New.
269 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
270 line numbers.
271 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
272 Likewise.
273 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
274 Likewise.
275
276 2013-06-07 Uros Bizjak <ubizjak@gmail.com>
277
278 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
279
280 2013-06-05 Tom Tromey <tromey@redhat.com>
281
282 * testsuite/libstdc++-prettyprinters/shared_ptr.cc: Use -O0.
283
284 2013-06-03 Paolo Carlini <paolo.carlini@oracle.com>
285
286 PR c++/57419
287 * testsuite/20_util/default_delete/48631_neg.cc: Adjust.
288
289 2013-06-01 Ed Smith-Rowland <3dw4rd@verizon.net>
290
291 * include/std/chrono: Collapse redundant 'inline' from 'inline
292 constexpr'.
293 * include/std/tuple: Ditto.
294 * include/bits/move.h: Ditto.
295
296 2013-05-30 Ed Smith-Rowland <3dw4rd@verizon.net>
297
298 Implement N3642 - User-defined Literals for Standard Library Types
299 * include/bits/parse_numbers.h: New.
300 * include/std/chrono: Add duration literal operators.
301 * include/bits/basic_string.h: Add string literal operators.
302 * include/Makefile.in: Add parse_numbers.h.
303 * include/Makefile.am: Ditto.
304 * testsuite/20_util/duration/literals/values.cc: New.
305 * testsuite/20_util/duration/literals/types.cc: New.
306 * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Adjust.
307 * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Adjust.
308 * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Adjust.
309 * testsuite/21_strings/basic_string/literals/values.cc: New.
310 * testsuite/21_strings/basic_string/literals/types.cc: New.
311
312 2013-05-28 Jonathan Wakely <jwakely.gcc@gmail.com>
313
314 * src/c++11/compatibility-chrono.cc (steady_clock::now()): If
315 !_GLIBCXX_USE_GETTIMEOFDAY perform conversion inline instead of
316 calling non-existent from_time_t.
317
318 2013-05-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
319
320 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
321 Regenerate.
322
323 2013-05-24 Benjamin Kosnik <bkoz@redhat.com>
324
325 * include/std/chrono: Wrap clocks in inline namespace _V2.
326 * src/c++11/chrono.cc: Same.
327 * src/c++11/compatibility-chrono.cc: Revert to previous chrono.cc
328 file, with default configure macros selected.
329
330 * config/abi/pre/gnu.ver (GLIBCXX_3.4.19): Use symbols from inline
331 namespace.
332 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Fix up.
333
334 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
335 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
336 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
337 Regenerated.
338 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
339 Regenerated.
340 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
341 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
342 Regenerated.
343 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
344 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
345 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
346 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
347 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
348 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
349 Regenerated.
350 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
351 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
352
353 2013-05-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
354
355 * config/os/solaris/solaris2.9/os_defines.h [!CLOCK_MONOTONIC]
356 (CLOCK_MONOTONIC): Define.
357
358 2013-05-24 Paolo Carlini <paolo.carlini@oracle.com>
359
360 * include/ext/type_traits.h (__is_null_pointer): Add std::nullptr_t
361 overload.
362
363 * include/bits/cpp_type_traits.h (__is_fundamental): Remove, unused.
364
365 2013-05-24 Jakub Jelinek <jakub@redhat.com>
366
367 * src/c++11/chrono.cc: If _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL,
368 include unistd.h and sys/syscall.h. If _GLIBCXX_COMPATIBILITY_CXX0X,
369 don't define system_clock::is_steady, system_clock::now() and
370 steady_clock::is_steady.
371 (std::chrono::system_clock::now()): If
372 _GLIBCXX_USE_CLOCK_GETTIME_SYSCALL, call
373 syscall (SYS_clock_gettime, ...) instead of clock_gettime (...).
374 (std::chrono::system_clock::now()): Likewise. Add weak attribute
375 if _GLIBCXX_COMPATIBILITY_CXX0X and compatibility-chrono.cc will
376 be non-empty.
377 * src/Makefile.am (cxx11_sources): Add compatibility-chrono.cc.
378 (compatibility-chrono.lo, compatibility-chrono.o): New goals.
379 * src/c++11/compatibility-chrono.cc: New file.
380 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): On linux*, check for
381 syscall (SYS_clock_gettime, CLOCK_MONOTONIC, &tp).
382 * testsuite/util/testsuite_abi.cc (check_version): Add
383 GLIBCXX_3.4.20 version and make it the latest.
384 * config/abi/pre/gnu.ver (_ZNSt6chrono12steady_clock3nowEv): Export
385 also @@GLIBCXX_3.4.19. Move all symbols so far added for GCC 4.9 to
386 @@GLIBCXX_3.4.20 instead.
387 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Regenerated.
388 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Regenerated.
389 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
390 Regenerated.
391 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
392 Regenerated.
393 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Regenerated.
394 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
395 Regenerated.
396 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Regenerated.
397 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Regenerated.
398 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Regenerated.
399 * config/abi/post/solaris2.10/baseline_symbols.txt: Regenerated.
400 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Regenerated.
401 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt:
402 Regenerated.
403 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerated.
404 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Regenerated.
405 * config.h.in: Regenerated.
406 * src/Makefile.in: Regenerated.
407 * configure: Regenerated.
408
409 2013-05-23 Matthias Klose <doko@ubuntu.com>
410
411 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
412 (ext_headers): Remove ${ext_host_headers}.
413 (stamp-${host_alias}): Create ${host_builddir}/../ext.
414 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
415 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
416 * include/Makefile.in: Regenerate.
417 * include/ext/random: Include ext/opt_random.h.
418
419 2013-05-22 Jonathan Wakely <jwakely.gcc@gmail.com>
420
421 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Add KIND=auto to
422 enable features if target OS is known to support them.
423 * configure.ac (GLIBCXX_ENABLE_LIBSTDCXX_TIME): Default to 'auto'.
424 * configure: Regenerate.
425
426 2013-05-21 Jonathan Wakely <jwakely.gcc@gmail.com>
427
428 PR libstdc++/57336
429 * include/std/functional (__invoke): Do not form function types with
430 abstract return type.
431 * testsuite/20_util/reference_wrapper/invoke-3.cc: New.
432
433 2013-05-19 Jonathan Wakely <jwakely.gcc@gmail.com>
434
435 * include/std/tuple (get): Implement N3670.
436 * include/std/utility (get): Likewise.
437 * testsuite/20_util/pair/get.cc: Move to ...
438 * testsuite/20_util/pair/astuple/get.cc: Here.
439 * testsuite/20_util/pair/astuple/astuple.cc: New.
440 * testsuite/20_util/pair/astuple/constexpr_get.cc: New.
441 * testsuite/20_util/pair/astuple/constexpr_get_by_type.cc: New.
442 * testsuite/20_util/pair/astuple/get_by_type.cc: New.
443 * testsuite/20_util/pair/astuple/get_by_type_neg.cc: New.
444 * testsuite/20_util/pair/astuple/get_neg.cc: New.
445 * testsuite/20_util/tuple/element_access/constexpr_get_by_type.cc: New.
446 * testsuite/20_util/tuple/element_access/get2_by_type.cc: New.
447 * testsuite/20_util/tuple/element_access/get_by_type.cc: New.
448
449 2013-05-19 Paolo Carlini <paolo.carlini@oracle.com>
450
451 * Revert last commit.
452
453 2013-05-19 Matthias Klose <doko@ubuntu.com>
454
455 * include/Makefile.am (bits_headers): Remove ${bits_host_headers}.
456 (ext_headers): Remove ${ext_host_headers}.
457 (stamp-${host_alias}): Create ${host_builddir}/../ext.
458 (stamp-host): Link ${bits_host_headers} and ${ext_host_headers}.
459 (install-headers): Install ${bits_host_headers} and ${ext_host_headers}.
460 * include/Makefile.in: Regenerate.
461
462 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
463
464 * include/std/system_error (error_category::error_category()): LWG
465 2145: Declare public and constexpr.
466 * src/c++11/system_error.cc (error_category::error_category()): Move
467 definition to ...
468 * src/c++11/compatibility-c++0x.cc: Here.
469
470 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
471
472 * include/std/typeindex (type_index::name()): LWG 2144: Add noexcept.
473
474 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
475
476 * include/bits/unique_ptr.h (make_unique): Declare inline.
477 (unique_ptr<T[],D>::reset()): Combine two overloads into one.
478 (default_delete, unique_ptr): Add doxygen comments.
479 * include/bits/shared_ptr_base.h: Improve doxygen comments.
480 * include/bits/shared_ptr.h: Likewise.
481 * testsuite/20_util/default_delete/48631_neg.cc: Adjust dg-error line
482 number.
483 * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Likewise.
484
485 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
486
487 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
488
489 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
490
491 * doc/xml/manual/status_cxx2011.xml: Fix markup error.
492
493 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
494
495 * include/std/utility (exchange): Define.
496 * testsuite/20_util/exchange/1.cc: New.
497
498 2013-05-18 Jonathan Wakely <jwakely.gcc@gmail.com>
499
500 * include/bits/unique_ptr.h (make_unique): Define.
501 * testsuite/20_util/unique_ptr/creation/single.cc: New.
502 * testsuite/20_util/unique_ptr/creation/array.cc: New.
503 * testsuite/20_util/unique_ptr/creation/array_neg.cc: New.
504
505 2013-05-15 François Dumont <fdumont@gcc.gnu.org>
506
507 * python/libstdcxx/v6/printers.py (Tr1HashtableIterator): Fix
508 rendering of std::tr1 unordered containers iterator.
509 (StdHashtableIterator): New, render std unordered containers iterator.
510 * testsuite/libstdc++-prettyprinters/tr1.cc: New.
511
512 2013-05-15 Jonathan Wakely <jwakely.gcc@gmail.com>
513
514 * include/bits/basic_string.h (getline): Fix doxygen comments.
515
516 2013-05-14 Paolo Carlini <paolo.carlini@oracle.com>
517
518 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
519 Use std::pointer_traits.
520
521 2013-05-13 Benjamin Kosnik <bkoz@redhat.com>
522
523 * libsupc++/Makefile.am (sources): Add bad_array_length.cc,
524 bad_array_new.cc.
525 * libsupc++/Makefile.in: Regenerate.
526 * libsupc++/bad_array_length.cc: Tweak.
527 * libsupc++/bad_array_new.cc: Tweak.
528
529 2013-05-10 Paolo Carlini <paolo.carlini@oracle.com>
530
531 PR libstdc++/54577
532 * include/bits/stl_deque.h (erase): Fix signatures in C++11 mode.
533 (_Deque_iterator<>::_M_const_cast): Add.
534 (deque<>::_M_erase): Declare.
535 * include/bits/deque.tcc: ... and define.
536 * include/bits/stl_list.h (erase): Fix signatures in C++11 mode.
537 (_List_const_iterator<>::_M_const_cast): Add.
538 * include/bits/list.tcc (erase (iterator)): Fix.
539 * include/bits/stl_iterator.h (__normal_iterator<>::_M_const_cast):
540 Add; include <ext/cast.h>.
541 * include/bits/stl_vector.h (erase): Fix signatures in C++11 mode.
542 (vector<>::_M_erase): Declare.
543 * include/bits/stl_bvector.h: Likewise.
544 * include/bits/vector.tcc (vector<>::_M_erase): Define.
545 * include/ext/vstring.h (erase): Fix signatures in C++11 mode.
546 * include/debug/deque: Adjust.
547 * include/debug/list: Likewise.
548 * include/debug/vector: Likewise.
549 * include/profile/deque: Likewise.
550 * include/profile/list: Likewise.
551 * include/profile/vector: Likewise.
552 * testsuite/util/exception/safety.h (erase_base<deque>,
553 erase_base<deque>, erase_base<vector>): Remove.
554 (erase_base<__versa_string>): Update.
555 * testsuite/ext/vstring/modifiers/char/54577.cc: New.
556 * testsuite/ext/vstring/modifiers/wchar_t/54577.cc: Likewise.
557 * testsuite/23_containers/deque/modifiers/erase/54577.cc: Likewise.
558 * testsuite/23_containers/list/modifiers/erase/54577.cc: Likewise.
559 * testsuite/23_containers/vector/bool/modifiers/erase/54577.cc:
560 Likewise.
561 * testsuite/23_containers/vector/modifiers/erase/54577.cc: Likewise.
562 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc:
563 Adjust dg-error line numbers.
564 * testsuite/23_containers/deque/requirements/dr438/
565 constructor_1_neg.cc: Likewise.
566 * testsuite/23_containers/deque/requirements/dr438/
567 constructor_2_neg.cc: Likewise.
568 * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc:
569 Likewise.
570 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
571 Likewise.
572 * testsuite/23_containers/list/requirements/dr438/
573 constructor_1_neg.cc: Likewise.
574 * testsuite/23_containers/list/requirements/dr438/
575 constructor_2_neg.cc: Likewise.
576 * testsuite/23_containers/list/requirements/dr438/
577 insert_neg.cc: Likewise.
578 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
579 Likewise.
580 * testsuite/23_containers/vector/requirements/dr438/
581 constructor_1_neg.cc: Likewise.
582 * testsuite/23_containers/vector/requirements/dr438/
583 constructor_2_neg.cc: Likewise.
584 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
585 Likewise.
586
587 2013-05-09 Uros Bizjak <ubizjak@gmail.com>
588
589 * testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
590
591 2013-05-08 Jason Merrill <jason@redhat.com>
592
593 Add std::bad_array_length (N3639)
594 * libsupc++/new: Add std::bad_array_length.
595 * libsupc++/bad_array_length.cc: New.
596 * libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
597 * libsupc++/Makefile.in: Build them.
598 * config/abi/pre/gnu.ver: Add new symbols.
599 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
600
601 2013-05-08 Andi Kleen <ak@linux.intel.com>
602
603 PR target/55947
604 * libstdc++-v3/include/bits/atomic_base.h
605 (_GLIBCXX_ALWAYS_INLINE): Add new macro.
606 (atomic_thread_fence, atomic_signal_fence, test_and_set,
607 clear, store, load, exchange, compare_exchange_weak)
608 compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
609 fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
610
611 2013-05-08 Jason Merrill <jason@redhat.com>
612
613 Add std::bad_array_new_length (N2932)
614 * libsupc++/new: Add std::bad_array_new_length.
615 * libsupc++/bad_array_new.cc: New.
616 * libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
617 * libsupc++/Makefile.in: Build them.
618 * config/abi/pre/gnu.ver: Add new symbols.
619 * config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
620
621 2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
622
623 PR libstdc++/57212
624 * include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
625 to __MINGW32__.
626 * include/Makefile.in: Regenerated.
627
628 2013-05-07 François Dumont <fdumont@gcc.gnu.org>
629
630 * include/profile/unordered_base.h: New.
631 * include/Makefile.am: Add new profile header.
632 * include/Makefile.in: Regenerate.
633 * include/profile/impl/profiler.h
634 (__profcxx_inefficient_hash_is_on): New macro.
635 * include/profile/unordered_map (std::profile::unordered_map<>):
636 Use new _Unordered_profile base class. Use default implementations
637 for special functions.
638 (std::profile::unordered_multimap<>): Likewise.
639 * include/profile/unordered_set (std::profile::unordered_set<>):
640 Likewise.
641 (std::profile::unordered_multiset<>): Likewise.
642 * testsuite/23_containers/unordered_multiset/55043.cc: Fix
643 MoveOnly equality operator signature.
644
645 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
646
647 * testsuite/tr1/4_metaprogramming/integral_constant/requirements/
648 constexpr_data.cc: Move...
649 * testsuite/20_util/integral_constant/requirements/constexpr_data.cc:
650 ... here.
651 * testsuite/20_util/integral_constant/requirements/
652 explicit_instantiation.cc: New.
653 * testsuite/20_util/integral_constant/requirements/typedefs.cc:
654 Likewise.
655 * testsuite/20_util/integral_constant/static_definition.cc: Likewise.
656 * testsuite/20_util/integral_constant/true_false_type_typedefs.cc:
657 Likewise.
658 * testsuite/20_util/integral_constant/true_false_value.cc: Likewise.
659 * testsuite/20_util/integral_constant/operator_value_type.cc: Likewise.
660
661 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
662
663 * include/std/type_traits (is_null_pointer): Add.
664 (__is_nullptr_t): Implement in terms of the latter.
665 (is_fundamental, is_scalar): Adjust.
666 * testsuite/20_util/is_null_pointer/requirements/
667 explicit_instantiation.cc: New.
668 * testsuite/20_util/is_null_pointer/requirements/typedefs.cc:
669 Likewise.
670 * testsuite/20_util/is_null_pointer/value.cc: Likewise.
671 * testsuite/20_util/declval/requirements/1_neg.cc: Adjust dg-error
672 line number.
673 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
674 Likewise.
675 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
676 Likewise.
677
678 2013-05-02 Paolo Carlini <paolo.carlini@oracle.com>
679
680 * include/c_global/cstdio: Add comment about LWG 2249.
681 * include/c_std/cstdio: Likewise.
682
683 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
684
685 * include/bits/hashtable_policy.h (_Hashtable_ebo_helper): Fix
686 comment.
687 * include/std/mutex (__recursive_mutex_base): Likewise.
688
689 2013-04-28 Jonathan Wakely <jwakely.gcc@gmail.com>
690
691 PR libstdc++/51365
692 * include/bits/shared_ptr_base (_Sp_ebo_helper): Helper class to
693 implement EBO safely.
694 (_Sp_counted_base::_M_get_deleter): Add noexcept.
695 (_Sp_counter_ptr): Use noexcept instead of comments.
696 (_Sp_counted_deleter): Likewise. Use _Sp_ebo_helper.
697 (_Sp_counted_ptr_inplace): Likewise.
698 * testsuite/20_util/shared_ptr/cons/51365.cc: New.
699 * testsuite/20_util/shared_ptr/cons/52924.cc: Add rebind member to
700 custom allocator and test construction with custom allocator.
701 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error
702 line number.
703
704 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
705
706 * testsuite/23_containers/unordered_set/insert/move_range.cc: Adjust
707 dialect to -std=gnu++11.
708
709 2013-04-26 François Dumont <fdumont@gcc.gnu.org>
710
711 * include/bits/hashtable_policy.h
712 (_Insert_base<>::insert<_It>(_It, _It)): Enable move semantics.
713 * testsuite/23_containers/unordered_set/insert/move_range.cc: New.
714
715 2013-04-26 Paolo Carlini <paolo.carlini@oracle.com>
716
717 * include/c_global/cstdio (gets): Provide only in C++98 and C++11.
718 * include/c_std/cstdio (gets): Likewise.
719 * testsuite/27_io/headers/cstdio/functions_std.cc: Adjust.
720
721 2013-04-25 Paolo Carlini <paolo.carlini@oracle.com>
722
723 PR libstdc++/57065
724 * include/debug/unordered_map (unordered_map, unordered_multimap):
725 Fix default allocator type.
726 * include/profile/unordered_map (unordered_map, unordered_multimap):
727 Likewise.
728 * include/bits/unordered_map.h: Fix comments.
729
730 2013-04-24 Jonathan Wakely <jwakely.gcc@gmail.com>
731
732 PR libstdc++/56905
733 * libsupc++/exception_ptr.h (copy_exception): Deprecate and
734 move implementation to make_exception_ptr.
735 * include/std/future (_State_base::_M_break_promise): Replace
736 copy_exception with make_exception_ptr.
737 * testsuite/18_support/exception_ptr/move.cc: Likewise.
738 * testsuite/18_support/exception_ptr/rethrow_exception.cc: Likewise.
739 * testsuite/30_threads/future/members/get2.cc: Likewise.
740 * testsuite/30_threads/promise/members/set_exception.cc: Likewise.
741 * testsuite/30_threads/promise/members/set_exception2.cc: Likewise.
742 * testsuite/30_threads/promise/members/set_value2.cc: Likewise.
743 * testsuite/30_threads/shared_future/members/get2.cc: Likewise.
744
745 2013-04-22 Jason Merrill <jason@redhat.com>
746
747 * src/c++11/hashtable_c++0x.cc: Include ext/aligned_buffer.h.
748
749 * testsuite/lib/prune.exp (libstdc++-dg-prune): Also ignore "In
750 substitution" lines.
751
752 * testsuite/20_util/is_assignable/value.cc: Comment out tests involving
753 function-cv-quals.
754 * testsuite/20_util/is_constructible/value-2.cc: Likewise.
755 * testsuite/20_util/reference_wrapper/result_type.cc: Likewise.
756 * testsuite/20_util/reference_wrapper/typedefs-2.cc: Likewise.
757
758 2013-04-22 François Dumont <fdumont@gcc.gnu.org>
759
760 * include/bits/hashtable_policy.h: Add C++11 allocator support.
761 * include/bits/hashtable.h: Likewise.
762 * include/bits/unordered_set.h: Likewise.
763 * include/bits/unordered_map.h: Likewise.
764 * include/debug/unordered_set: Likewise.
765 * include/debug/unordered_map: Likewise.
766 * include/std/unordered_set: Remove bits/algobase.h
767 include. Replace bits/alloc_traits.h by ext/alloc_traits.h.
768 * include/std/unordered_map: Likewise.
769 * include/ext/throw_allocator.h: Add checks on calls to allocator
770 construct/destroy.
771 (std::hash<__gnu_cxx::throw_value_limit>): Add conditional throw.
772 (std::hash<__gnu_cxx::throw_value_random>): Likewise.
773 * testsuite/util/regression/rand/priority_queue
774 /container_rand_regression_test.tcc: Adapt.
775 * testsuite/util/regression/rand/assoc
776 /container_rand_regression_test.tcc: Likewise.
777 * testsuite/util/testsuite_counter_type.h: Add count of destructors.
778 * testsuite/23_containers/unordered_set
779 /not_default_constructible_hash_neg.cc: Adjust dg-error line number.
780 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Likewise.
781 * testsuite/23_containers/unordered_set/allocator/copy.cc: New.
782 * testsuite/23_containers/unordered_set/allocator/copy_assign.cc: New.
783 * testsuite/23_containers/unordered_set/allocator/minimal.cc: New.
784 * testsuite/23_containers/unordered_set/allocator/move_assign.cc: New.
785 * testsuite/23_containers/unordered_set/allocator/noexcept.cc: New.
786 * testsuite/23_containers/unordered_set/allocator/swap.cc: New.
787 * testsuite/23_containers/unordered_multiset/allocator/copy.cc: New.
788 * testsuite/23_containers/unordered_multiset/allocator/copy_assign.cc:
789 New.
790 * testsuite/23_containers/unordered_multiset/allocator/minimal.cc: New.
791 * testsuite/23_containers/unordered_multiset/allocator/move_assign.cc:
792 New.
793 * testsuite/23_containers/unordered_multiset/allocator/noexcept.cc: New.
794 * testsuite/23_containers/unordered_multiset/allocator/swap.cc: New.
795 * testsuite/23_containers/unordered_map/allocator/copy.cc: New.
796 * testsuite/23_containers/unordered_map/allocator/copy_assign.cc: New.
797 * testsuite/23_containers/unordered_map/allocator/minimal.cc: New.
798 * testsuite/23_containers/unordered_map/allocator/move_assign.cc: New.
799 * testsuite/23_containers/unordered_map/allocator/noexcept.cc:
800 New.
801 * testsuite/23_containers/unordered_map/allocator/swap.cc: New.
802 * testsuite/23_containers/unordered_multimap/allocator/copy.cc: New.
803 * testsuite/23_containers/unordered_multimap/allocator/copy_assign.cc:
804 New.
805 * testsuite/23_containers/unordered_multimap/allocator/minimal.cc: New.
806 * testsuite/23_containers/unordered_multimap/allocator/move_assign.cc:
807 New.
808 * testsuite/23_containers/unordered_multimap/allocator/noexcept.cc: New.
809 * testsuite/23_containers/unordered_multimap/allocator/swap.cc: New.
810
811 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
812
813 * include/std/type_traits (is_signed): Simplify.
814 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
815 Adjust dg-error line numbers.
816 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
817 Likewise.
818 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
819
820 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
821
822 N3669
823 * include/std/complex (complex<float>::real, complex<float>::imag,
824 complex<double>::real, complex<double>::imag,
825 complex<long double>::real, complex<long double>::imag): Declare
826 as const member functions.
827 * include/std/type_traits (integral_constant<>::operator value_type):
828 Likewise.
829
830 2013-04-22 Paolo Carlini <paolo.carlini@oracle.com>
831
832 PR libstdc++/57010
833 * include/bits/stl_heap.h (pop_heap): Avoid self move-assignment.
834 * testsuite/25_algorithms/pop_heap/57010.cc: New.
835
836 2013-04-21 Evgeniy Stepanov <eugenis@google.com>
837
838 * src/c++11/system_error.cc (generic_category_instance): Add
839 initializer.
840 (system_category_instance): Likewise.
841 * src/c++11/future.cc (__fec): Likewise.
842
843 2013-04-20 Jonathan Wakely <jwakely.gcc@gmail.com>
844
845 * doc/xml/manual/extensions.xml: Fix anachronism.
846
847 2013-04-09 Tom Tromey <tromey@redhat.com>
848
849 * configure, config.h.in: Rebuild.
850 * configure.ac: Use GLIBCXX_CHECK_SDT_H. Don't check for
851 sys/sdt.h.
852 * acinclude.m4 (GLIBCXX_CHECK_SDT_H): New defun.
853
854 2013-04-09 Uros Bizjak <ubizjak@gmail.com>
855
856 * config/abi/post/alpha-linux-gnu/baseline_symbols.txt: Update.
857
858 2013-04-08 Paolo Carlini <paolo.carlini@oracle.com>
859
860 * testsuite/libstdc++-prettyprinters/cxx11.cc: Include <memory>.
861
862 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
863
864 * include/Makefile.am: Add ext/aligned_buffer.h
865 * include/Makefile.in: Regenerate.
866 * include/ext/aligned_buffer.h: New.
867 * include/std/future (_Result): Use __aligned_buffer.
868 * include/bits/forward_list.h (_Fwd_list_node): Likewise.
869 * include/bits/shared_ptr_base.h (_Sp_counted_ptr_inplace): Likewise.
870 * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error line
871 number.
872
873 2013-04-07 Jonathan Wakely <jwakely.gcc@gmail.com>
874
875 * include/bits/forward_list.h: Only include required headers.
876 (forward_list::reference): Define directly, not using __alloc_traits.
877 (forward_list::const_reference): Likewise.
878
879 2013-04-07 François Dumont <fdumont@gcc.gnu.org>
880
881 * include/std/functional (_Derives_from_unary_function): Remove.
882 (_Derives_from_binary_function): Remove.
883 * include/std/type_traits (__sfinae_types): Remove.
884 (__is_assignable_helper): Adapt.
885 (__is_convertible_helper): Adapt.
886 (_GLIBCXX_HAS_NESTED_TYPE): Adapt.
887 Remove several explicit instantiations of integral_constant.
888 * testsuite/20_util/reference_wrapper/typedefs-3.cc: Adapt.
889 * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
890 Adapt dg-error line number.
891 * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
892 Likewise.
893 * testsuite/20_util/declval/requirements/1_neg.cc: Likewise.
894 * testsuite/20_util/bind/ref_neg.cc: Likewise.
895
896 2013-04-05 Jonathan Wakely <jwakely.gcc@gmail.com>
897
898 PR libstdc++/56841
899 * libsupc++/eh_ptr.cc (rethrow_exception): Use get_unexpected() and
900 get_terminate() accessors.
901 * libsupc++/eh_throw.cc (__cxa_throw): Likewise.
902 * libsupc++/eh_terminate.cc: Use mutex when atomic builtins not
903 available.
904 * libsupc++/new_handler.cc: Likewise.
905
906 2013-04-04 Jonathan Wakely <jwakely.gcc@gmail.com>
907
908 * testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.19 version.
909
910 2013-04-03 Paolo Carlini <paolo.carlini@oracle.com>
911
912 PR libstdc++/56834
913 * include/debug/array (tuple_size, tuple_element): Do not declare.
914 * include/profile/array: Likewise.
915 * testsuite/23_containers/array/tuple_interface/
916 tuple_element_debug_neg.cc: Adjust dg-error line number.
917
918 2013-04-03 Jonathan Wakely <jwakely.gcc@gmail.com>
919
920 * libsupc++/exception (get_terminate(), get_unexpected()): Declare.
921 * libsupc++/eh_terminate.cc (get_terminate() , set_unexpected()):
922 Define.
923 (set_terminate(terminate_handler)): Set atomically.
924 (set_unexpected(terminate_handler)): Likewise.
925 * libsupc++/new (get_new_handler()): Declare.
926 * libsupc++/new_handler.cc (get_new_handler()): Define.
927 (set_new_handler(new_handler)): Set atomically.
928 (__new_handler): Use internal linkage.
929 * libsupc++/new_op.cc (operator new): Use get_new_handler().
930 * libsupc++/new_opnt.cc (operator new): Likewise.
931 * acinclude.m4: Bump libtool_VERSION to 6:19:0.
932 * configure: Regenerate.
933 * libsupc++/Makefile.am: Compile above files with -std=gnu++11.
934 * libsupc++/Makefile.in: Regenerate.
935 * config/abi/pre/gnu.ver: Add new exports.
936 * doc/xml/manual/status_cxx2011.xml: Update.
937 * testsuite/18_support/headers/exception/synopsis.cc: Check accessors
938 for handlers.
939 * testsuite/18_support/headers/new/synopsis.cc: Likewise.
940 * testsuite/18_support/new_handler.cc: New.
941 * testsuite/18_support/terminate_handler.cc: New.
942 * testsuite/18_support/unexpected_handler.cc: New.
943
944 2013-04-02 Jonathan Wakely <jwakely.gcc@gmail.com>
945
946 * doc/xml/manual/appendix_contributing.xml: Remove broken link and
947 defer to general documentation on contributing to GCC.
948 * doc/html/*: Regenerate.
949
950 2013-03-30 Gerald Pfeifer <gerald@pfeifer.com>
951
952 * doc/xml/manual/allocator.xml: Adjust link to Dr.Dobb's article.
953
954 * doc/xml/manual/appendix_contributing.xml: Adjust link to GNU
955 Coding Standards.
956
957 * doc/xml/manual/debug.xml: Adjust link for ThreadSanitizer.
958
959 * doc/xml/manual/debug_mode.xml: Adjust link for SafeSTL.
960
961 * doc/xml/manual/documentation_hacking.xml: Adjust Doxygen link.
962
963 * doc/xml/manual/messages.xml: Adjust link to Java API specs.
964
965 * doc/xml/manual/policy_data_structures: Remove direct link to
966 IBM Haifa Research Labs.
967
968 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
969 for biblio.maverik_lowerbounds and biblio.nelson96stlpq.
970
971 * doc/xml/manual/profile_mode.xml: Adjust two links to acm.org
972 papers.
973
974 * doc/xml/manual/shared_ptr.xml: Use canonical address for
975 www.boost.org.
976
977 2013-03-27 Kai Tietz <ktietz@redhat.com>
978
979 * crossconfig.m4: Add support for cygwin x64 target.
980 * configure: Regenerated.
981
982 2013-03-25 Kai Tietz <ktietz@redhat.com>
983
984 * testsuite/18_support/50594.cc: For mingw-targets use only static
985 libstdc++-version.
986 * testsuite/19_diagnostics/error_category/operators/equal.cc
987 * testsuite/19_diagnostics/error_code/cons/1.cc
988 * testsuite/19_diagnostics/error_code/operators/bool.cc
989 * testsuite/19_diagnostics/error_code/operators/equal.cc
990 * testsuite/19_diagnostics/error_code/operators/not_equal.cc
991 * testsuite/19_diagnostics/error_condition/cons/1.cc
992 * testsuite/19_diagnostics/error_condition/operators/bool.cc
993 * testsuite/19_diagnostics/error_condition/operators/equal.cc
994 * testsuite/19_diagnostics/error_condition/operators/not_equal.cc
995 * testsuite/23_containers/set/requirements/exception/basic.cc
996 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc
997 * testsuite/lib/dg-options.exp (dg-additional-options): New option.
998
999 2013-03-24 Jonathan Wakely <jwakely.gcc@gmail.com>
1000
1001 PR libstdc++/56170
1002 * include/ext/debug_allocator.h (debug_allocator): Add missing members
1003 to meet allocator requirements.
1004 * testsuite/ext/debug_allocator/56170.cc: New.
1005
1006 2013-03-22 Paolo Carlini <paolo.carlini@oracle.com>
1007
1008 PR libstdc++/56678
1009 * include/std/chrono (__is_ratio): Uglify T.
1010
1011 2013-03-18 Paolo Carlini <paolo.carlini@oracle.com>
1012
1013 PR libstdc++/55977 (partial, std::vector and std::deque bits)
1014 * include/bits/stl_vector.h (_M_range_initialize(_InputIterator,
1015 _InputIterator, std::input_iterator_tag)): Use emplace_back.
1016 * include/bits/deque.tcc (_M_range_initialize(_InputIterator,
1017 _InputIterator, std::input_iterator_tag)): Likewise.
1018 * testsuite/23_containers/vector/cons/55977.cc: New.
1019 * testsuite/23_containers/deque/cons/55977.cc: Likewise.
1020 * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc:
1021 Adjust dg-error line number.
1022 * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc:
1023 Likewise.
1024
1025 2013-03-17 Paolo Carlini <paolo.carlini@oracle.com>
1026
1027 PR libstdc++/55979
1028 * include/bits/stl_list.h (_M_initialize_dispatch(_InputIterator,
1029 _InputIterator, __false_type)): Use emplace_back.
1030 * testsuite/23_containers/list/cons/55979.cc: New.
1031 * testsuite/23_containers/list/modifiers/1.h: Adjust.
1032 * testsuite/23_containers/list/requirements/dr438/assign_neg.cc:
1033 Adjust dg-error line number.
1034
1035 2013-03-16 Jason Merrill <jason@redhat.com>
1036
1037 PR c++/55017
1038 * testsuite/20_util/pair/piecewise2.cc (test01): Use std::move.
1039
1040 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1041
1042 PR libstdc++/56468
1043 * libsupc++/exception_ptr.h (type_info): Declare.
1044
1045 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1046
1047 PR libstdc++/56002
1048 * include/std/mutex (lock_guard, unique_lock, lock): Define without
1049 depending on _GLIBCXX_HAS_GTHREADS.
1050 * testsuite/30_threads/lock_guard/cons/1.cc: Run on all targets.
1051
1052 2013-03-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1053
1054 PR libstdc++/56492
1055 * include/std/future (__future_base::_Result): Add result_type
1056 typedef.
1057 (__future_base::_S_allocate_result): Overload for std::allocator.
1058 (__future_base::_Task_setter): Use _Result::result_type instead of
1059 deducing the type from the task.
1060 (__future_base::_Task_state): Store allocator to allow shared state
1061 to be reset. Replace std::function with member of target object type
1062 accessed via ...
1063 (__future_base::_Task_state_base): New abstract base class.
1064 (__future_base::_Task_state_base::_M_run): New virtual function to
1065 invoke type-erased target object.
1066 (__future_base::_Task_state_base::_M_reset): New virtual function to
1067 create new shared_state using same target object and allocator.
1068 (__future_base::__create_task_state): Allocate a new _Task_state.
1069 (packaged_task::packaged_task): Use __create_task_state.
1070 (packaged_task::reset): Use _Task_state_base::_M_reset.
1071 * testsuite/30_threads/packaged_task/cons/56492.cc: New.
1072
1073 2013-03-15 Tom Tromey <tromey@redhat.com>
1074
1075 * libsupc++/unwind-cxx.h: Include sys/sdt.h if detected.
1076 (PROBE2): New macro.
1077 * libsupc++/eh_throw.cc (__cxa_throw, __cxa_rethrow): Add probe.
1078 * libsupc++/eh_catch.cc (__cxa_begin_catch): Add probe.
1079 * configure.ac: Check for sys/sdt.h.
1080 * configure, config.h.in: Rebuild.
1081
1082 2013-03-14 Jonathan Wakely <jwakely.gcc@gmail.com>
1083
1084 PR libstdc++/56613
1085 * include/bits/stl_tree.h (_Rb_tree::_M_create_node): Use
1086 allocator_traits instead of calling construct directly.
1087 * testsuite/23_containers/map/56613.cc: New.
1088
1089 2013-03-13 Benjamin Kosnik <bkoz@redhat.com>
1090
1091 * doc/html/*: Regenerate.
1092
1093 2013-03-13 Paolo Carlini <paolo.carlini@oracle.com>
1094
1095 PR libstdc++/56609
1096 * include/std/type_traits (is_fundamental): Add std::nullptr_t.
1097 * testsuite/20_util/is_fundamental/value.cc: Extend.
1098 * testsuite/20_util/is_compound/value.cc: Likewise.
1099
1100 2013-03-09 Paolo Carlini <paolo.carlini@oracle.com>
1101
1102 * testsuite/20_util/function_objects/mem_fn/55463.cc: Avoid
1103 -Wunused warnings.
1104
1105 2013-03-08 Benjamin Kosnik <bkoz@redhat.com>
1106
1107 * include/bits/memoryfwd.h: New. Centralize forward declarations.
1108 * include/bits/algorithmfwd.h: Consistent comments.
1109 * include/bits/localefwd.h: Same.
1110 * include/ext/vstring_fwd.h: Same.
1111 * include/parallel/algorithmfwd.h: Same.
1112 * include/parallel/numericfwd.h: Same.
1113 * include/std/iosfwd: Same.
1114
1115 * include/bits/alloc_traits.h: Include memoryfwd.h, remove allocator
1116 forward decl.
1117 * include/ext/alloc_traits.h: Remove allocator forward decl.
1118 * include/bits/stl_construct.h: Same.
1119 * include/bits/stringfwd.h: Include memoryfwd.h, remove allocator
1120 forward decl. Consistent comments.
1121
1122 * doc/doxygen/user.cfg.in (TEMPLATE_RELATIONS): To NO.
1123
1124 * include/Makefile.am (bits_headers): Add memoryfwd.h.
1125 * include/Makefile.in: Regenerate.
1126 * configure: Same.
1127
1128 2013-03-08 François Dumont <fdumont@gcc.gnu.org>
1129
1130 * include/bits/vector.tcc (vector<>operator=(const vector<>&):
1131 Reset pointers after deallocation when memory can be reused.
1132 * testsuite/23_containers/vector/allocator/minimal.cc: Insert
1133 elements to really challenge C++11 allocator integration.
1134 * testsuite/23_containers/vector/allocator/copy.cc: Likewise.
1135 * testsuite/23_containers/vector/allocator/copy_assign.cc:
1136 Likewise.
1137 * testsuite/23_containers/vector/allocator/move_assign.cc:
1138 Likewise.
1139 * testsuite/23_containers/vector/allocator/swap.cc: Likewise and
1140 swap vector back before checks on memory/personality mapping are
1141 performed.
1142 * testsuite/23_containers/forward_list/allocator/minimal.cc:
1143 Insert element to really challenge C++11 allocator integration.
1144 * testsuite/23_containers/forward_list/allocator/copy.cc:
1145 Likewise.
1146 * testsuite/23_containers/forward_list/allocator/copy_assign.cc:
1147 Likewise.
1148 * testsuite/23_containers/forward_list/allocator/move_assign.cc:
1149 Likewise.
1150 * testsuite/23_containers/forward_list/allocator/swap.cc: Likewise
1151 and swap forward_list back before checks on memory/personality
1152 mapping are performed.
1153
1154 2013-03-07 Jakub Jelinek <jakub@redhat.com>
1155
1156 * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
1157 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
1158 * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
1159 Likewise.
1160 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
1161 * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
1162 * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
1163 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
1164 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
1165 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
1166
1167 2013-03-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1168
1169 * scripts/extract_symvers.pl: Omit symbols bound to base
1170 versions.
1171 * scripts/extract_symvers.in: Likewise.
1172 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1173 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1174 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1175 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1176 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1177
1178 2013-03-04 Ulrich Drepper <drepper@gmail.com>
1179
1180 * include/ext/random (__gnu_cxx::von_mises_distribution<>):
1181 Optimize generation function by pulling computation of __r into the
1182 constructor for param_type. Also compare _M_mu in operator==.
1183 Fix comment.
1184
1185 2013-03-02 Ulrich Drepper <drepper@gmail.com>
1186
1187 Add triangular and von Mises distributions.
1188 * include/ext/random: Include <ext/cmath>.
1189 Add __gnu_cxx::triangular_distribution<> and
1190 __gnu_cxx::von_mises_distribution<> classes.
1191 * include/ext/random.tcc: Add out-of-line functions for
1192 __gnu_cxx::triangular_distribution<> and
1193 __gnu_cxx::von_mises_distribution<>.
1194 * testsuite/ext/triangular_distribution/cons/default.cc: New file.
1195 * testsuite/ext/triangular_distribution/cons/parms.cc: New file.
1196 * testsuite/ext/triangular_distribution/operators/serialize.cc:
1197 New file.
1198 * testsuite/ext/triangular_distribution/operators/equal.cc:
1199 New file.
1200 * testsuite/ext/triangular_distribution/operators/inequal.cc:
1201 New file.
1202 * testsuite/ext/triangular_distribution/requirements/typedefs.cc:
1203 New file.
1204 * testsuite/ext/triangular_distribution/requirements/
1205 explicit_instantiation/1.cc: New file.
1206 * testsuite/ext/von_mises_distribution/cons/default.cc: New file.
1207 * testsuite/ext/von_mises_distribution/cons/parms.cc: New file.
1208 * testsuite/ext/von_mises_distribution/operators/serialize.cc:
1209 New file.
1210 * testsuite/ext/von_mises_distribution/operators/equal.cc: New file.
1211 * testsuite/ext/von_mises_distribution/operators/inequal.cc:
1212 New file.
1213 * testsuite/ext/von_mises_distribution/requirements/typedefs.cc:
1214 New file.
1215 * testsuite/ext/von_mises_distribution/requirements/
1216 explicit_instantiation/1.cc: New file.
1217
1218 Add math constants.
1219 * include/Makefile.am (ext_headers): Add cmath.
1220 * include/Makefile.in: Regenerated.
1221 * include/ext/cmath: New file.
1222
1223 2013-03-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1224
1225 * config/abi/post/solaris2.9/baseline_symbols.txt: Regenerate.
1226 * config/abi/post/solaris2.9/sparcv9/baseline_symbols.txt: Likewise.
1227 * config/abi/post/solaris2.10/baseline_symbols.txt: Likewise.
1228 * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
1229 * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
1230
1231 2013-02-26 Jonathan Wakely <jwakely.gcc@gmail.com>
1232
1233 PR libstdc++/56012
1234 * include/bits/atomic_base.h (atomic_flag): Fix narrowing conversion.
1235 * testsuite/29_atomics/atomic/operators/56012.cc: New.
1236
1237 PR libstdc++/56011
1238 * include/std/atomic (atomic<bool>::operator=(bool) volatile): Add
1239 missing overload.
1240 * testsuite/29_atomics/atomic/operators/56011.cc: New.
1241
1242 2013-02-25 Jason Merrill <jason@redhat.com>
1243
1244 * configure.ac: Check for __cxa_thread_atexit_impl.
1245 * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Just forward
1246 to it if available.
1247 * config.h.in, configure: Regenerate.
1248
1249 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
1250
1251 * include/std/streambuf (basic_streambuf): Use injected class name
1252 instead of non-standard __streambuf_type typedef. Fix unclosed Doxygen
1253 group.
1254
1255 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
1256
1257 * doc/html/faq.html: Fix spelling.
1258 * doc/xml/faq.xml: Likewise.
1259 * include/bits/basic_ios.h: Likewise.
1260 * include/bits/regex.h: Likewise.
1261 * include/std/istream: Likewise.
1262 * include/std/streambuf: Likewise.
1263
1264 2013-02-20 Jonathan Wakely <jwakely.gcc@gmail.com>
1265
1266 * testsuite/23_containers/unordered_set/55043.cc: Add missing
1267 namespace qualification.
1268 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1269
1270 2013-02-19 Benjamin Kosnik <bkoz@redhat.com>
1271
1272 * doc/doxygen/user.cfg.in: Set __cplusplus to 201103L. Change to
1273 _GLIBCXX_INCLUDE_AS_CXX11. DIRECTORY_GRAPH, MARKDOWN_SUPPORT,
1274 AUTOLINK_SUPPORT to NO. Update to doxygen 1.8.3.1.
1275 * include/bits/stl_pair.h: Add to utilities group.
1276 * include/std/tuple: Same.
1277 * include/std/typeindex: Same.
1278
1279 * include/bits/stringfwd.h: Fix markup.
1280 * include/std/limits: Same.
1281 * include/std/type_traits: Same.
1282 * include/tr1/memory: Same.
1283 * include/tr1/regex: Same.
1284 * scripts/run_doxygen: Comment.
1285 * testsuite/20_util/uses_allocator/cons_neg.cc: Fixup line numbers.
1286
1287 2013-02-14 Jason Merrill <jason@redhat.com>
1288
1289 * testsuite/18_support/quick_exit/quick_exit.cc: #if out the whole
1290 test if unsupported.
1291
1292 2013-02-13 Marc Glisse <marc.glisse@inria.fr>
1293
1294 PR libstdc++/56111
1295 * include/std/complex (complex): Undefine.
1296 * include/c_compatibility/complex.h (complex): Only undefine if
1297 <complex> has been included.
1298 * testsuite/26_numerics/complex/56111.cc: New testcase.
1299
1300 2013-02-13 François Dumont <fdumont@gcc.gnu.org>
1301
1302 * include/bits/hashtable_policy.h (_Hash_code_base): Restore
1303 default constructor protected.
1304 * include/bits/hashtable.h: static assert that _Hash_code_base has
1305 a default constructor available through inheritance.
1306
1307 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
1308
1309 * include/c_std/cstdlib (at_quick_exit, quick_exit): Provide in
1310 C++11 mode.
1311
1312 2013-02-12 Julian Brown <julian@codesourcery.com>
1313
1314 * testsuite/22_locale/time_get/get_weekday/char/38081-1.cc (test01):
1315 Don't expect dots after abbreviated weekday names for ru_RU for
1316 glibc versions >= 2.17.
1317 * testsuite/22_locale/time_get/get_weekday/char/38081-2.cc (test01):
1318 Likewise.
1319
1320 2013-02-12 Paolo Carlini <paolo.carlini@oracle.com>
1321
1322 * include/bits/random.tcc (__transform): Remove.
1323 (__normalize): Add.
1324 (discrete_distribution<>::param_type::_M_initialize): Adjust.
1325 (piecewise_constant_distribution<>::param_type::_M_initialize):
1326 Likewise.
1327 (piecewise_linear_distribution<>::param_type::_M_initialize):
1328 Likewise.
1329
1330 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
1331
1332 * src/c++11/Makefile.am (hashtable_c++0x.lo, hashtable_c++0x.o):
1333 Use -fimplicit-templates.
1334 * src/c++11/Makefile.in: Regenerate.
1335 * src/c++11/hashtable_c++0x.cc: Remove instantiation for
1336 std::lower_bound template.
1337
1338 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
1339
1340 * include/c_std/cstdlib (at_quick_exit, quick_exit): Do not declare.
1341 * include/c_global/cstdlib (at_quick_exit, quick_exit): Declare only
1342 in C++11 mode and if available in the underlying C library.
1343 * testsuite/18_support/quick_exit/quick_exit.cc: Compile with
1344 -std=gnu++11; check _GLIBCXX_HAVE_AT_QUICK_EXIT and
1345 _GLIBCXX_HAVE_QUICK_EXIT.
1346
1347 2013-02-11 Benjamin Kosnik <bkoz@redhat.com>
1348
1349 * doc/html/*: Regenerate.
1350
1351 2013-02-11 Jason Merrill <jason@redhat.com>
1352
1353 * linkage.m4 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE): New.
1354 (GLIBCXX_CHECK_STDLIB_SUPPORT): Check for atexit and at_quick_exit.
1355 * config.h.in, configure: Regenerate.
1356 * include/c_std/cstdlib: Add atexit and at_quick_exit.
1357 * include/c_global/cstdlib: Add atexit and at_quick_exit.
1358 * testsuite/18_support/quick_exit/quick_exit.cc: New.
1359
1360 2013-02-11 Paolo Carlini <paolo.carlini@oracle.com>
1361
1362 PR libstdc++/56282
1363 Revert:
1364 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1365
1366 PR libstdc++/56193
1367 * include/bits/basic_ios.h: Replace operator void*() const
1368 with explicit operator bool() const in C++11 and greater.
1369 * testsuite/27_io/basic_ios/pr56193.cc: New file.
1370
1371 2013-02-10 François Dumont <fdumont@gcc.gnu.org>
1372 Jonathan Wakely <jwakely.gcc@gmail.com>
1373
1374 * doc/xml/manual/containers.xml: Add section on unordered containers.
1375 * doc/xml/manual/using.xml: Fix incomplete sentence.
1376
1377 2013-02-10 Jonathan Wakely <jwakely.gcc@gmail.com>
1378
1379 PR libstdc++/56267
1380 * include/bits/hashtable.h (__cache_default): Check if hash function
1381 is copy assignable.
1382 * testsuite/23_containers/unordered_set/56267.cc: New.
1383 * testsuite/23_containers/unordered_set/instantiation_neg.cc: Adjust
1384 dg-error line number.
1385 * testsuite/23_containers/unordered_set/
1386 not_default_constructible_hash_neg.cc: Likewise.
1387
1388 PR libstdc++/56278
1389 * include/bits/hashtable_policy.h (_Hash_code_base): Make default
1390 constructor public.
1391 * testsuite/23_containers/unordered_set/56278.cc: New.
1392
1393 2013-02-09 François Dumont <fdumont@gcc.gnu.org>
1394
1395 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series): Code
1396 simplification.
1397
1398 2013-02-08 Edward Smith-Rowland <3dw4rd@verizon.net>
1399
1400 PR libstdc++/56216
1401 * include/tr1/special_function_util.h: Remove spurious const
1402 from numeric arguments.
1403 * include/tr1/riemann_zeta.tcc: Likewise.
1404 * include/tr1/exp_integral.tcc: Likewise.
1405 * include/tr1/bessel_function.tcc: Likewise.
1406 * include/tr1/hypergeometric.tcc: Likewise.
1407 * include/tr1/modified_bessel_func.tcc: Likewise.
1408 * include/tr1/poly_laguerre.tcc: Likewise.
1409 * include/tr1/gamma.tcc: Likewise.
1410 * include/tr1/legendre_function.tcc: Likewise.
1411 * include/tr1/poly_hermite.tcc: Likewise.
1412 * include/tr1/ell_integral.tcc: Likewise.
1413 * include/tr1/bessel_function.tcc (__cyl_bessel_ij_series):
1414 If argument is zero return function value.
1415 * testsuite/tr1/5_numerical_facilities/special_functions/
1416 08_cyl_bessel_i/pr56216.cc: New.
1417
1418 2013-02-07 Paolo Carlini <paolo.carlini@oracle.com>
1419
1420 * testsuite/27_io/basic_ios/pr56193.cc: Tweak.
1421
1422 2013-02-06 Edward Smith-Rowland <3dw4rd@verizon.net>
1423
1424 PR libstdc++/56193
1425 * include/bits/basic_ios.h: Replace operator void*() const
1426 with explicit operator bool() const in C++11 and greater.
1427 * testsuite/27_io/basic_ios/pr56193.cc: New file.
1428
1429 2013-02-04 Dodji Seketeli <dodji@redhat.com>
1430
1431 Add missing explicit instantiation for std::lower_bound template
1432 * libstdc++-v3/src/c++11/hashtable_c++0x.cc (namespace std): Add
1433 missing instantiation for std::lower_bound template.
1434
1435 2013-02-04 François Dumont <fdumont@gcc.gnu.org>
1436
1437 * include/bits/functional_hash.h (std::__is_fast_hash<>): New.
1438 * include/bits/basic_string.h: Specialize previous to mark
1439 std::hash for string types as slow.
1440 * include/bits/hashtable.h (__cache_default): Replace is_integral
1441 with __is_fast_hash.
1442 * src/c++11/hash_c++0x.cc: Add type_traits include.
1443 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1444 Adapt dg-error line number.
1445 * testsuite/23_containers/unordered_set/
1446 not_default_constructible_hash_neg.cc: Likewise.
1447
1448 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1449 Paolo Carlini <paolo.carlini@oracle.com>
1450
1451 PR libstdc++/56202 (again)
1452 * include/bits/random.tcc (binomial_distribution<>::
1453 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Fix thinko
1454 in previous commit.
1455
1456 * include/bits/random.h: Fix comment typo.
1457
1458 2013-02-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
1459 Paolo Carlini <paolo.carlini@oracle.com>
1460
1461 PR libstdc++/56202
1462 * include/bits/random.tcc (binomial_distribution<>::
1463 _M_waiting(_UniformRandomNumberGenerator&, _IntType)): Avoid
1464 division by zero.
1465
1466 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1467
1468 Update copyright years.
1469 * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc,
1470 testsuite/23_containers/deque/requirements/dr438/constructor_1_neg.cc,
1471 testsuite/23_containers/deque/requirements/dr438/constructor_2_neg.cc,
1472 testsuite/23_containers/deque/requirements/dr438/insert_neg.cc,
1473 testsuite/23_containers/list/requirements/dr438/assign_neg.cc,
1474 testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc,
1475 testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc,
1476 testsuite/23_containers/list/requirements/dr438/insert_neg.cc,
1477 testsuite/23_containers/vector/requirements/dr438/assign_neg.cc,
1478 testsuite/23_containers/vector/requirements/dr438/constructor_1_neg.cc,
1479 testsuite/23_containers/vector/requirements/dr438/constructor_2_neg.cc,
1480 testsuite/23_containers/vector/requirements/dr438/insert_neg.cc,
1481 testsuite/29_atomics/atomic/cons/assign_neg.cc,
1482 testsuite/29_atomics/atomic/cons/copy_neg.cc,
1483 testsuite/29_atomics/atomic_integral/cons/assign_neg.cc,
1484 testsuite/29_atomics/atomic_integral/cons/copy_neg.cc,
1485 testsuite/29_atomics/atomic_integral/operators/bitwise_neg.cc,
1486 testsuite/29_atomics/atomic_integral/operators/decrement_neg.cc,
1487 testsuite/29_atomics/atomic_integral/operators/increment_neg.cc:
1488 Update lines in dg error matches.
1489
1490 2013-02-03 Richard Sandiford <rdsandiford@googlemail.com>
1491
1492 * config/os/mingw32/ctype_inline.h: Fix copyright typo.
1493
1494 2013-02-01 François Dumont <fdumont@gcc.gnu.org>
1495
1496 * include/bits/hashtable_policy.h
1497 (_Prime_rehash_policy::_M_next_bkt)
1498 (_Prime_rehash_policy::_M_need_rehash): Move definition...
1499 * src/c++11/hashtable_c++0x.cc: ... here.
1500 * src/shared/hashtable-aux.cc: Remove c++config.h include.
1501 * config/abi/gnu.ver (GLIBCXX_3.4.18): Export _Prime_rehash_policy
1502 symbols.
1503
1504 2013-01-29 Jason Merrill <jason@redhat.com>
1505
1506 PR libstdc++/54314
1507 * config/abi/pre/gnu.ver: Don't export construction vtables.
1508 * config/abi/pre/gnu-versioned-namespace.ver: Likewise.
1509
1510 2013-01-28 Jonathan Wakely <jwakely.gcc@gmail.com>
1511
1512 PR libstdc++/56112
1513 * include/bits/hashtable_policy.h (insert(_Pair&&)): Use _M_emplace
1514 to construct value_type explicitly before trying to extract the key.
1515 * testsuite/23_containers/unordered_map/cons/56112.cc: New.
1516
1517 2013-01-28 François Dumont <fdumont@gcc.gnu.org>
1518
1519 * include/bits/hashtable_policy.h (_Local_iterator_base): Use
1520 _Hashtable_ebo_helper to embed functors into the local_iterator
1521 when necessary. Pass information about functors involved in hash
1522 code by copy.
1523 * include/bits/hashtable.h (__cache_default): Do not cache for
1524 builtin integral types unless the hash functor is not noexcept
1525 qualified or is not default constructible. Adapt static assertions
1526 and local iterator instantiations.
1527 * include/debug/unordered_set
1528 (std::__debug::unordered_set<>::erase): Detect local iterators to
1529 invalidate using contained node rather than generating a dummy
1530 local_iterator instance.
1531 (std::__debug::unordered_multiset<>::erase): Likewise.
1532 * include/debug/unordered_map
1533 (std::__debug::unordered_map<>::erase): Likewise.
1534 (std::__debug::unordered_multimap<>::erase): Likewise.
1535 * testsuite/performance/23_containers/insert_erase/41975.cc: Test
1536 std::tr1 and std versions of unordered_set regardless of any
1537 macro. Add test on default cache behavior.
1538 * testsuite/performance/23_containers/insert/54075.cc: Likewise.
1539 * testsuite/23_containers/unordered_set/instantiation_neg.cc:
1540 Adapt line number.
1541 * testsuite/23_containers/unordered_set/
1542 not_default_constructible_hash_neg.cc: New.
1543 * testsuite/23_containers/unordered_set/buckets/swap.cc: New.
1544
1545 2013-01-24 Paolo Carlini <paolo.carlini@oracle.com>
1546
1547 PR libstdc++/56085
1548 * include/std/complex (pow(const complex<>&, int)): Avoid __n
1549 signed overflow.
1550
1551 2013-01-22 Jakub Jelinek <jakub@redhat.com>
1552
1553 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1554 Tightten scan-assembler-times regexps, add dg-additional-options for
1555 ia32, add -g0 -fno-exceptions -fno-asynchronous-unwind-tables to
1556 dg-options.
1557
1558 2013-01-12 Andi Kleen <ak@linux.intel.com>
1559 Jonathan Wakely <jwakely.gcc@gmail.com>
1560
1561 PR libstdc++/55233
1562 * include/bits/atomic_base.h (__memory_order_modifier): Add
1563 __memory_order_mask, __memory_order_modifier_mask,
1564 __memory_order_hle_acquire, __memory_order_hle_release.
1565 (operator|,operator&): Add.
1566 (__cmpexch_failure_order): Rename to __cmpexch_failure_order2.
1567 (__cmpexch_failure_order): Add.
1568 (clear, store, load, compare_exchange_weak, compare_exchange_strong):
1569 Handle flags.
1570 * testsuite/29_atomics/atomic_flag/test_and_set/explicit-hle.cc:
1571 Add.
1572
1573 2013-01-19 Jonathan Wakely <jwakely.gcc@gmail.com>
1574
1575 PR libstdc++/55861
1576 * include/std/future (_State_base::_S_check(const shared_ptr<T>&)):
1577 Fix return type.
1578 (__basic_future::_M_get_result()): Const qualify.
1579 (shared_future::get()): Likewise.
1580 * testsuite/30_threads/shared_future/members/get.cc: Use const
1581 objects.
1582
1583 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1584
1585 PR libstdc++/55043 (again)
1586 * include/bits/alloc_traits.h (allocator_traits::construct): Disable
1587 unless construction would be well-formed.
1588 (__allow_copy_cons, __check_copy_constructible): Define.
1589 * include/bits/unordered_map.h (__check_copy_constructible): Use as
1590 base class so copy constructor will be deleted if appropriate.
1591 (is_copy_constructible): Remove specialization.
1592 * include/bits/unordered_set.h: Likewise.
1593 * include/debug/unordered_map.h: Undo previous commit. Default copy
1594 and move constructors.
1595 * include/debug/unordered_set.h: Likewise.
1596 * include/profile/unordered_map.h: Undo previous commit.
1597 * include/profile/unordered_set.h: Likewise.
1598 * testsuite/23_containers/unordered_map/55043.cc: Fix test.
1599 * testsuite/23_containers/unordered_multimap/55043.cc: Likewise.
1600 * testsuite/23_containers/unordered_multiset/55043.cc: Likewise.
1601 * testsuite/23_containers/unordered_set/55043.cc: Likewise.
1602 * testsuite/23_containers/unordered_map/requirements/53339.cc: XFAIL,
1603 cannot support incomplete types.
1604 * testsuite/23_containers/unordered_multimap/requirements/53339.cc:
1605 Likewise.
1606
1607 2013-01-16 Jonathan Wakely <jwakely.gcc@gmail.com>
1608
1609 PR libstdc++/55043
1610 * include/std/unordered_map: Include alloc_traits.h
1611 * include/std/unordered_set: Likewise.
1612 * include/bits/alloc_traits.h: Define __is_copy_insertable.
1613 * include/bits/unordered_map.h: Use it.
1614 * include/bits/unordered_set.h: Likewise.
1615 * include/debug/unordered_map.h: Likewise.
1616 * include/debug/unordered_set.h: Likewise.
1617 * include/profile/unordered_map.h: Likewise.
1618 * include/profile/unordered_set.h: Likewise.
1619 * include/bits/hashtable.h: Fix comment typos.
1620 * testsuite/23_containers/unordered_map/55043.cc: New.
1621 * testsuite/23_containers/unordered_multimap/55043.cc: New.
1622 * testsuite/23_containers/unordered_multiset/55043.cc: New.
1623 * testsuite/23_containers/unordered_set/55043.cc: New.
1624
1625 2013-01-03 Janis Johnson <janisjo@codesourcery.com>
1626
1627 * testsuite/lib/gdb-test.exp (gdb_batch_check): Catch error running
1628 gdb command.
1629
1630 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1631
1632 * doc/xml/manual/status_cxx2011.xml: Document that N3189 is missing.
1633
1634 2013-01-08 Jonathan Wakely <jwakely.gcc@gmail.com>
1635
1636 PR libstdc++/55908
1637 * include/std/functional (_Mem_fn::operator()): Fix constraints to
1638 avoid ambiguity.
1639 * testsuite/20_util/function_objects/mem_fn/55908.cc: New.
1640 * testsuite/20_util/bind/ref_neg.cc: Adjust dg-error line numbers.
1641
1642 2013-01-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1643
1644 PR libstdc++/55594
1645 * acinclude.m4 (GLIBCXX_CHECK_ASSEMBLER_HWCAP): Restrict test to
1646 Solaris targets.
1647 * configure: Regenerate.
1648
1649 2013-01-07 Jonathan Wakely <jwakely.gcc@gmail.com>
1650
1651 PR libstdc++/55847
1652 * src/c++11/shared_ptr.cc (bad_weak_ptr::what()): Correct string.
1653 * testsuite/20_util/shared_ptr/cons/weak_ptr_expired.cc: Verify
1654 string.
1655
1656 PR libstdc++/55728
1657 * include/std/functional (bad_function_call::what()): Declare.
1658 * src/c++11/functional.cc (bad_function_call::what()): Define.
1659 * config/abi/pre/gnu.ver (bad_function_call::what()): Export.
1660 * testsuite/20_util/bad_function_call/what.cc: New.
1661
1662 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
1663
1664 * include/bits/unordered_map.h: Fix typo in comments.
1665 * doc/xml/manual/status_cxx2011.xml: Add implementation-defined bucket
1666 counts for unordered associative containers.
1667
1668 2013-01-06 Jonathan Wakely <jwakely.gcc@gmail.com>
1669
1670 * doc/xml/manual/abi.xml: Update library and symbol versions.
1671
1672 2013-01-06 Richard Sandiford <rdsandiford@googlemail.com>
1673
1674 * include/ext/pb_ds/detail/splay_tree_/insert_fn_imps.hpp: Fix typo
1675 in copyright years.
1676 * testsuite/22_locale/time_get/get_weekday/wchar_t/3.cc: Likewise.
1677
1678 \f
1679 Copyright (C) 2013 Free Software Foundation, Inc.
1680
1681 Copying and distribution of this file, with or without modification,
1682 are permitted in any medium without royalty provided the copyright
1683 notice and this notice are preserved.