OSDN Git Service

* config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
[pf3gnuchains/gcc-fork.git] / libstdc++-v3 / ChangeLog
1 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
2
3         * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update.
4         * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Likewise.
5         * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt:
6         Likewise.
7         * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Likewise.
8         * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Likewise.
9         * config/abi/post/s390-linux-gnu/baseline_symbols.txt: Likewise.
10         * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Likewise.
11         * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Likewise.
12         * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise.
13         * config/abi/post/solaris2.8/sparcv9/baseline_symbols.txt: Likewise.
14         * config/abi/post/solaris2.10/amd64/baseline_symbols.txt: Likewise.
15         * config/abi/post/solaris2.10/sparcv9/baseline_symbols.txt: Likewise.
16
17         * testsuite/util/testsuite_abi.cc (check_version): Set incompatible
18         even when adding symbols to CXXABI_1.3, GLIBCXX_LDBL_3.4 and
19         CXXABI_LDBL_1.3 versions.
20
21 2011-03-21  Benjamin Kosnik  <bkoz@redhat.com>
22
23         * config/abi/pre/gnu.ver: Remove typeinfo name exports for C++0x types.
24
25 2011-03-21  Jakub Jelinek  <jakub@redhat.com>
26
27         * config/abi/pre/gnu.ver (CXXABI_1.3): Don't export _ZT[IS][PK]*[no].
28         (CXXABI_1.3.5): Export _ZTI[PK]*[no].
29
30 2011-03-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
31
32         * testsuite/22_locale/num_put/put/char/14220.cc: Don't xfail on
33         sparc*-sun-solaris2.10 && lp64.
34
35 2011-03-16  Benjamin Kosnik  <bkoz@redhat.com>
36
37         * src/Makefile.am: Add functional.cc, shared_ptr.cc.
38         * src/Makefile.in: Regenerate.
39         * libsupc++/Makefile.am: Add nested_exception.cc.
40         * libsupc++/Makefile.in: Regenerate.
41         * src/system_error.cc: Add ctor and dtor definitions for error_category.
42         * src/functional.cc: New. Add dtor definition for bad_function_call.
43         * src/stdexcept.cc: Add dtor definitions for domain_error,
44         invalid_argument, length_error, out_of_range, range_error,
45         overflow_error, underflow_error.
46         * src/future.cc: Add dtor definition for __future_base::_Result_base.
47         * src/shared_ptr.cc: New. Add dtor definition for bad_weak_ptr.
48         * include/std/system_error: Adjust.
49         * include/std/stdexcept: Same.
50         * include/std/future: Same.
51         * include/std/functional: Same.
52         * include/bits/shared_ptr_base.h: Same.
53         * libsupc++/nested_exception.cc: New. Add dtor for nested_exception.
54         * libsupc++/nested_exception.h: Adjust.
55         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust line numbers.
56         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
57         * config/abi/pre/gnu.ver: Add new exports.
58
59         * src/future.cc: Guard definitions.
60         * libsupc++/nested_exception.cc: Same.
61
62         * config/abi/pre/gnu.ver: Make nested_exception exports super clear.
63         Move bad_function_call exports from CXXABI_1.3.5 to GLIBCXX_3.4.15.
64         Add base destructors for stdexcept classes.
65
66         * testsuite/19_diagnostics/stdexcept.cc: New.
67
68 2011-03-15  Doug Kwan  <dougkwan@google.com>
69
70         PR libstdc++/48123
71         * include/Makefile.am (install-freestanding-headers): Install
72         cpu_defines.h
73         * include/Makefile.in: Regenerate.
74
75 2011-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
76
77         * doc/xml/manual/abi.xml: Replace docs.sun.com URLs by their OTN
78         equivalents.
79         * doc/html/manual/abi.html: Regenerate.
80
81 2011-03-14  Andrey Zholos  <aaz@althenia.net>
82
83         PR libstdc++/48114
84         * include/bits/random.h (geometric_distribution): Correct formula
85         in comment, per C++0x.
86         (geometric_distribution<>::param_type::param_type(double)): Fix check.
87         (geometric_distribution<>::param_type::_M_initialize):
88         Store log(1 - p).
89         * include/bits/random.tcc (geometric_distribution<>::operator()):
90         Fix computation.
91         (binomial_distribution<>::operator()): Likewise.
92
93 2011-03-09  Paolo Carlini  <paolo.carlini@oracle.com>
94
95         * testsuite/util/testsuite_rvalref.h: Minor tweaks.
96
97 2011-03-09  Jonathan Wakely  <redi@gcc.gnu.org>
98             Chris Jefferson  <chris@bubblescope.net>
99             Paolo Carlini  <paolo.carlini@oracle.com>
100
101         * testsuite/util/testsuite_rvalref.h (rvalstruct_compare_by_value):
102         New.
103         * testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
104         Likewise.
105         * testsuite/25_algorithms/partial_sort/check_compare_by_value:
106         Likewise.
107         * testsuite/25_algorithms/stable_sort/check_compare_by_value.cc:
108         Likewise.
109         * testsuite/25_algorithms/sort/check_compare_by_value: Likewise.
110
111 2011-03-09  Chris Jefferson  <chris@bubblescope.net>
112
113         PR libstdc++/48038
114         * include/bits/stl_algo.h (__merge_backward): Rename to
115         __move_merge_backward and change to always move rather than copy.
116         (__move_merge): New function similar to std::merge except values
117         are moved instead of copied.
118         (__merge_adaptive, __merge_sort_loop): Change from using std::merge
119         and __merge_backward to __move_merge and __move_merge_backward.
120
121 2011-03-07  Jason Merrill  <jason@redhat.com>
122
123         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Adjust
124         expected errors.
125
126 2011-03-07  Benjamin Kosnik  <bkoz@redhat.com>
127             Matthias Klose  <doko@ubuntu.com>
128             Jonathan Wakely  <redi@gcc.gnu.org>
129
130         PR libstdc++/47145
131         * acinclude.m4 (GLIBCXX_CONFIGURE_DOCBOOK): Define.
132         * configure.ac: Use it.
133         * doc/Makefile.am (XSL_STYLE_DIR): Set at configure time.
134         * configure: Regenerate.
135         * doc/Makefile.in: Regenerate.
136
137 2011-03-04  Benjamin Kosnik  <bkoz@chula>
138
139         * src/Makefile.am (inst_sources): Make source instantion files
140         conditional.
141         (XTEMPLATE_FLAGS): Make -fno-implicit-templates conditional.
142         * src/Makefile.in: Regenerate.
143         * src/valarray-inst.cc: Move to..
144         * src/valarray.cc: ...this.
145         * acinclude.m4 (GLIBCXX_ENABLE_EXTERN_TEMPLATE]): Define.
146         * configure.ac (GLIBCXX_ENABLE_EXTERN_TEMPLATE): Use it.
147         * configure: Regenerate.
148         * include/Makefile.am (stamp-extern-template): Add.
149         * include/Makefile.in: Regenerate.
150
151         * doc/xml/manual/configure.xml: Document --enable-extern-template.
152
153         * include/bits/locale_classes.tcc: Adjust comment.
154         * include/bits/locale_facets.tcc: Same.
155         * include/bits/basic_ios.tcc: Same.
156         * include/bits/istream.tcc: Same.
157         * include/bits/codecvt.h: Same.
158         * include/bits/ostream.tcc: Same.
159         * include/bits/sstream.tcc: Same.
160         * include/bits/c++config: Same.
161         * include/bits/basic_string.tcc: Same.
162         * include/bits/ostream_insert.h: Same.
163         * include/bits/locale_facets_nonio.tcc: Same.
164         * include/bits/streambuf.tcc: Same.
165         * include/bits/allocator.h: Same.
166         * include/bits/fstream.tcc: Same.
167
168         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
169
170 2011-03-02  Benjamin Kosnik  <bkoz@redhat.com>
171
172         * testsuite/Makefile.am: Make clean fixups.
173         * testsuite/Makefile.in: Regenerate.
174
175 2011-03-02  Marc Glisse  <marc.glisse@normalesup.org>
176
177         * include/std/ratio (ratio_less): Add comments.
178
179 2011-03-02  Marc Glisse  <marc.glisse@normalesup.org>
180
181         PR libstdc++/47913
182         * include/std/ratio (ratio_add): Avoid denominator overflow.
183         * testsuite/20_util/ratio/operations/47913.cc: New.
184
185 2011-02-28  Benjamin Kosnik  <bkoz@redhat.com>
186
187         * testsuite/20_util/hash/chi2_quality.cc: Use C++0x mode on simulators.
188         * testsuite/20_util/hash/quality.cc: Same.
189
190 2011-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
191
192         PR libstdc++/47921
193         * include/std/streambuf (basic_streambuf<>::__safe_gbump,
194         __safe_pbump): Add.
195         * include/bits/streambuf.tcc (basic_streambuf<>::xgetn,
196         xputn): Use the latter.
197         * include/bits/streambuf_iterator.h: Likewise.
198         * src/strstream.cc: Likewise.
199         * src/streambuf.cc: Likewise.
200         * src/compatibility.cc: Likewise.
201         * src/istream.cc: Likewise.
202         * include/bits/fstream.tcc (basic_filebuf<>::xsgetn): Use setg
203         instead of gbump.
204         * include/std/sstream (basic_stringbuf<>::_M_pbump): Add.
205         * include/bits/sstream.tcc (basic_stringbuf<>::seekoff,
206         seekpos, _M_sync): Use setg, setp, and _M_pbump.
207         * config/abi/pre/gnu.ver: Tweak.
208
209 2011-02-28  Paolo Carlini  <paolo.carlini@oracle.com>
210
211         * testsuite/20_util/ratio/comparisons/comp3.cc: New.
212
213 2011-02-28  Marc Glisse  <marc.glisse@normalesup.org>
214
215         PR libstdc++/42622
216         * include/std/ratio (ratio_less): Reimplement to never overflow.
217         * testsuite/20_util/ratio/comparisons/comp2.cc: Extend.
218
219 2011-02-24  Benjamin Kosnik  <bkoz@redhat.com>
220
221         * testsuite/18_support/type_info/fundamental.cc: New.
222
223         * testsuite/Makefile.am: Make clean fixups.
224         * testsuite/Makefile.in: Regenerate.
225
226 2011-02-19  François Dumont  <francois.cppdevs@free.fr>
227
228         * include/debug/string (basic_string::insert): Add iterator check and
229         pass normal iterator to normal insert.
230         * include/debug/macros.h (__glibcxx_check_heap,
231         __glibcxx_check_heap_pred): Remove __glibcxx_check_valid_range,
232         already done.
233
234 2011-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
235
236         PR libstdc++/47776
237         * testsuite/ext/vstring/hash/char/1.cc: Fix.
238         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
239
240 2011-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
241
242         * include/bits/regex.h (basic_regex::traits_type): Add typedef.
243         (basic_regex::basic_regex(basic_regex&&)): Add noexcept.
244         (basic_regex::operator=(basic_regex&&)): Likewise.
245         (basic_regex::assign(basic_regex&&)): Likewise.
246         (operator==(sub_match,...)): Implement DR 1181.
247         (match_results::match_results(match_results&&)): Define.
248         (match_results::operator=(const match_results&)): Fix parameter type.
249         (match_results::operator=(match_results&&)): Define.
250
251 2011-02-17  Jonathan Wakely  <jwakely.gcc@gmail.com>
252
253         PR libstdc++/47724
254         * include/bits/regex_compiler.h (_Scanner::_M_advance): Do not treat
255         line anchors as metacharacters.
256         * testsuite/28_regex/basic_regex/ctors/47724.cc: New.
257
258 2011-02-16  Paolo Carlini  <paolo.carlini@oracle.com>
259
260         PR libstdc++/47773
261         * include/ext/vstring.h (hash<__gnu_cxx::__vstring>,
262         hash<__gnu_cxx::__wvstring>, hash<__gnu_cxx::__u16vstring>,
263         hash<__gnu_cxx::__u32vstring>): Add.
264         * testsuite/ext/vstring/hash/char/1.cc: New.
265         * testsuite/ext/vstring/hash/wchar_t/1.cc: Likewise.
266
267 2011-02-16  Jonathan Wakely  <jwakely.gcc@gmail.com>
268
269         * include/bits/regex.h (match_results::format): Use char_traits.
270
271 2011-02-16  Benjamin Kosnik  <bkoz@redhat.com>
272
273         * include/std/atomic: Remove atomic_address, uplift to N3225.
274         * include/bits/atomic_0.h: Same.
275         * include/bits/atomic_2.h: Same.
276         * include/bits/atomic_base.h: Same.
277         * testsuite/29_atomics/atomic_address/*: Delete.
278
279 2011-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
280
281         * include/bits/regex.h (sub_match::sub_match): Add.
282         (match_results::ready): Add.
283         (match_results::empty): Adjust.
284         (match_results::length): Add missing dereference.
285         (match_results::operator[],prefix,suffix): Add debug mode checks.
286         (match_results::cend): Re-use end().
287         (match_results::format): Adjust signatures.
288         (operator==(match_results,match_results)): Implement.
289         * include/bits/regex_compiler.h (_Scanner_base): Use constexpr.
290         * include/bits/regex_constants.h (syntax_option_type): Likewise.
291         * include/bits/regex_grep_matcher.h: Fix comment typo.
292         (_SpecializedResults::_SpecializedResults): Simplify.
293         * include/bits/regex_cursor.h: Fix comment typo.
294         * include/bits/regex_nfa.h: Likewise.
295         * testsuite/28_regex/basic_regex/ctors/basic/string_range_01_02_03.cc:
296         Fix error code, remove xfail.
297         * testsuite/28_regex/basic_regex/ctors/extended/
298         string_range_01_02_03.cc: Likewise.
299
300 2011-02-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
301
302         * include/bits/regex_compiler.h: Remove unnecessary bind() calls.
303         * include/bits/regex_nfa.h: Remove unnecessary base classes.
304
305 2011-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
306
307         * configure: Regenerate.
308
309 2011-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
310
311         PR libstdc++/47709
312         * include/ext/algorithm (is_heap): In C++0x mode import from
313         namespace std.
314         * testsuite/ext/is_heap/47709.cc: New.
315
316 2011-02-12  Jakub Jelinek  <jakub@redhat.com>
317             Jonathan Wakely  <jwakely.gcc@gmail.com>
318
319         PR libstdc++/47662
320         * testsuite/17_intro/headers/c++200x/operator_names.cc: New.
321         * testsuite/17_intro/headers/c++1998/operator_names.cc: Add comment.
322
323 2011-02-12  Paolo Carlini  <paolo.carlini@oracle.com>
324
325         * include/tr1/cmath (fabs): Define.
326         * include/tr1/complex (acos, asin, atan): Avoid duplicate definitions
327         in C++0x mode.
328
329 2011-02-12  Jonathan Wakely  <jwakely.gcc@gmail.com>
330
331         * testsuite/tr1/headers/c++200x/complex.cc: New.
332
333 2011-02-11  Johannes Singler  <singler@kit.edu>
334
335         PR libstdc++/47433
336         * include/parallel/losertree.h
337         (_LoserTreeUnguarded<>::__delete_min_insert):
338         Add missing "using std::swap;", as for other variants.
339
340 2011-02-10  Benjamin Kosnik  <bkoz@redhat.com>
341
342         * src/Makefile.am (sources): Add regex.cc.
343         * src/Makefile.in: Regenerate.
344         * src/regex.cc: New.
345         * include/bits/regex_error.h (error_type): Use constexpr.
346         (regex_error): Move ctor and dtor out of line.
347
348         * testsuite/28_regex/03_requirements: To...
349         * testsuite/28_regex/requirements: ... this.
350         * testsuite/28_regex/04_header: To...
351         * testsuite/28_regex/headers: ... this.
352         * testsuite/28_regex/05_constants: To...
353         * testsuite/28_regex/constants: ... this.
354         * testsuite/28_regex/06_exception_type: To...
355         * testsuite/28_regex/regex_error: ... this.
356         * testsuite/28_regex/07_traits: To...
357         * testsuite/28_regex/traits: ... this.
358         * testsuite/28_regex/08_basic_regex: To...
359         * testsuite/28_regex/basic_regex: ... this.
360         * testsuite/28_regex/09_sub_match: To...
361         * testsuite/28_regex/sub_match: ... this.
362         * testsuite/28_regex/10_match_results: To...
363         * testsuite/28_regex/match_results: ... this.
364         * testsuite/28_regex/11_algorithms: To...
365         * testsuite/28_regex/algorithms: ... this.
366         * testsuite/28_regex/12_iterators: To...
367         * testsuite/28_regex/iterators: ... this.
368
369 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
370
371         PR libstdc++/47662
372         * include/bits/c++config: Do not use alternative token.
373         * testsuite/17_intro/headers/c++1998/operator_names.cc: New.
374
375 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
376
377         * src/future.cc (future_error_category::message): Handle no_state.
378
379 2011-02-10  Paolo Carlini  <paolo.carlini@oracle.com>
380
381         * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Do
382         not test in C++0x mode.
383         * testsuite/23_containers/map/modifiers/erase/47628.cc: Likewise.
384         * testsuite/20_util/headers/utility/synopsis.cc: Tweak to work
385         in C++0x mode too.
386
387 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
388
389         * doc/xml/manual/status_cxx200x.xml: Update.
390         * doc/html/*: Regenerate.
391
392 2011-02-10  Jonathan Wakely  <jwakely.gcc@gmail.com>
393
394         * doc/xml/manual/debug.xml: Improve data race docs.
395
396 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
397
398         PR libstdc++/47668
399         * include/debug/map.h (map): Remove unnecessary using-declaration.
400         * include/debug/multimap.h (multimap): Likewise.
401         * include/profile/map.h (map): Likewise.
402         * include/profile/multimap.h (multimap): Likewise.
403
404 2011-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
405
406         PR libstdc++/43863
407         * libsupc++/guard.cc (recursive_init_error::~recursive_init_error):
408         Move to ...
409         * libsupc++/guard_error.cc: ... new file.
410         * libsupc++/Makefile.am: Update.
411         * libsupc++/Makefile.in: Regenerate.
412
413 2011-02-09  Jonathan Wakely  <jwakely.gcc@gmail.com>
414
415         * include/std/future (packaged_task::operator bool): Rename to...
416         (packaged_task::valid): ...this.
417         * testsuite/30_threads/packaged_task/cons/1.cc: Adjust.
418         * testsuite/30_threads/packaged_task/cons/2.cc: Adjust.
419         * testsuite/30_threads/packaged_task/cons/move.cc: Adjust.
420         * testsuite/30_threads/packaged_task/cons/move_assign.cc: Adjust.
421         * testsuite/30_threads/packaged_task/cons/alloc.cc: Adjust.
422         * testsuite/30_threads/packaged_task/members/invoke.cc: Adjust.
423         * testsuite/30_threads/packaged_task/members/reset.cc: Adjust.
424         * testsuite/30_threads/packaged_task/members/reset2.cc: Adjust.
425         * testsuite/30_threads/packaged_task/members/swap.cc: Adjust.
426         * testsuite/30_threads/packaged_task/members/boolconv.cc: Remove.
427         * testsuite/30_threads/packaged_task/members/valid.cc: Add.
428
429 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
430
431         * doc/xml/manual/io.xml: Fix typo.
432         * doc/html/manual/streambufs.html: Likewise.
433
434 2011-02-09  Paolo Carlini  <paolo.carlini@oracle.com>
435
436         * config/abi/pre/gnu.ver: Fix.
437
438 2011-02-08  Benjamin Kosnik  <bkoz@redhat.com>
439
440         * doc/xml/manual/appendix_porting.xml: Add doc section.
441         * doc/xml/manual/appendix_contributing.xml: Split out doc bits to...
442         * doc/xml/manual/documentation_hacking.xml: ...here.
443
444         * doc/xml/manual/debug_mode.xml: Adjust.
445         * doc/xml/manual/prerequisites.xml: Adjust.
446         * doc/Makefile.am (xml_sources): Add dot files,
447         documentation_hacking.xml.
448         * doc/Makefile.in: Regenerate.
449
450         * doc/xml/manual/build_hacking.xml: Use absolute paths for images.
451         * doc/xml/images/confdeps.pdf: Add.
452
453         * doc/html/*: Regenerate.
454
455 2011-02-08  Jonathan Wakely  <jwakely.gcc@gmail.com>
456
457         * doc/xml/gnu/fdl-1.2.xml: Remove.
458         * doc/xml/gnu/gpl-2.0.xml: Remove.
459         * doc/Makefile.am: Update.
460         * doc/Makefile.in: Regenerate.
461
462 2011-02-07  Paolo Carlini  <paolo.carlini@oracle.com>
463
464         PR libstdc++/47628
465         * include/bits/stl_tree.h (_Rb_tree::erase(iterator), erase(iterator,
466         iterator)): Add back in C++03 mode.
467         * testsuite/23_containers/map/modifiers/erase/47628.cc: New.
468         * testsuite/23_containers/multimap/modifiers/erase/47628.cc: Likewise.
469
470 2011-02-07  Benjamin Kosnik  <bkoz@redhat.com>
471
472         PR libstdc++/47560 try two
473         * config/os/hpux/os_defines.h: Guard for C++.
474
475 2011-02-07  Gerald Pfeifer  <gerald@pfeifer.com>
476
477         * doc/xml/faq.xml: Adjust link to bug database.
478         Remove old item on broken header files.
479
480 2011-02-04  Benjamin Kosnik  <bkoz@redhat.com>
481
482         * include/bits/regex_error.h (__throw_regex_error): Not inline.
483         * src/functexcept.cc: Add definition.
484         * config/abi/pre/gnu.ver: Export.
485
486 2011-02-04  Ralf Corsépius <ralf.corsepius@rtems.org>
487
488         * crossconfig.m4 (GLIBCXX_CROSSCONFIG): Add *-rtems*.
489         * configure: Regenerate.
490
491 2011-02-01  Paolo Carlini  <paolo.carlini@oracle.com>
492
493         PR libstdc++/46914
494         * include/bits/atomic_0.h (_ATOMIC_STORE_, _ATOMIC_MODIFY_,
495         _ATOMIC_CMPEXCHNG_): Rename __v -> __w, and __m -> __n, to
496         avoid name conflicts.
497
498 2011-02-01  Benjamin Kosnik  <bkoz@redhat.com>
499
500         PR libstdc++/47560
501         * config/os/hpux/os_defines.h: Remove use of macros on namespace.
502
503 2011-02-01  Benjamin Kosnik  <bkoz@redhat.com>
504
505         * scripts/run_doxygen: Allow doxygen 1.7.0 again.
506         * doc/doxygen/user.cfg.in (PDF_HYPERLINKS): Re-enable.
507         (COMPACT_LATEX): Enable.
508
509         * include/profile/impl/profiler_container_size.h: Adjust doxygen markup.
510         * include/profile/impl/profiler_hash_func.h: Same.
511         * include/bits/hashtable.h: Same.
512         * include/backward/auto_ptr.h: Same.
513         * include/backward/strstream: Same.
514         * include/backward/backward_warning.h: Same.
515         * include/backward/binders.h: Same.
516
517 2011-02-01  Gerald Pfeifer  <gerald@pfeifer.com>
518
519         * doc/xml/manual/debug.xml: Use GDB instead of gdb.
520         Adjust link to GDB manual.
521
522 2011-01-31  Benjamin Kosnik  <bkoz@redhat.com>
523
524         * include/bits/c++config (_GLIBCXX_DEPRECATED): To
525         _GLIBCXX_USE_DEPRECATED.
526         (_GLIBCXX_DEPRECATED_ATTR): To _GLIBCXX_DEPRECATED.
527         * doc/xml/manual/using.xml: Same.
528         * include/std/memory: Same.
529         * include/std/streambuf: Same.
530         * include/bits/shared_ptr.h: Same.
531         * include/bits/unique_ptr.h: Same.
532         * include/bits/shared_ptr_base.h: Same.
533         * include/bits/stl_function.h: Same.
534         * include/tr1/shared_ptr.h: Same.
535         * include/backward/auto_ptr.h: Same.
536         * include/backward/binders.h: Same.
537
538 2011-01-31  Paolo Carlini  <paolo.carlini@oracle.com>
539
540         * doc/html/ext/lwg-active.html: Update to Revision D73.
541         * doc/html/ext/lwg-closed.html: Likewise.
542         * doc/html/ext/lwg-defects.html: Likewise.
543         * doc/xml/manual/intro.xml: Update status of issues 408, 539, 865.
544
545 2011-01-30  Benjamin Kosnik  <bkoz@redhat.com>
546
547         PR libstdc++/36104 part four
548         * include/bits/c++config (_GLIBCXX_STD): Remove.
549         (_GLIBCXX_STD_D, _GLIBCXX_PR): Now _GLIBCXX_STD_C.
550         (_GLIBCXX_P): Now _GLIBCXX_STD_A.
551         (_GLIBCXX_NAMESPACE_DEBUG, _GLIBCXX_NAMESPACE_PARALLEL,
552          _GLIBCXX_NAMESPACE_PROFILE, _GLIBCXX_NAMESPACE_VERSION): Remove.
553         (_GLIBCXX_INLINE_DEBUG, _GLIBCXX_INLINE_PARALLEL,
554          _GLIBCXX_INLINE_PROFILE): Remove.
555         (_GLIBCXX_BEGIN_NAMESPACE(X)): Remove.
556         (_GLIBCXX_END_NAMESPACE): Remove.
557         (_GLIBCXX_BEGIN_NESTED_NAMESPACE(X, Y)): Remove.
558         (_GLIBCXX_END_NESTED_NAMESPACE): Remove.
559         (_GLIBCXX_BEGIN_NAMESPACE_ALGO): Add.
560         (_GLIBCXX_END_NAMESPACE_ALGO): Add.
561         (_GLIBCXX_BEGIN_NAMESPACE_CONTAINER): Add.
562         (_GLIBCXX_END_NAMESPACE_CONTAINER): Add.
563         (_GLIBCXX_BEGIN_NAMESPACE_VERSION): Add.
564         (_GLIBCXX_END_NAMESPACE_VERSION): Add.
565         (_GLIBCXX_BEGIN_LDBL_NAMESPACE): To _GLIBCXX_BEGIN_NAMESPACE_LDBL.
566         (_GLIBCXX_END_LDBL_NAMESPACE): To _GLIBCXX_END_NAMESPACE_LDBL.
567         (_GLIBCXX_VISIBILITY_ATTR): Revert to _GLIBCXX_VISIBILITY.
568         * include/*: Use new macros for namespace scope.
569         * config/*: Same.
570         * src/*: Same.
571
572         * src/Makefile.am (sources): Remove debug_list.cc, add
573         compatibility-debug_list-2.cc.
574         (parallel_sources): Remove parallel_list.cc, add
575         compatibility-parallel_list-2.cc.
576         (compatibility-parallel_list-2.[o,lo]): New rule.
577         * src/Makefile.in: Regenerate.
578         * src/debug_list.cc: Remove.
579         * src/parallel_list.cc: Remove.
580         * src/compatibility-list-2.cc: New.
581         * src/compatibility-debug_list-2.cc: New.
582         * src/compatibility-parallel_list-2.cc: New.
583
584         * doc/doxygen/user.cfg.in: Adjust macros.
585
586         * testsuite/20_util/auto_ptr/assign_neg.cc: Adjust line numbers, macros.
587         * testsuite/20_util/declval/requirements/1_neg.cc: Same.
588         * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Same.
589         * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Same.
590         * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Same.
591         * testsuite/20_util/forward/c_neg.cc: Same.
592         * testsuite/20_util/forward/f_neg.cc: Same.
593         * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Same.
594         * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Same.
595         * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Same.
596         * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Same.
597         * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same.
598         * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Same.
599         * testsuite/23_containers/deque/requirements/dr438/assign_neg.cc: Same.
600         * testsuite/23_containers/deque/requirements/dr438/
601         constructor_1_neg.cc: Same.
602         * testsuite/23_containers/deque/requirements/dr438/
603         constructor_2_neg.cc: Same.
604         * testsuite/23_containers/deque/requirements/dr438/insert_neg.cc: Same.
605         * testsuite/23_containers/forward_list/capacity/1.cc: Same.
606         * testsuite/23_containers/forward_list/requirements/dr438/
607         assign_neg.cc: Same.
608         * testsuite/23_containers/forward_list/requirements/dr438/
609         constructor_1_neg.cc: Same.
610         * testsuite/23_containers/forward_list/requirements/dr438/
611         constructor_2_neg.cc: Same.
612         * testsuite/23_containers/forward_list/requirements/dr438/
613         insert_neg.cc: Same.
614         * testsuite/23_containers/list/capacity/29134.cc: Same.
615         * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Same.
616         * testsuite/23_containers/list/requirements/dr438/
617         constructor_1_neg.cc: Same.
618         * testsuite/23_containers/list/requirements/dr438/
619         constructor_2_neg.cc: Same.
620         * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Same.
621         * testsuite/23_containers/vector/bool/capacity/29134.cc: Same.
622         * testsuite/23_containers/vector/bool/modifiers/insert/31370.cc: Same.
623         * testsuite/23_containers/vector/requirements/dr438/assign_neg.cc: Same.
624         * testsuite/23_containers/vector/requirements/dr438/
625         constructor_1_neg.cc: Same.
626         * testsuite/23_containers/vector/requirements/dr438/
627         constructor_2_neg.cc: Same.
628         * testsuite/23_containers/vector/requirements/dr438/insert_neg.cc: Same.
629         * testsuite/25_algorithms/sort/35588.cc: Same.
630         * testsuite/27_io/ios_base/cons/assign_neg.cc: Same.
631         * testsuite/27_io/ios_base/cons/copy_neg.cc: Same.
632         * testsuite/ext/profile/mutex_extensions_neg.cc: Same.
633         * testsuite/ext/profile/profiler_algos.cc: Same.
634         * testsuite/ext/type_traits/add_unsigned_floating_neg.cc: Same.
635         * testsuite/ext/type_traits/add_unsigned_integer_neg.cc: Same.
636         * testsuite/ext/type_traits/remove_unsigned_floating_neg.cc: Same.
637         * testsuite/ext/type_traits/remove_unsigned_integer_neg.cc: Same.
638         * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same.
639
640 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
641
642         * doc/xml/manual/abi.xml: Adjust link to C++ ABI specification.
643         Improve description of one such reference.
644
645 2011-01-30  Gerald Pfeifer  <gerald@pfeifer.com>
646
647         * doc/xml/manual/codecvt.xml: Fix link to The Austin Common
648         Standards Revision Group.
649         * doc/xml/manual/locale.xml: Ditto.
650         * doc/xml/manual/messages.xml: Ditto.
651         * doc/xml/manual/using_exceptions.xml: Ditto.
652
653 2011-01-28  Paolo Carlini  <paolo.carlini@oracle.com>
654
655         * include/bits/atomic_base.h: Do not include <stddef.h>.
656         (kill_dependency): Uglify ret.
657
658 2011-01-26  Johannes Singler  <singler@kit.edu>
659
660         * include/parallel/numeric (inner_product, partial_sum):
661         Qualify subsequent call with __gnu_parallel instead of
662         _GLIBCXX_STD_P to reenable parallel execution without ambiguity.
663         * include/parallel/algobase.h (equal): Likewise.
664         * include/parallel/algo.h (find_first_of, search_n, merge,
665         nth_element, partial_sort, max_element, min_element): Likewise.
666         * testsuite/25_algorithms/headers/algorithm/
667         parallel_algorithm_mixed1.cc (main): Add respective test cases.
668         * testsuite/25_algorithms/headers/algorithm/
669         parallel_algorithm_mixed2.cc (main): Likewise.
670         * testsuite/26_numerics/headers/numeric/
671         parallel_numeric_mixed1.cc (main): Likewise.
672         * testsuite/26_numerics/headers/numeric/
673         parallel_numeric_mixed2.cc (main): Likewise.
674
675 2011-01-24  Graham Reed  <greed@pobox.com>
676
677         PR libstdc++/47387
678         * config/os/aix/ctype_inline.h (ctype<char>::is): Use _M_table if
679         provided.
680
681 2011-01-24  Johannes Singler  <singler@kit.edu>
682
683         PR libstdc++/47433
684         * include/parallel/losertree.h
685         (_LoserTree<>::__delete_min_insert):
686         Do not qualify swap with std:: for value type,
687         but include a using directive instead.
688         (_LoserTreeUnguarded<>::__delete_min_insert): Likewise.
689         * include/parallel/balanced_quicksort.h (__qsb_divide):
690         Use std::iter_swap instead of std::swap.
691         (__qsb_local_sort_with_helping): Likewise.
692         * include/parallel/partition.h (__parallel_partition):
693         Likewise. (__parallel_nth_element): Likewise.
694
695 2011-01-24  Johannes Singler  <singler@kit.edu>
696
697         PR libstdc++/47437
698         * include/parallel/multiway_merge.h (_UnguardedIterator):
699         Remove useless "mutable" from reference declaration.
700
701 2011-01-21  Benjamin Kosnik  <bkoz@redhat.com>
702
703         * include/bits/c++config (_GLIBCXX_EXPORT_TEMPLATE): Remove.
704         * include/debug/safe_sequence.h: Same.
705         * include/debug/safe_iterator.h: Same.
706         * include/std/forward_list: Same.
707         * include/std/deque: Same.
708         * include/std/list: Same.
709         * include/std/random: Same.
710         * include/std/streambuf: Same.
711         * include/std/fstream: Same.
712         * include/std/istream: Same.
713         * include/std/string: Same.
714         * include/std/ostream: Same.
715         * include/std/sstream: Same.
716         * include/ext/vstring.h: Same.
717         * include/bits/basic_ios.h: Same.
718         * include/bits/locale_classes.h: Same.
719         * include/bits/locale_facets.h: Same.
720         * include/bits/valarray_array.h: Same.
721         * include/bits/locale_facets_nonio.h: Same.
722         * include/tr1/random: Same.
723
724 2011-01-20  Jonathan Wakely  <jwakely.gcc@gmail.com>
725
726         * doc/xml/manual/diagnostics.xml: Replace note about C++0x concepts.
727
728 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
729
730         PR libstdc++/36104 part three
731         * src/hashtable_c++0x.cc: Adjust namespace macros.
732         * testsuite/util/testsuite_rvalref.h: Don't forward declare hash.
733         * config/abi/pre/gnu-versioned-namespace.ver: Update.
734
735 2011-01-20  Benjamin Kosnik  <bkoz@redhat.com>
736
737         * include/ext/pb_ds/detail/resize_policy/
738         hash_load_check_resize_trigger_imp.hpp: Adjust assert condition.
739         * include/ext/pb_ds/detail/pat_trie_/
740         constructors_destructor_fn_imps.hpp: Same.
741         * include/ext/pb_ds/detail/binary_heap_/erase_fn_imps.hpp: Format.
742         * include/ext/pb_ds/detail/ov_tree_map_/debug_fn_imps.hpp: Same.
743         * include/ext/pb_ds/detail/debug_map_base.hpp: Use never_adjustor.
744
745         * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Adjust
746         iterations downward when testing in debug mode.
747         * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same.
748         * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same.
749         * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same.
750         * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same.
751         * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same.
752         * testsuite/ext/pb_ds/example/hash_illegal_resize.cc: Use SIZE,
753         reduce in debug mode.
754
755 2011-01-19  Benjamin Kosnik  <bkoz@redhat.com>
756
757         PR libstdc++/36104 part two
758         * include/bits/hashtable.h: Revert to non-nested macro usage.
759         * include/bits/hashtable_policy.h: Same.
760
761 2011-01-19  Graham Reed  <greed@pobox.com>
762
763         PR libstdc++/47354
764         * src/bitmap_allocator.cc (free_list::_M_get): Lock mutex.
765
766 2011-01-18  Benjamin Kosnik  <bkoz@redhat.com>
767
768         * doc/xml/images/confdeps.png: Regenerate.
769
770         * include/std/chrono (duration): Mark copy constructor constexpr.
771         * testsuite/20_util/duration/cons/constexpr.cc: Add test.
772
773 2011-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
774
775         * include/bits/unique_ptr.h (default_delete<>::default_delete()):
776         Declare defaulted per DR 1517.
777         * testsuite/util/testsuite_common_types.h
778         (constexpr_defaulted_default_constructible): Add.
779         * testsuite/20_util/default_delete/cons/constexpr.cc: Use it.
780
781 2011-01-17  Paolo Carlini  <paolo.carlini@oracle.com>
782
783         * include/bits/stl_queue.h (queue<>::swap, priority_queue<>::swap):
784         Implement DR 1198.
785         * include/bits/stl_stack.h (stack<>::swap): Likewise.
786
787 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
788
789         PR libstdc++/47323
790         * testsuite/28_regex/08_basic_regex/requirements/constexpr_data.cc:
791         Only test wregex when _GLIBCXX_USE_WCHAR_T is defined.
792
793 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
794
795         PR libstdc++/47320
796         * testsuite/18_support/numeric_limits/lowest.cc:
797         Only test wchar_t when _GLIBCXX_USE_WCHAR_T is defined.
798
799 2011-01-16  Paolo Carlini  <paolo.carlini@oracle.com>
800
801         PR libstdc++/47321
802         * testsuite/21_strings/basic_string/requirements/typedefs.cc:
803         Only test std::wstring when _GLIBCXX_USE_WCHAR_T is defined.
804
805 2011-01-16  François Dumont  <francois.cppdevs@free.fr>
806
807         * testsuite/23_containers/forward_list/debug/erase_after1_neg.cc: Move
808         to this. Use _neg suffix.
809         * testsuite/23_containers/forward_list/debug/erase_after1.cc: ...from
810         this.
811         * testsuite/23_containers/forward_list/debug/erase_after2_neg.cc:
812         Same.
813         * testsuite/23_containers/forward_list/debug/erase_after2.cc: Same.
814         * testsuite/23_containers/forward_list/debug/erase_after3_neg.cc:
815         Same.
816         * testsuite/23_containers/forward_list/debug/erase_after3.cc: Same.
817         * testsuite/23_containers/forward_list/debug/erase_after4_neg.cc:
818         Same.
819         * testsuite/23_containers/forward_list/debug/erase_after4.cc: Same.
820         * testsuite/23_containers/forward_list/debug/erase_after5_neg.cc:
821         Same.
822         * testsuite/23_containers/forward_list/debug/erase_after5.cc: Same.
823         * testsuite/23_containers/forward_list/debug/erase_after6_neg.cc:
824         Same.
825         * testsuite/23_containers/forward_list/debug/erase_after6.cc: Same.
826         * testsuite/23_containers/forward_list/debug/erase_after7_neg.cc:
827         Same.
828         * testsuite/23_containers/forward_list/debug/erase_after7.cc: Same.
829         * testsuite/23_containers/forward_list/debug/erase_after8_neg.cc:
830         Same.
831         * testsuite/23_containers/forward_list/debug/erase_after8.cc: Same.
832         * testsuite/23_containers/forward_list/debug/erase_after9_neg.cc:
833         Same.
834         * testsuite/23_containers/forward_list/debug/erase_after9.cc: Same.
835         * testsuite/23_containers/forward_list/debug/insert_after1_neg.cc:
836         Same.
837         * testsuite/23_containers/forward_list/debug/insert_after1.cc: Same.
838         * testsuite/23_containers/forward_list/debug/insert_after2_neg.cc:
839         Same.
840         * testsuite/23_containers/forward_list/debug/insert_after2.cc: Same.
841         * testsuite/23_containers/forward_list/debug/insert_after3_neg.cc:
842         Same.
843         * testsuite/23_containers/forward_list/debug/insert_after3.cc: Same.
844         * testsuite/23_containers/forward_list/debug/splice_after1_neg.cc:
845         Same.
846         * testsuite/23_containers/forward_list/debug/splice_after1.cc: Same.
847         * testsuite/23_containers/forward_list/debug/splice_after2_neg.cc:
848         Same.
849         * testsuite/23_containers/forward_list/debug/splice_after2.cc: Same.
850         * testsuite/23_containers/forward_list/debug/splice_after3_neg.cc:
851         Same.
852         * testsuite/23_containers/forward_list/debug/splice_after3.cc: Same.
853         * testsuite/23_containers/forward_list/debug/splice_after4_neg.cc:
854         Same.
855         * testsuite/23_containers/forward_list/debug/splice_after4.cc: Same.
856
857 2011-01-14  Benjamin Kosnik  <bkoz@redhat.com>
858
859         PR libstdc++/36104
860         * include/Makefile.am (bits_sup_headers, stamp-bits-sup): New.
861         * include/Makefile.in: Regenerate.
862         * libsupc++/Makefile.am (std_HEADERS, bits_HEADERS): New.
863         (install-stdHEADERS, install-bitsHEADERS): New.
864         * libsupc++/Makefile.in: Regenerate.
865
866         * include/bits/c++config: Update for inline namespaces.
867         * libsupc++/cxxabi-forced.h: To...
868         * libsupc++/cxxabi_forced.h: ...this.
869         * libsupc++/hash_bytes.h: Separate file.
870         * libsupc++/typeinfo: Use it.
871         * libsupc++/exception: Adjust for bits subdirectory.
872         * libsupc++/eh_aux_runtime.cc: Same.
873         * libsupc++/eh_ptr.cc: Same.
874         * libsupc++/new_op.cc: Same.
875         * libsupc++/exception_defines.h: Same.
876         * libsupc++/nested_exception.h: Same.
877         * libsupc++/eh_terminate.cc: Same.
878         * libsupc++/vec.cc: Same.
879         * libsupc++/vterminate.cc: Same.
880         * libsupc++/exception_ptr.h: Same.
881         * libsupc++/eh_personality.cc: Same.
882         * libsupc++/eh_call.cc: Same.
883         * libsupc++/new_opnt.cc: Same.
884         * libsupc++/hash_bytes.cc: Same.
885         * config/cpu/arm/cxxabi_tweaks.h: Same.
886         * config/cpu/generic/cxxabi_tweaks.h: Same.
887         * libsupc++/cxxabi.h: Same. Consolidate _GLIBCXX_NOTHROW defines.
888         * include/std/bitset: Same.
889         * include/ext/vstring.tcc: Same.
890         * include/bits/hashtable.h: Same.
891         * include/bits/functional_hash.h: Same.
892         * include/bits/hashtable_policy.h: Same.
893         * include/bits/basic_string.h: Same.
894         * include/bits/istream.tcc: Same.
895         * include/bits/ostream.tcc: Same.
896         * include/bits/algorithmfwd.h: Same.
897         * include/bits/basic_string.tcc: Same.
898         * include/bits/ostream_insert.h: Same.
899         * include/bits/fstream.tcc: Same.
900         * include/bits/functexcept.h: Same.
901
902         * doc/doxygen/user.cfg.in: Adjust names.
903
904         * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust line numbers.
905
906 2011-01-14  Paolo Carlini  <paolo.carlini@oracle.com>
907
908         * testsuite/25_algorithms/is_permutation/check_type.cc: Minor
909         tweaks.
910         * testsuite/25_algorithms/is_permutation/1.cc: Cosmetic changes.
911
912 2011-01-13  Paolo Carlini  <paolo.carlini@oracle.com>
913
914         * testsuite/25_algorithms/is_permutation/check_type.cc: New.
915         * testsuite/25_algorithms/is_permutation/requirements/
916         explicit_instantiation/2.cc: Likewise.
917         * testsuite/25_algorithms/is_permutation/requirements/
918         explicit_instantiation/pod.cc: Likewise.
919         * testsuite/25_algorithms/is_permutation/1.cc: Likewise.
920
921 2011-01-13  John Lakos  <jlakos@bloomberg.net>
922             Pablo Halpern  <phalpern@halpernwightsoftware.com>
923             Paolo Carlini  <paolo.carlini@oracle.com>
924
925         * include/bits/stl_algo.h (is_permutation): Add, per N3068.
926         * include/bits/algorithmfwd.h: Add.
927
928 2011-01-13  Jonathan Wakely  <jwakely.gcc@gmail.com>
929
930         PR libstdc++/47045
931         * config/os/bsd/netbsd/ctype_base.h: Use new macros based on version.
932
933 2011-01-11  Paolo Carlini  <paolo.carlini@oracle.com>
934
935         * aclocal.m4: Regenerate.
936
937 2011-01-06  Paolo Carlini  <paolo.carlini@oracle.com>
938
939         PR libstdc++/47185
940         * src/placeholders.cc: New.
941         * src/Makefile.am: Adjust.
942         * src/Makefile.in: Regenerate.
943         * include/std/functional (placeholders::_1, _2, ..., _29): Declare
944         extern.
945         * config/abi/pre/gnu.ver: Export.
946
947 2011-01-05  François Dumont  <francois.cppdevs@free.fr>
948
949         * include/debug/safe_base.h (_Safe_iterator_base::_M_unlink): New.
950         * include/src/debug.cc: Use latter
951         * include/debug/forward_list (forward_list<>::_M_swap):  Fix to
952         correctly handle before_begin iterators.
953         * testsuite/23_containers/forward_list/debug/swap.cc: Remove now
954         useless _GLIBCXX_DEBUG checks.
955
956 2011-01-04  Kai Tietz  <kai.tietz@onevision.com>
957
958         PR libstdc++/47145
959         * configure.ac (AC_CHECK_FILE): Replaced by test -f.
960         * configure: Regenerated.
961
962 2011-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
963
964         PR libstdc++/46922
965         * config/abi/pre/gnu.ver: Export std::bad_function_call symbols.
966
967 \f
968 Copyright (C) 2011 Free Software Foundation, Inc.
969
970 Copying and distribution of this file, with or without modification,
971 are permitted in any medium without royalty provided the copyright
972 notice and this notice are preserved.