diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-12-20 21:46:40 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-12-20 21:46:40 +0000 |
commit | b08e05713256fbd8a2a414b56c82d1651aadb985 (patch) | |
tree | 31bad5c89150cded27efde181d7eee13ce078edb /libstdc++-v3 | |
parent | 79bd8aab8f7dedd773f23cbf2c109d9f77cd47d7 (diff) | |
download | gcc-b08e05713256fbd8a2a414b56c82d1651aadb985.tar.gz |
2010-12-20 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 168094
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@168096 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
294 files changed, 1798 insertions, 1151 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 08fdfa369ed..6feb439d852 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,112 @@ +2010-12-19 John David Anglin <dave.anglin@nrc-cnrc.gc.ca> + + PR libstdc++/46869 + * testsuite/20_util/enable_shared_from_this/cons/constexpr.cc: + Compile with -g0. + * testsuite/20_util/shared_ptr/cons/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/constexpr.cc: Likewise. + * testsuite/20_util/weak_ptr/cons/constexpr.cc: Likewise. + +2010-12-19 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/basic_string.h (operator+(basic_string<>&&, + basic_string<>&&)): Optimize better. + * include/ext/vstring.h (operator+(__versa_string<>&&, + __versa_string<>&)): Likewise. + +2010-12-19 Paolo Carlini <paolo.carlini@oracle.com> + + * testsuite/21_strings/basic_string/operators/char/4.cc: New. + * testsuite/21_strings/basic_string/operators/wchar_t/4.cc: Likewise. + * testsuite/ext/vstring/operators/2.cc: Likewise. + +2010-11-18 Benjamin Kosnik <bkoz@redhat.com> + + * config/*/*: Use headername alias to associate private includes + to public includes. + * include/*/*: Same. + + * scripts/run_doxygen: Update for doxygen 1.7.2. + * doc/doxygen/user.cfg.in: Same. + * doc/doxygen/TODO: Remove. + + * testsuite/*/std_c++0x_neg.cc: Adjust line number. + +2010-12-17 Paolo Carlini <paolo.carlini@oracle.com> + + * include/bits/basic_string.h (operator+(basic_string<>&&, + const basic_string<>&), operator+(const basic_string<>&, + basic_string<>&&), operator+(basic_string<>&&, basic_string<>&&), + operator+(const _CharT*, basic_string<>&&), operator+(_CharT, + basic_string<>&&), operator+(basic_string<>&&, const _CharT*), + operator+(basic_string<>&&, _CharT)): Add. + * testsuite/21_strings/basic_string/operators/char/3.cc: New. + * testsuite/21_strings/basic_string/operators/wchar_t/3.cc: Likewise. + +2010-12-17 Paolo Carlini <paolo.carlini@oracle.com> + + * aclocal.m4: Regenerate. + * Makefile.in: Likewise. + * testsuite/Makefile.in: Likewise. + * libsupc++/Makefile.in: Likewise. + * include/Makefile.in: Likewise. + * po/Makefile.in: Likewise. + * doc/Makefile.in: Likewise. + * src/Makefile.in: Likewise. + * python/Makefile.in: Likewise. + +2010-11-16 Benjamin Kosnik <bkoz@redhat.com> + + * testsuite/util/testsuite_iterators.h: Guard move.h includes. + * testsuite/util/testsuite_allocator.h: Same. + + * testsuite/20_util/temporary_buffer.cc: Use typedef, qualify. + + * testsuite/ext/pb_ds/regression/hash_data_map_rand.cc: Define + PB_DS_REGRESSION in the source file. + * testsuite/ext/pb_ds/regression/trie_data_map_rand.cc: Same. + * testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc: Same. + * testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc: Same. + * testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc: Same. + * testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc: Same. + * testsuite/ext/pb_ds/regression/priority_queue_rand.cc: Same. + * testsuite/ext/pb_ds/regression/tree_data_map_rand.cc: Same. + * testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc: Same. + + * testsuite/21_strings/c_strings/wchar_t/3_neg.cc: Move to this. + Use _neg suffix. + * testsuite/21_strings/c_strings/wchar_t/3.cc: ...from this. + * testsuite/21_strings/c_strings/char/3_neg.cc: Same. + * testsuite/21_strings/c_strings/char/3.cc: Same. + * testsuite/ext/slist/23781_neg.cc: Same. + * testsuite/ext/slist/23781.cc: Same. + * testsuite/ext/profile/mutex_extensions.cc: Same. + * testsuite/ext/profile/mutex_extensions_neg.cc: Same. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc: Same. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: Same. + * testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc: + Same. + * testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc: Same. + * testsuite/23_containers/multimap/23781_neg.cc: Same. + * testsuite/23_containers/multimap/23781.cc: Same. + * testsuite/23_containers/set/23781_neg.cc: Same. + * testsuite/23_containers/set/23781.cc: Same. + * testsuite/23_containers/multiset/23781_neg.cc: Same. + * testsuite/23_containers/multiset/23781.cc: Same. + * testsuite/23_containers/list/23781_neg.cc: Same. + * testsuite/23_containers/list/23781.cc: Same. + * testsuite/23_containers/map/23781_neg.cc: Same. + * testsuite/23_containers/map/23781.cc: Same. + * testsuite/20_util/duration/cons/dr974_neg.cc: Same. + * testsuite/20_util/duration/cons/dr974.cc: Same. + * testsuite/20_util/tuple/comparison_operators/35480_neg.cc: Same. + * testsuite/20_util/tuple/comparison_operators/35480.cc: Same. + * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Same. + * testsuite/20_util/shared_ptr/cons/43820.cc: Same. + * testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc: + Same. + * testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc: Same. + 2010-12-15 Paolo Carlini <paolo.carlini@oracle.com> * include/ext/vstring.h (operator+(__versa_string<>&&, diff --git a/libstdc++-v3/config/allocator/bitmap_allocator_base.h b/libstdc++-v3/config/allocator/bitmap_allocator_base.h index dd540610321..f482d20fec0 100644 --- a/libstdc++-v3/config/allocator/bitmap_allocator_base.h +++ b/libstdc++-v3/config/allocator/bitmap_allocator_base.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++allocator.h +/** @file bits/c++allocator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _GLIBCXX_CXX_ALLOCATOR_H diff --git a/libstdc++-v3/config/allocator/malloc_allocator_base.h b/libstdc++-v3/config/allocator/malloc_allocator_base.h index 8e4ce5f8417..56a6f457bf3 100644 --- a/libstdc++-v3/config/allocator/malloc_allocator_base.h +++ b/libstdc++-v3/config/allocator/malloc_allocator_base.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++allocator.h +/** @file bits/c++allocator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _GLIBCXX_CXX_ALLOCATOR_H diff --git a/libstdc++-v3/config/allocator/mt_allocator_base.h b/libstdc++-v3/config/allocator/mt_allocator_base.h index 2d2f0ba9257..135bfacb3af 100644 --- a/libstdc++-v3/config/allocator/mt_allocator_base.h +++ b/libstdc++-v3/config/allocator/mt_allocator_base.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++allocator.h +/** @file bits/c++allocator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _GLIBCXX_CXX_ALLOCATOR_H diff --git a/libstdc++-v3/config/allocator/new_allocator_base.h b/libstdc++-v3/config/allocator/new_allocator_base.h index c33a1247dfb..8da6d11625f 100644 --- a/libstdc++-v3/config/allocator/new_allocator_base.h +++ b/libstdc++-v3/config/allocator/new_allocator_base.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++allocator.h +/** @file bits/c++allocator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _GLIBCXX_CXX_ALLOCATOR_H diff --git a/libstdc++-v3/config/allocator/pool_allocator_base.h b/libstdc++-v3/config/allocator/pool_allocator_base.h index 703871da1b2..91e0b984295 100644 --- a/libstdc++-v3/config/allocator/pool_allocator_base.h +++ b/libstdc++-v3/config/allocator/pool_allocator_base.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++allocator.h +/** @file bits/c++allocator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _GLIBCXX_CXX_ALLOCATOR_H diff --git a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h index ae69ecc7dd7..78b0c153b77 100644 --- a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h +++ b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h @@ -23,10 +23,6 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ext/atomicity.h - * This file is a GNU extension to the Standard C++ Library. - */ - #include <bits/c++config.h> #include <bits/atomic_word.h> diff --git a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h index fe3ade84d34..3f08ebb1fd6 100644 --- a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +++ b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h @@ -23,10 +23,6 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ext/atomicity.h - * This file is a GNU extension to the Standard C++ Library. - */ - #include <ext/atomicity.h> #include <ext/concurrence.h> diff --git a/libstdc++-v3/config/cpu/generic/cpu_defines.h b/libstdc++-v3/config/cpu/generic/cpu_defines.h index faf97e17eee..a71a2fb442a 100644 --- a/libstdc++-v3/config/cpu/generic/cpu_defines.h +++ b/libstdc++-v3/config/cpu/generic/cpu_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file cpu_defines.h +/** @file bits/cpu_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_CPU_DEFINES diff --git a/libstdc++-v3/config/cpu/microblaze/cpu_defines.h b/libstdc++-v3/config/cpu/microblaze/cpu_defines.h index 452e6d84d9c..320e980bd3f 100644 --- a/libstdc++-v3/config/cpu/microblaze/cpu_defines.h +++ b/libstdc++-v3/config/cpu/microblaze/cpu_defines.h @@ -24,6 +24,11 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/cpu_defines.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} + */ + #ifndef _GLIBCXX_CPU_DEFINES #define _GLIBCXX_CPU_DEFINES 1 diff --git a/libstdc++-v3/config/cpu/powerpc/cpu_defines.h b/libstdc++-v3/config/cpu/powerpc/cpu_defines.h index 10b3a3d3cf9..dded89fa649 100644 --- a/libstdc++-v3/config/cpu/powerpc/cpu_defines.h +++ b/libstdc++-v3/config/cpu/powerpc/cpu_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file cpu_defines.h +/** @file bits/cpu_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_CPU_DEFINES diff --git a/libstdc++-v3/config/io/basic_file_stdio.h b/libstdc++-v3/config/io/basic_file_stdio.h index 7f30c4e81e9..a639507da54 100644 --- a/libstdc++-v3/config/io/basic_file_stdio.h +++ b/libstdc++-v3/config/io/basic_file_stdio.h @@ -27,9 +27,9 @@ // ISO C++ 14882: 27.8 File-based streams // -/** @file basic_file.h +/** @file bits/basic_file.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ios} */ #ifndef _GLIBCXX_BASIC_FILE_STDIO_H diff --git a/libstdc++-v3/config/io/c_io_stdio.h b/libstdc++-v3/config/io/c_io_stdio.h index f6eeadc9ba9..6a21a887c65 100644 --- a/libstdc++-v3/config/io/c_io_stdio.h +++ b/libstdc++-v3/config/io/c_io_stdio.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++io.h +/** @file bits/c++io.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ios} */ // c_io_stdio.h - Defines for using "C" stdio.h diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h index 7d685b8b607..29c16a21034 100644 --- a/libstdc++-v3/config/locale/generic/c_locale.h +++ b/libstdc++-v3/config/locale/generic/c_locale.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++locale.h +/** @file bits/c++locale.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/generic/messages_members.h b/libstdc++-v3/config/locale/generic/messages_members.h index a149950db25..c6e1afd5e34 100644 --- a/libstdc++-v3/config/locale/generic/messages_members.h +++ b/libstdc++-v3/config/locale/generic/messages_members.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file messages_members.h +/** @file bits/messages_members.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/generic/time_members.h b/libstdc++-v3/config/locale/generic/time_members.h index 394989edd11..785a272aac5 100644 --- a/libstdc++-v3/config/locale/generic/time_members.h +++ b/libstdc++-v3/config/locale/generic/time_members.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file time_members.h +/** @file bits/time_members.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/gnu/c++locale_internal.h b/libstdc++-v3/config/locale/gnu/c++locale_internal.h index 03d3d623872..85d002206a1 100644 --- a/libstdc++-v3/config/locale/gnu/c++locale_internal.h +++ b/libstdc++-v3/config/locale/gnu/c++locale_internal.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++locale_internal.h +/** @file bits/c++locale_internal.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // Written by Jakub Jelinek <jakub@redhat.com> diff --git a/libstdc++-v3/config/locale/gnu/c_locale.h b/libstdc++-v3/config/locale/gnu/c_locale.h index 1809119d384..f3aa2e3cef2 100644 --- a/libstdc++-v3/config/locale/gnu/c_locale.h +++ b/libstdc++-v3/config/locale/gnu/c_locale.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++locale.h +/** @file bits/c++locale.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/gnu/messages_members.h b/libstdc++-v3/config/locale/gnu/messages_members.h index b633efa54fd..836f76aad87 100644 --- a/libstdc++-v3/config/locale/gnu/messages_members.h +++ b/libstdc++-v3/config/locale/gnu/messages_members.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file messages_members.h +/** @file bits/messages_members.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/gnu/time_members.h b/libstdc++-v3/config/locale/gnu/time_members.h index 5b81d9ce2fc..7d3ddc27ec7 100644 --- a/libstdc++-v3/config/locale/gnu/time_members.h +++ b/libstdc++-v3/config/locale/gnu/time_members.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file time_members.h +/** @file bits/time_members.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h index 8bac8d362d9..21a023f0c67 100644 --- a/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h +++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/c_locale.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++locale.h +/** @file bits/c++locale.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h index efc6be3f02d..8612984509d 100644 --- a/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h +++ b/libstdc++-v3/config/locale/ieee_1003.1-2001/messages_members.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file messages_members.h +/** @file bits/messages_members.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/aix/atomic_word.h b/libstdc++-v3/config/os/aix/atomic_word.h index bc3aafd7c33..0715f144c58 100644 --- a/libstdc++-v3/config/os/aix/atomic_word.h +++ b/libstdc++-v3/config/os/aix/atomic_word.h @@ -22,6 +22,11 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/atomic_word.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{ext/atomicity.h} + */ + #ifndef _GLIBCXX_ATOMIC_WORD_H #define _GLIBCXX_ATOMIC_WORD_H 1 @@ -33,6 +38,6 @@ typedef int _Atomic_word; #else #define _GLIBCXX_READ_MEM_BARRIER __asm __volatile ("":::"memory") #define _GLIBCXX_WRITE_MEM_BARRIER __asm __volatile ("":::"memory") -#endif +#endif #endif diff --git a/libstdc++-v3/config/os/aix/ctype_inline.h b/libstdc++-v3/config/os/aix/ctype_inline.h index 976025cb0ac..435f9cfc0e0 100644 --- a/libstdc++-v3/config/os/aix/ctype_inline.h +++ b/libstdc++-v3/config/os/aix/ctype_inline.h @@ -21,10 +21,10 @@ // a copy of the GCC Runtime Library Exception along with this program; // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. - -/** @file ctype_inline.h + +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // @@ -33,17 +33,17 @@ // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool ctype<char>:: - is(mask __m, char __c) const + is(mask __m, char __c) const { return __OBJ_DATA(__lc_ctype)->mask[__c] & __m; } const char* ctype<char>:: - is(const char* __low, const char* __high, mask* __vec) const + is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) *__vec++ = __OBJ_DATA(__lc_ctype)->mask[*__low++]; @@ -52,7 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) const char* ctype<char>:: - scan_is(mask __m, const char* __low, const char* __high) const + scan_is(mask __m, const char* __low, const char* __high) const { while (__low < __high && !this->is(__m, *__low)) ++__low; @@ -61,7 +61,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) const char* ctype<char>:: - scan_not(mask __m, const char* __low, const char* __high) const + scan_not(mask __m, const char* __low, const char* __high) const { while (__low < __high && this->is(__m, *__low) != 0) ++__low; diff --git a/libstdc++-v3/config/os/aix/ctype_noninline.h b/libstdc++-v3/config/os/aix/ctype_noninline.h index 6349167f81a..606b372e1fc 100644 --- a/libstdc++-v3/config/os/aix/ctype_noninline.h +++ b/libstdc++-v3/config/os/aix/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // @@ -42,7 +42,7 @@ : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : classic_table()) - { + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -53,7 +53,7 @@ : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(NULL), _M_tolower(NULL), _M_table(__table ? __table : classic_table()) - { + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -89,4 +89,3 @@ } return __high; } - diff --git a/libstdc++-v3/config/os/aix/os_defines.h b/libstdc++-v3/config/os/aix/os_defines.h index 642afa84313..6b06bd1b668 100644 --- a/libstdc++-v3/config/os/aix/os_defines.h +++ b/libstdc++-v3/config/os/aix/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/bionic/ctype_inline.h b/libstdc++-v3/config/os/bionic/ctype_inline.h index 2c88eb66d64..ef12c658635 100644 --- a/libstdc++-v3/config/os/bionic/ctype_inline.h +++ b/libstdc++-v3/config/os/bionic/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/bionic/ctype_noninline.h b/libstdc++-v3/config/os/bionic/ctype_noninline.h index 55eecd8716e..78bc2960800 100644 --- a/libstdc++-v3/config/os/bionic/ctype_noninline.h +++ b/libstdc++-v3/config/os/bionic/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/bionic/os_defines.h b/libstdc++-v3/config/os/bionic/os_defines.h index 832592acd49..0c8f77d139e 100644 --- a/libstdc++-v3/config/os/bionic/os_defines.h +++ b/libstdc++-v3/config/os/bionic/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h index 4b79a44ef08..91e25b23c94 100644 --- a/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h +++ b/libstdc++-v3/config/os/bsd/darwin/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h b/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h index ea524e5b6d3..07fe71d46cd 100644 --- a/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h +++ b/libstdc++-v3/config/os/bsd/darwin/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h index e3588870ee9..20636732ad1 100644 --- a/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h +++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_base.h @@ -25,11 +25,11 @@ // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from /usr/include/ctype.h on FreeBSD 3.4, // 4.0 and all versions of the CVS managed file at: // :pserver:anoncvs@anoncvs.freebsd.org:/home/ncvs/src/include/ctype.h - + _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype. diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h index 27d47d11d51..6a7b542b554 100644 --- a/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h +++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_inline.h @@ -22,24 +22,24 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool ctype<char>:: is(mask __m, char __c) const - { + { if (_M_table) return _M_table[static_cast<unsigned char>(__c)] & __m; else @@ -107,7 +107,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __low; } -#ifdef _GLIBCXX_USE_WCHAR_T +#ifdef _GLIBCXX_USE_WCHAR_T inline bool ctype<wchar_t>:: do_is(mask __m, wchar_t __c) const @@ -115,7 +115,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __istype (__c, __m); } - inline const wchar_t* + inline const wchar_t* ctype<wchar_t>:: do_is(const wchar_t* __lo, const wchar_t* __hi, mask* __vec) const { @@ -124,8 +124,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) | space | print | graph | cntrl | punct | alnum); return __hi; } - - inline const wchar_t* + + inline const wchar_t* ctype<wchar_t>:: do_scan_is(mask __m, const wchar_t* __lo, const wchar_t* __hi) const { diff --git a/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h b/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h index ea524e5b6d3..07fe71d46cd 100644 --- a/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h +++ b/libstdc++-v3/config/os/bsd/freebsd/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h index 5849f444b9a..343560c6c96 100644 --- a/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h b/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h index f971ab0310d..efdb26cb370 100644 --- a/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h +++ b/libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/djgpp/ctype_inline.h b/libstdc++-v3/config/os/djgpp/ctype_inline.h index e8dacbc4a41..399c64cd339 100644 --- a/libstdc++-v3/config/os/djgpp/ctype_inline.h +++ b/libstdc++-v3/config/os/djgpp/ctype_inline.h @@ -22,28 +22,28 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool ctype<char>:: - is(mask __m, char __c) const + is(mask __m, char __c) const { return _M_table[static_cast<unsigned char>(__c)] & __m; } const char* ctype<char>:: - is(const char* __low, const char* __high, mask* __vec) const + is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) *__vec++ = _M_table[static_cast<unsigned char>(*__low++)]; @@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: scan_is(mask __m, const char* __low, const char* __high) const { - while (__low < __high + while (__low < __high && !(_M_table[static_cast<unsigned char>(*__low)] & __m)) ++__low; return __low; @@ -64,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: scan_not(mask __m, const char* __low, const char* __high) const { - while (__low < __high + while (__low < __high && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0) ++__low; return __low; diff --git a/libstdc++-v3/config/os/djgpp/ctype_noninline.h b/libstdc++-v3/config/os/djgpp/ctype_noninline.h index e9005ee530a..8f359dbaf72 100644 --- a/libstdc++-v3/config/os/djgpp/ctype_noninline.h +++ b/libstdc++-v3/config/os/djgpp/ctype_noninline.h @@ -22,38 +22,38 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from DJGPP <ctype.h> const ctype_base::mask* ctype<char>::classic_table() throw() { return __dj_ctype_flags+1; } - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower), - _M_table(__table ? __table : classic_table()) - { + _M_table(__table ? __table : classic_table()) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); _M_narrow_ok = 0; } - ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(__dj_ctype_toupper), _M_tolower(__dj_ctype_tolower), - _M_table(__table ? __table : classic_table()) - { + _M_table(__table ? __table : classic_table()) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -79,7 +79,7 @@ ctype<char>::do_tolower(char __c) const { return _M_tolower[static_cast<unsigned char>(__c)]; } - const char* + const char* ctype<char>::do_tolower(char* __low, const char* __high) const { while (__low < __high) diff --git a/libstdc++-v3/config/os/djgpp/error_constants.h b/libstdc++-v3/config/os/djgpp/error_constants.h index 3efe540d302..d3590180de8 100644 --- a/libstdc++-v3/config/os/djgpp/error_constants.h +++ b/libstdc++-v3/config/os/djgpp/error_constants.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file error_constants.h +/** @file bits/error_constants.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{system_error} */ #ifndef _GLIBCXX_ERROR_CONSTANTS diff --git a/libstdc++-v3/config/os/djgpp/os_defines.h b/libstdc++-v3/config/os/djgpp/os_defines.h index 28c3fdca13f..dba8e458323 100644 --- a/libstdc++-v3/config/os/djgpp/os_defines.h +++ b/libstdc++-v3/config/os/djgpp/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/generic/ctype_base.h b/libstdc++-v3/config/os/generic/ctype_base.h index 2597a0cd651..34acea59a41 100644 --- a/libstdc++-v3/config/os/generic/ctype_base.h +++ b/libstdc++-v3/config/os/generic/ctype_base.h @@ -25,9 +25,9 @@ // // ISO C++ 14882: 22.1 Locales // - + // Default information, may not be appropriate for specific host. - + _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype. @@ -38,7 +38,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. - typedef unsigned int mask; + typedef unsigned int mask; static const mask upper = 1 << 0; static const mask lower = 1 << 1; static const mask alpha = 1 << 2; @@ -46,7 +46,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) static const mask xdigit = 1 << 4; static const mask space = 1 << 5; static const mask print = 1 << 6; - static const mask graph = (1 << 2) | (1 << 3) | (1 << 9); // alnum|punct + static const mask graph = (1 << 2) | (1 << 3) | (1 << 9); // alnum|punct static const mask cntrl = 1 << 8; static const mask punct = 1 << 9; static const mask alnum = (1 << 2) | (1 << 3); // alpha|digit diff --git a/libstdc++-v3/config/os/generic/ctype_inline.h b/libstdc++-v3/config/os/generic/ctype_inline.h index 7ebc8b49467..219620a1a12 100644 --- a/libstdc++-v3/config/os/generic/ctype_inline.h +++ b/libstdc++-v3/config/os/generic/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/generic/ctype_noninline.h b/libstdc++-v3/config/os/generic/ctype_noninline.h index a0beaf0876a..2bb47ce870c 100644 --- a/libstdc++-v3/config/os/generic/ctype_noninline.h +++ b/libstdc++-v3/config/os/generic/ctype_noninline.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/generic/error_constants.h b/libstdc++-v3/config/os/generic/error_constants.h index 61c0349e6b4..311bbf2d86e 100644 --- a/libstdc++-v3/config/os/generic/error_constants.h +++ b/libstdc++-v3/config/os/generic/error_constants.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file error_constants.h +/** @file bits/error_constants.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{system_error} */ #ifndef _GLIBCXX_ERROR_CONSTANTS diff --git a/libstdc++-v3/config/os/generic/os_defines.h b/libstdc++-v3/config/os/generic/os_defines.h index ecf9aa35e3f..61eb923aba8 100644 --- a/libstdc++-v3/config/os/generic/os_defines.h +++ b/libstdc++-v3/config/os/generic/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h index ff1f157102f..2baed6ac6ec 100644 --- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h +++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h @@ -23,17 +23,17 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/ctype_base.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{locale} + */ + // // ISO C++ 14882: 22.1 Locales // - -/** @file ctype_base.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. - */ // Information as gleaned from /usr/include/ctype.h - + _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype. @@ -44,7 +44,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. - typedef unsigned short mask; + typedef unsigned short mask; static const mask upper = _ISupper; static const mask lower = _ISlower; static const mask alpha = _ISalpha; diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h index 8ae82299c41..2fce1fd033e 100644 --- a/libstdc++-v3/config/os/gnu-linux/ctype_inline.h +++ b/libstdc++-v3/config/os/gnu-linux/ctype_inline.h @@ -22,18 +22,18 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool @@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: scan_is(mask __m, const char* __low, const char* __high) const { - while (__low < __high + while (__low < __high && !(_M_table[static_cast<unsigned char>(*__low)] & __m)) ++__low; return __low; @@ -64,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: scan_not(mask __m, const char* __low, const char* __high) const { - while (__low < __high + while (__low < __high && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0) ++__low; return __low; diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h b/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h index 4fc47a9b60c..492a731c2dc 100644 --- a/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h +++ b/libstdc++-v3/config/os/gnu-linux/ctype_noninline.h @@ -24,15 +24,15 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from /usr/include/ctype.h #if _GLIBCXX_C_LOCALE_GNU @@ -68,31 +68,31 @@ #endif #if _GLIBCXX_C_LOCALE_GNU - ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del, - size_t __refs) - : facet(__refs), _M_c_locale_ctype(_S_clone_c_locale(__cloc)), - _M_del(__table != 0 && __del), - _M_toupper(_M_c_locale_ctype->__ctype_toupper), - _M_tolower(_M_c_locale_ctype->__ctype_tolower), - _M_table(__table ? __table : _M_c_locale_ctype->__ctype_b), - _M_widen_ok(0), _M_narrow_ok(0) + ctype<char>::ctype(__c_locale __cloc, const mask* __table, bool __del, + size_t __refs) + : facet(__refs), _M_c_locale_ctype(_S_clone_c_locale(__cloc)), + _M_del(__table != 0 && __del), + _M_toupper(_M_c_locale_ctype->__ctype_toupper), + _M_tolower(_M_c_locale_ctype->__ctype_tolower), + _M_table(__table ? __table : _M_c_locale_ctype->__ctype_b), + _M_widen_ok(0), _M_narrow_ok(0) { __builtin_memset(_M_widen, 0, sizeof(_M_widen)); __builtin_memset(_M_narrow, 0, sizeof(_M_narrow)); } #else - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) - : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0) { char* __old = setlocale(LC_CTYPE, NULL); char* __sav = NULL; if (__builtin_strcmp(__old, "C")) - { + { const size_t __len = __builtin_strlen(__old) + 1; __sav = new char[__len]; - __builtin_memcpy(__sav, __old, __len); + __builtin_memcpy(__sav, __old, __len); setlocale(LC_CTYPE, "C"); } #if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) @@ -115,20 +115,20 @@ #endif #if _GLIBCXX_C_LOCALE_GNU - ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), _M_del(__table != 0 && __del), - _M_toupper(_M_c_locale_ctype->__ctype_toupper), - _M_tolower(_M_c_locale_ctype->__ctype_tolower), - _M_table(__table ? __table : _M_c_locale_ctype->__ctype_b), - _M_widen_ok(0), _M_narrow_ok(0) + _M_toupper(_M_c_locale_ctype->__ctype_toupper), + _M_tolower(_M_c_locale_ctype->__ctype_tolower), + _M_table(__table ? __table : _M_c_locale_ctype->__ctype_b), + _M_widen_ok(0), _M_narrow_ok(0) { __builtin_memset(_M_widen, 0, sizeof(_M_widen)); __builtin_memset(_M_narrow, 0, sizeof(_M_narrow)); } #else ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), + : facet(__refs), _M_c_locale_ctype(_S_get_c_locale()), _M_del(__table != 0 && __del), _M_widen_ok(0), _M_narrow_ok(0) { char* __old = setlocale(LC_CTYPE, NULL); @@ -178,7 +178,7 @@ ctype<char>::do_tolower(char __c) const { return _M_tolower[static_cast<unsigned char>(__c)]; } - const char* + const char* ctype<char>::do_tolower(char* __low, const char* __high) const { while (__low < __high) diff --git a/libstdc++-v3/config/os/gnu-linux/os_defines.h b/libstdc++-v3/config/os/gnu-linux/os_defines.h index 9c42b3ab09b..922e2e9a328 100644 --- a/libstdc++-v3/config/os/gnu-linux/os_defines.h +++ b/libstdc++-v3/config/os/gnu-linux/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/hpux/ctype_inline.h b/libstdc++-v3/config/os/hpux/ctype_inline.h index 564d6d2e775..a4fd531f25f 100644 --- a/libstdc++-v3/config/os/hpux/ctype_inline.h +++ b/libstdc++-v3/config/os/hpux/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/hpux/ctype_noninline.h b/libstdc++-v3/config/os/hpux/ctype_noninline.h index 37e2e7b31ef..3bd7de3d9ad 100644 --- a/libstdc++-v3/config/os/hpux/ctype_noninline.h +++ b/libstdc++-v3/config/os/hpux/ctype_noninline.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/hpux/os_defines.h b/libstdc++-v3/config/os/hpux/os_defines.h index 6edafe22437..32dc40b7103 100644 --- a/libstdc++-v3/config/os/hpux/os_defines.h +++ b/libstdc++-v3/config/os/hpux/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/irix/atomic_word.h b/libstdc++-v3/config/os/irix/atomic_word.h index 677aa798cb3..28f9ed85081 100644 --- a/libstdc++-v3/config/os/irix/atomic_word.h +++ b/libstdc++-v3/config/os/irix/atomic_word.h @@ -22,6 +22,11 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/atomic_word.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{ext/atomicity.h} + */ + #ifndef _GLIBCXX_ATOMIC_WORD_H #define _GLIBCXX_ATOMIC_WORD_H 1 diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h index 4107ad85638..e6741877c65 100644 --- a/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h +++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_base.h @@ -22,12 +22,17 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/ctype_base.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{locale} + */ + // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from /usr/include/ctype.h on irix 6.5 - + _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype. diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h index d99997b6f0b..c1df63b022f 100644 --- a/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h +++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_inline.h @@ -22,18 +22,18 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool diff --git a/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h b/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h index a8a16862ea4..c29f765f037 100644 --- a/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h +++ b/libstdc++-v3/config/os/irix/irix6.5/ctype_noninline.h @@ -22,28 +22,28 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from /usr/include/ctype.h const ctype_base::mask* ctype<char>::classic_table() throw() { return 0; } - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), - _M_toupper(NULL), _M_tolower(NULL), - _M_table(!__table ? - (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table) - { + : facet(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(!__table ? + (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -51,11 +51,11 @@ } ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), - _M_toupper(NULL), _M_tolower(NULL), - _M_table(!__table ? - (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table) - { + : facet(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(!__table ? + (const mask*) (__libc_attr._ctype_tbl->_class + 1) : __table) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -81,7 +81,7 @@ ctype<char>::do_tolower(char __c) const { return _tolower(__c); } - const char* + const char* ctype<char>::do_tolower(char* __low, const char* __high) const { while (__low < __high) @@ -91,4 +91,3 @@ } return __high; } - diff --git a/libstdc++-v3/config/os/irix/irix6.5/os_defines.h b/libstdc++-v3/config/os/irix/irix6.5/os_defines.h index 1bfd862d8cf..7128190ecbb 100644 --- a/libstdc++-v3/config/os/irix/irix6.5/os_defines.h +++ b/libstdc++-v3/config/os/irix/irix6.5/os_defines.h @@ -22,6 +22,11 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/os_defines.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} + */ + #ifndef _GLIBCXX_OS_DEFINES #define _GLIBCXX_OS_DEFINES 1 diff --git a/libstdc++-v3/config/os/mingw32/ctype_inline.h b/libstdc++-v3/config/os/mingw32/ctype_inline.h index ab5a605cfc5..3f96b4837b8 100644 --- a/libstdc++-v3/config/os/mingw32/ctype_inline.h +++ b/libstdc++-v3/config/os/mingw32/ctype_inline.h @@ -22,15 +22,15 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc @@ -40,11 +40,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: is(mask __m, char __c) const { return (_M_table[static_cast<unsigned char>(__c) ] & __m); } - - + + const char* ctype<char>:: - is(const char* __low, const char* __high, mask* __vec) const + is(const char* __low, const char* __high, mask* __vec) const { while (__low < __high) *__vec++ = _M_table[static_cast<unsigned char>(*__low++)]; diff --git a/libstdc++-v3/config/os/mingw32/ctype_noninline.h b/libstdc++-v3/config/os/mingw32/ctype_noninline.h index 047e52ff716..968797b118e 100644 --- a/libstdc++-v3/config/os/mingw32/ctype_noninline.h +++ b/libstdc++-v3/config/os/mingw32/ctype_noninline.h @@ -23,15 +23,15 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // The classic table used in libstdc++ is *not* the C _ctype table // used by mscvrt, but is based on the ctype masks defined for libstdc++ // in ctype_base.h. @@ -39,7 +39,7 @@ const ctype_base::mask* ctype<char>::classic_table() throw() { - static const ctype_base::mask _S_classic_table[256] = + static const ctype_base::mask _S_classic_table[256] = { cntrl /* null */, cntrl /* ^A */, @@ -182,23 +182,23 @@ return _S_classic_table; } - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(NULL), _M_tolower(NULL), - _M_table(__table ? __table : classic_table()) - { + _M_table(__table ? __table : classic_table()) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); _M_narrow_ok = 0; } - ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), _M_toupper(NULL), _M_tolower(NULL), - _M_table(__table ? __table : classic_table()) - { + _M_table(__table ? __table : classic_table()) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -224,7 +224,7 @@ ctype<char>::do_tolower(char __c) const { return (this->is(ctype_base::upper, __c) ? (__c - 'A' + 'a') : __c); } - const char* + const char* ctype<char>::do_tolower(char* __low, const char* __high) const { while (__low < __high) @@ -234,7 +234,3 @@ } return __high; } - - - - diff --git a/libstdc++-v3/config/os/mingw32/error_constants.h b/libstdc++-v3/config/os/mingw32/error_constants.h index 2fa387745ac..7c6c59b17f8 100644 --- a/libstdc++-v3/config/os/mingw32/error_constants.h +++ b/libstdc++-v3/config/os/mingw32/error_constants.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file error_constants.h +/** @file bits/error_constants.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{system_error} */ #ifndef _GLIBCXX_ERROR_CONSTANTS @@ -80,8 +80,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) // no_child_process = ECHILD, // no_link = ENOLINK, no_lock_available = ENOLCK, -// no_message_available = ENODATA, -// no_message = ENOMSG, +// no_message_available = ENODATA, +// no_message = ENOMSG, // no_protocol_option = ENOPROTOOPT, // no_space_on_device = ENOSPC, // no_stream_resources = ENOSR, diff --git a/libstdc++-v3/config/os/mingw32/os_defines.h b/libstdc++-v3/config/os/mingw32/os_defines.h index 22a11f5a9d9..ac1a90d0a6d 100644 --- a/libstdc++-v3/config/os/mingw32/os_defines.h +++ b/libstdc++-v3/config/os/mingw32/os_defines.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/newlib/ctype_inline.h b/libstdc++-v3/config/os/newlib/ctype_inline.h index ffc61cd52cd..72053096b49 100644 --- a/libstdc++-v3/config/os/newlib/ctype_inline.h +++ b/libstdc++-v3/config/os/newlib/ctype_inline.h @@ -22,18 +22,18 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool @@ -52,7 +52,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) const char* ctype<char>:: - scan_is(mask __m, const char* __low, const char* __high) const + scan_is(mask __m, const char* __low, const char* __high) const { while (__low < __high && !this->is(__m, *__low)) ++__low; diff --git a/libstdc++-v3/config/os/newlib/ctype_noninline.h b/libstdc++-v3/config/os/newlib/ctype_noninline.h index 7fc8fbbb940..c9db357deda 100644 --- a/libstdc++-v3/config/os/newlib/ctype_noninline.h +++ b/libstdc++-v3/config/os/newlib/ctype_noninline.h @@ -22,38 +22,38 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from /usr/include/ctype.h - + const ctype_base::mask* ctype<char>::classic_table() throw() { return _ctype_ + 1; } - ctype<char>::ctype(__c_locale, const mask* __table, bool __del, - size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), - _M_toupper(NULL), _M_tolower(NULL), - _M_table(__table ? __table : classic_table()) - { + ctype<char>::ctype(__c_locale, const mask* __table, bool __del, + size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); _M_narrow_ok = 0; } - ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) - : facet(__refs), _M_del(__table != 0 && __del), - _M_toupper(NULL), _M_tolower(NULL), - _M_table(__table ? __table : classic_table()) - { + ctype<char>::ctype(const mask* __table, bool __del, size_t __refs) + : facet(__refs), _M_del(__table != 0 && __del), + _M_toupper(NULL), _M_tolower(NULL), + _M_table(__table ? __table : classic_table()) + { memset(_M_widen, 0, sizeof(_M_widen)); _M_widen_ok = 0; memset(_M_narrow, 0, sizeof(_M_narrow)); @@ -62,7 +62,7 @@ char ctype<char>::do_toupper(char __c) const - { + { int __x = __c; return (this->is(ctype_base::lower, __c) ? (__x - 'a' + 'A') : __x); } @@ -80,12 +80,12 @@ char ctype<char>::do_tolower(char __c) const - { + { int __x = __c; return (this->is(ctype_base::upper, __c) ? (__x - 'A' + 'a') : __x); } - const char* + const char* ctype<char>::do_tolower(char* __low, const char* __high) const { while (__low < __high) @@ -95,4 +95,3 @@ } return __high; } - diff --git a/libstdc++-v3/config/os/newlib/os_defines.h b/libstdc++-v3/config/os/newlib/os_defines.h index 1ff3d4846cb..3094cc66f46 100644 --- a/libstdc++-v3/config/os/newlib/os_defines.h +++ b/libstdc++-v3/config/os/newlib/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h index 43f6ffa0a85..620db3a0d4e 100644 --- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h +++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_base.h @@ -22,12 +22,17 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/ctype_base.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{locale} + */ + // // ISO C++ 14882: 22.1 Locales // - + // Information as gleaned from /usr/include/ctype.h. - + _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype. diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h index 70134808da8..2baa1665472 100644 --- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h +++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h index 7956c9b30e2..08f0f3e312d 100644 --- a/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h +++ b/libstdc++-v3/config/os/qnx/qnx6.1/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h index 564d6d2e775..a4fd531f25f 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h +++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h index ff5d9d8ba1a..42f7c1e42ea 100644 --- a/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h +++ b/libstdc++-v3/config/os/solaris/solaris2.7/ctype_noninline.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/tpf/ctype_inline.h b/libstdc++-v3/config/os/tpf/ctype_inline.h index c2a1bff1d65..deea52afdd4 100644 --- a/libstdc++-v3/config/os/tpf/ctype_inline.h +++ b/libstdc++-v3/config/os/tpf/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/tpf/ctype_noninline.h b/libstdc++-v3/config/os/tpf/ctype_noninline.h index 64917c4d324..4fc340cc82c 100644 --- a/libstdc++-v3/config/os/tpf/ctype_noninline.h +++ b/libstdc++-v3/config/os/tpf/ctype_noninline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/tpf/os_defines.h b/libstdc++-v3/config/os/tpf/os_defines.h index 0154a29d97b..56e0be90a5a 100644 --- a/libstdc++-v3/config/os/tpf/os_defines.h +++ b/libstdc++-v3/config/os/tpf/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/uclibc/ctype_base.h b/libstdc++-v3/config/os/uclibc/ctype_base.h index 7549c73c77f..d60d1190d3e 100644 --- a/libstdc++-v3/config/os/uclibc/ctype_base.h +++ b/libstdc++-v3/config/os/uclibc/ctype_base.h @@ -23,30 +23,30 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file bits/ctype_base.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{locale} + */ + // // ISO C++ 14882: 22.1 Locales // - -/** @file ctype_base.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. - */ // Information as gleaned from /usr/include/ctype.h - + _GLIBCXX_BEGIN_NAMESPACE(std) /// @brief Base class for ctype. struct ctype_base { // Note: In uClibc, the following two types depend on configuration. - + // Non-standard typedefs. typedef const __ctype_touplow_t* __to_type; // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. - typedef __ctype_mask_t mask; + typedef __ctype_mask_t mask; static const mask upper = _ISupper; static const mask lower = _ISlower; static const mask alpha = _ISalpha; diff --git a/libstdc++-v3/config/os/uclibc/ctype_inline.h b/libstdc++-v3/config/os/uclibc/ctype_inline.h index 1309416e98e..2edeae5a5ab 100644 --- a/libstdc++-v3/config/os/uclibc/ctype_inline.h +++ b/libstdc++-v3/config/os/uclibc/ctype_inline.h @@ -22,18 +22,18 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // // ISO C++ 14882: 22.1 Locales // - + // ctype bits to be inlined go here. Non-inlinable (ie virtual do_*) // functions go in ctype.cc - + _GLIBCXX_BEGIN_NAMESPACE(std) bool @@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: scan_is(mask __m, const char* __low, const char* __high) const { - while (__low < __high + while (__low < __high && !(_M_table[static_cast<unsigned char>(*__low)] & __m)) ++__low; return __low; @@ -64,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) ctype<char>:: scan_not(mask __m, const char* __low, const char* __high) const { - while (__low < __high + while (__low < __high && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0) ++__low; return __low; diff --git a/libstdc++-v3/config/os/uclibc/ctype_noninline.h b/libstdc++-v3/config/os/uclibc/ctype_noninline.h index e7eac1be332..68e97131d2d 100644 --- a/libstdc++-v3/config/os/uclibc/ctype_noninline.h +++ b/libstdc++-v3/config/os/uclibc/ctype_noninline.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/uclibc/os_defines.h b/libstdc++-v3/config/os/uclibc/os_defines.h index f9d11d16b57..ac8c28c04c7 100644 --- a/libstdc++-v3/config/os/uclibc/os_defines.h +++ b/libstdc++-v3/config/os/uclibc/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/config/os/vxworks/ctype_inline.h b/libstdc++-v3/config/os/vxworks/ctype_inline.h index 6221e736507..929d7104bcb 100644 --- a/libstdc++-v3/config/os/vxworks/ctype_inline.h +++ b/libstdc++-v3/config/os/vxworks/ctype_inline.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_inline.h +/** @file bits/ctype_inline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/vxworks/ctype_noninline.h b/libstdc++-v3/config/os/vxworks/ctype_noninline.h index ee6d5e39760..a2d9119be18 100644 --- a/libstdc++-v3/config/os/vxworks/ctype_noninline.h +++ b/libstdc++-v3/config/os/vxworks/ctype_noninline.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ctype_noninline.h +/** @file bits/ctype_noninline.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/config/os/vxworks/os_defines.h b/libstdc++-v3/config/os/vxworks/os_defines.h index 4661bfbcfc5..b436f47d086 100644 --- a/libstdc++-v3/config/os/vxworks/os_defines.h +++ b/libstdc++-v3/config/os/vxworks/os_defines.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file os_defines.h +/** @file bits/os_defines.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_OS_DEFINES diff --git a/libstdc++-v3/doc/doxygen/TODO b/libstdc++-v3/doc/doxygen/TODO deleted file mode 100644 index d50c65d8bab..00000000000 --- a/libstdc++-v3/doc/doxygen/TODO +++ /dev/null @@ -1,70 +0,0 @@ - -The approach I've been using for a given header is to recursively do each -of the "bits" headers which make up the standard header. So, e.g., while -there are four headers making up <algorithm>, three of them were already -documented in the course of doing other headers. - -"Untouched" means I've deliberately skipped it for various reasons, or -haven't gotten to it yet. It /will/ be done (by somebody, eventually.) - -If you document an area and need to skip (for whatever reason) a non-trivial -entity (i.e., one that should be documented), go ahead and add the comment -markup, and use the homegrown @doctodo tag. See include/bits/stl_iterator.h -for examples of this. Doing so will at least cause doxygen to consider the -entitiy as documented and include it in the output. It will also add the -entity to the generated TODO page. - - - Area Still needs to be doxygen-documented ------------------------------------------------------------ - -c17 FINISHED (Nothing in Clause 17 "exists" in terms of code.) -c18 FINISHED, Note A -c19 Note A -c20 Note A -c21 Public functions basic_string done, Note B -c22 Most still to do; see docs/html/22_locale/* -c23 See doxygroups.cc and Note B. Notes on what invalidates - iterators need to be added. -c24 stl_iterator.h (__normal_iterator, other small TODO bits) - stream iterators -c25 stl_algo.h (lots of stuff) -c26 <complex>, <valarray>, stl_numeric.h[26.4], Note A -c27 ios_base callbacks and local storage - basic_ios::copyfmt() - std_streambuf.h's __copy_streambufs() - " " _M_* protected memfns (data has been done) - fstream and sstream protected members - -backward/* Not scanned by doxygen. Should it be? Doubtful. - -ext/* Some of the SGI algorithm/functional extensions. - All of rope/hashing/slist need docs. - -__gnu_cxx Tricky. Right now ext/* are in this namespace. - ------------------------------------------------------------ - -NOTES: - -A) So far I have not tried to document any of the <c*> headers. So entities -such as atexit() are undocumented throughout the library. Since we usually -do not have the C code (to which the doxygen comments would be attached), -this would need to be done in entirely separate files, a la doxygroups.cc. - -B) Huge chunks of containers and strings are described in common "Tables" -in the standard. These are pseudo-duplicated in tables.html. We can -use doxygen hooks like @pre and @see to reference the tables. Then the -individual classes do like the standard does, and only document members for -which additional info is available. - - -STYLE: -stl_deque.h, stl_pair.h, and stl_algobase.h have good examples of what I've -been using for class, namespace-scope, and function documentation, respectively. -These should serve as starting points. /Please/ maintain the inter-word and -inter-sentence spacing, as this might be generated and/or scanned in the -future. - - -vim:ts=4:et: diff --git a/libstdc++-v3/doc/doxygen/user.cfg.in b/libstdc++-v3/doc/doxygen/user.cfg.in index 6d167ac8152..c9b2df899af 100644 --- a/libstdc++-v3/doc/doxygen/user.cfg.in +++ b/libstdc++-v3/doc/doxygen/user.cfg.in @@ -1,14 +1,14 @@ -# Doxyfile 1.7.1 +# Doxyfile 1.7.2 # This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project +# doxygen (www.doxygen.org) for a project. # -# All text after a hash (#) is considered a comment and will be ignored +# All text after a hash (#) is considered a comment and will be ignored. # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") +# Values that contain spaces should be placed between quotes (" "). #--------------------------------------------------------------------------- # Project related configuration options @@ -126,7 +126,7 @@ STRIP_FROM_PATH = STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems +# (but less readable) file names. This can be useful if your file system # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = @shortname@ @@ -179,8 +179,10 @@ TAB_SIZE = 4 # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. -ALIASES = "doctodo=@todo\nDoc me! See doc/doxygen/TODO and http://gcc.gnu.org/ml/libstdc++/2002-02/msg00003.html for more. " \ - "isiosfwd=One of the @link io I/O @endlink typedefs" +ALIASES = doctodo="@todo\nNeeds documentation! See http://gcc.gnu.org/onlinedocs/libstdc++/manual/documentation_style.html" + +ALIASES += headername{1}="Instead, include <\1>." +ALIASES += headername{2}="Instead, include <\1> or <\2>." # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. @@ -224,7 +226,7 @@ EXTENSION_MAPPING = # to include (a tag file for) the STL sources as input, then you should # set this tag to YES in order to let doxygen match functions declarations and # definitions whose arguments contain STL classes (e.g. func(std::string); v.s. -# func(std::string) {}). This also make the inheritance and collaboration +# func(std::string) {}). This also makes the inheritance and collaboration # diagrams that involve STL classes more complete and accurate. BUILTIN_STL_SUPPORT = NO @@ -242,7 +244,7 @@ SIP_SUPPORT = NO # For Microsoft's IDL there are propget and propput attributes to indicate getter # and setter methods for a property. Setting this option to YES (the default) -# will make doxygen to replace the get and set methods by a property in the +# will make doxygen replace the get and set methods by a property in the # documentation. This will only work if the methods are indeed getting or # setting a simple type. If this is not the case, or you want to show the # methods anyway, you should set this option to NO. @@ -283,7 +285,7 @@ TYPEDEF_HIDES_STRUCT = NO # causing a significant performance penality. # If the system has enough physical memory increasing the cache will improve the # performance by keeping more symbols in memory. Note that the value works on -# a logarithmic scale so increasing the size by one will rougly double the +# a logarithmic scale so increasing the size by one will roughly double the # memory usage. The cache size is given by this formula: # 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0, # corresponding to a cache size of 2^16 = 65536 symbols @@ -328,7 +330,7 @@ EXTRACT_LOCAL_METHODS = YES # extracted and appear in the documentation as a namespace called # 'anonymous_namespace{file}', where file will be replaced with the base # name of the file that contains the anonymous namespace. By default -# anonymous namespace are hidden. +# anonymous namespaces are hidden. EXTRACT_ANON_NSPACES = NO @@ -469,10 +471,10 @@ GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = @enabled_sections@ # The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in +# the initial value of a variable or macro consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the +# The appearance of the initializer of individual variables and macros in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. @@ -550,7 +552,7 @@ WARN_IF_UNDOCUMENTED = NO WARN_IF_DOC_ERROR = YES -# This WARN_NO_PARAMDOC option can be abled to get warnings for +# The WARN_NO_PARAMDOC option can be enabled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of @@ -583,146 +585,146 @@ WARN_LOGFILE = # with spaces. INPUT = @srcdir@/doc/doxygen/doxygroups.cc \ - @srcdir@/libsupc++/cxxabi.h \ - @srcdir@/libsupc++/cxxabi-forced.h \ - @srcdir@/libsupc++/exception \ - @srcdir@/libsupc++/exception_defines.h \ - @srcdir@/libsupc++/exception_ptr.h \ - @srcdir@/libsupc++/initializer_list \ - @srcdir@/libsupc++/nested_exception.h \ - @srcdir@/libsupc++/new \ - @srcdir@/libsupc++/typeinfo \ - include/algorithm \ - include/array \ - include/atomic \ - include/bitset \ - include/chrono \ - include/complex \ - include/condition_variable \ - include/deque \ - include/forward_list \ - include/fstream \ - include/functional \ - include/future \ - include/iomanip \ - include/ios \ - include/iosfwd \ - include/iostream \ - include/istream \ - include/iterator \ - include/limits \ - include/list \ - include/locale \ - include/map \ - include/memory \ - include/mutex \ - include/numeric \ - include/ostream \ - include/queue \ - include/random \ - include/ratio \ - include/regex \ - include/set \ - include/sstream \ - include/stack \ - include/stdexcept \ - include/streambuf \ - include/string \ - include/system_error \ - include/thread \ - include/tuple \ - include/typeindex \ - include/type_traits \ - include/unordered_map \ - include/unordered_set \ - include/utility \ - include/valarray \ - include/vector \ - include/cassert \ - include/ccomplex \ - include/cctype \ - include/cerrno \ - include/cfenv \ - include/cfloat \ - include/cinttypes \ - include/ciso646 \ - include/climits \ - include/clocale \ - include/cmath \ - include/csetjmp \ - include/csignal \ - include/cstdarg \ - include/cstdbool \ - include/cstddef \ - include/cstdint \ - include/cstdio \ - include/cstdlib \ - include/cstring \ - include/ctgmath \ - include/ctime \ - include/cwchar \ - include/cwctype \ - include/backward/hash_map \ - include/backward/hash_set \ - include/backward/strstream \ - include/debug/bitset \ - include/debug/deque \ - include/debug/forward_list \ - include/debug/list \ - include/debug/map \ - include/debug/set \ - include/debug/string \ - include/debug/unordered_map \ - include/debug/unordered_set \ - include/debug/vector \ - include/profile/bitset \ - include/profile/deque \ - include/profile/forward_list \ - include/profile/list \ - include/profile/map \ - include/profile/set \ - include/profile/unordered_map \ - include/profile/unordered_set \ - include/profile/vector \ - include/ext/algorithm \ - include/ext/functional \ - include/ext/iterator \ - include/ext/memory \ - include/ext/numeric \ - include/ext/rb_tree \ - include/ext/rope \ - include/ext/slist \ - include/parallel/algorithm \ - include/parallel/numeric \ - include/tr1/ccomplex \ - include/tr1/cctype \ - include/tr1/cfenv \ - include/tr1/cfloat \ - include/tr1/cinttypes \ - include/tr1/climits \ - include/tr1/cmath \ - include/tr1/complex \ - include/tr1/cstdarg \ - include/tr1/cstdbool \ - include/tr1/cstdint \ - include/tr1/cstdio \ - include/tr1/cstdlib \ - include/tr1/ctgmath \ - include/tr1/ctime \ - include/tr1/cwchar \ - include/tr1/cwctype \ - include/decimal/decimal \ - include/ \ - include/@host_alias@/bits \ - include/backward \ - include/bits \ - include/debug \ - include/parallel \ - include/profile \ - include/profile/impl \ - include/ext \ - include/ext/pb_ds \ - include/ext/pb_ds/detail + @srcdir@/libsupc++/cxxabi.h \ + @srcdir@/libsupc++/cxxabi-forced.h \ + @srcdir@/libsupc++/exception \ + @srcdir@/libsupc++/exception_defines.h \ + @srcdir@/libsupc++/exception_ptr.h \ + @srcdir@/libsupc++/initializer_list \ + @srcdir@/libsupc++/nested_exception.h \ + @srcdir@/libsupc++/new \ + @srcdir@/libsupc++/typeinfo \ + include/algorithm \ + include/array \ + include/atomic \ + include/bitset \ + include/chrono \ + include/complex \ + include/condition_variable \ + include/deque \ + include/forward_list \ + include/fstream \ + include/functional \ + include/future \ + include/iomanip \ + include/ios \ + include/iosfwd \ + include/iostream \ + include/istream \ + include/iterator \ + include/limits \ + include/list \ + include/locale \ + include/map \ + include/memory \ + include/mutex \ + include/numeric \ + include/ostream \ + include/queue \ + include/random \ + include/ratio \ + include/regex \ + include/set \ + include/sstream \ + include/stack \ + include/stdexcept \ + include/streambuf \ + include/string \ + include/system_error \ + include/thread \ + include/tuple \ + include/typeindex \ + include/type_traits \ + include/unordered_map \ + include/unordered_set \ + include/utility \ + include/valarray \ + include/vector \ + include/cassert \ + include/ccomplex \ + include/cctype \ + include/cerrno \ + include/cfenv \ + include/cfloat \ + include/cinttypes \ + include/ciso646 \ + include/climits \ + include/clocale \ + include/cmath \ + include/csetjmp \ + include/csignal \ + include/cstdarg \ + include/cstdbool \ + include/cstddef \ + include/cstdint \ + include/cstdio \ + include/cstdlib \ + include/cstring \ + include/ctgmath \ + include/ctime \ + include/cwchar \ + include/cwctype \ + include/backward/hash_map \ + include/backward/hash_set \ + include/backward/strstream \ + include/debug/bitset \ + include/debug/deque \ + include/debug/forward_list \ + include/debug/list \ + include/debug/map \ + include/debug/set \ + include/debug/string \ + include/debug/unordered_map \ + include/debug/unordered_set \ + include/debug/vector \ + include/profile/bitset \ + include/profile/deque \ + include/profile/forward_list \ + include/profile/list \ + include/profile/map \ + include/profile/set \ + include/profile/unordered_map \ + include/profile/unordered_set \ + include/profile/vector \ + include/ext/algorithm \ + include/ext/functional \ + include/ext/iterator \ + include/ext/memory \ + include/ext/numeric \ + include/ext/rb_tree \ + include/ext/rope \ + include/ext/slist \ + include/parallel/algorithm \ + include/parallel/numeric \ + include/tr1/ccomplex \ + include/tr1/cctype \ + include/tr1/cfenv \ + include/tr1/cfloat \ + include/tr1/cinttypes \ + include/tr1/climits \ + include/tr1/cmath \ + include/tr1/complex \ + include/tr1/cstdarg \ + include/tr1/cstdbool \ + include/tr1/cstdint \ + include/tr1/cstdio \ + include/tr1/cstdlib \ + include/tr1/ctgmath \ + include/tr1/ctime \ + include/tr1/cwchar \ + include/tr1/cwctype \ + include/decimal/decimal \ + include/ \ + include/@host_alias@/bits \ + include/backward \ + include/bits \ + include/debug \ + include/parallel \ + include/profile \ + include/profile/impl \ + include/ext \ + include/ext/pb_ds \ + include/ext/pb_ds/detail # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is @@ -736,12 +738,13 @@ INPUT_ENCODING = UTF-8 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90 +# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh +# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py +# *.f90 *.f *.vhd *.vhdl FILE_PATTERNS = *.h \ - *.hpp \ - *.tcc + *.hpp \ + *.tcc # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. @@ -767,9 +770,9 @@ EXCLUDE_SYMLINKS = NO # against the file with absolute path, so to exclude all test directories # for example use the pattern */test/* -EXCLUDE_PATTERNS = stamp-* \ - *.gch \ - */.svn/* +EXCLUDE_PATTERNS = stamp-* doxygroups.cc \ + *.gch \ + */.svn/* # The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names # (namespaces, classes, functions, etc.) that should be excluded from the @@ -1026,10 +1029,9 @@ DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.gnu.libstdc++ -# When GENERATE_PUBLISHER_ID tag specifies a string that should -# uniquely identify the documentation publisher. This should be a -# reverse domain-name style string, -# e.g. com.mycompany.MyDocSet.documentation. +# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify +# the documentation publisher. This should be a reverse domain-name style +# string, e.g. com.mycompany.MyDocSet.documentation. DOCSET_PUBLISHER_ID = org.fsf @@ -1157,8 +1159,9 @@ ECLIPSE_DOC_ID = org.doxygen.Project DISABLE_INDEX = YES -# This tag can be used to set the number of enum values (range [1..20]) +# This tag can be used to set the number of enum values (range [0,1..20]) # that doxygen will group on one line in the generated HTML documentation. +# Note that a value of 0 will completely suppress the enum values from appearing in the overview section. ENUM_VALUES_PER_LINE = 4 @@ -1204,6 +1207,25 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES +# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax +# (see http://www.mathjax.org) which uses client side Javascript for the +# rendering instead of using prerendered bitmaps. Use this if you do not +# have LaTeX installed or if you want to formulas look prettier in the HTML +# output. When enabled you also need to install MathJax separately and +# configure the path to it using the MATHJAX_RELPATH option. + +USE_MATHJAX = NO + +# When MathJax is enabled you need to specify the location relative to the +# HTML output directory using the MATHJAX_RELPATH option. The destination +# directory should contain the MathJax.js script. For instance, if the mathjax +# directory is located at the same level as the HTML output directory, then +# MATHJAX_RELPATH should be ../mathjax. The default value points to the mathjax.org site, so you can quickly see the result without installing +# MathJax, but it is strongly recommended to install a local copy of MathJax +# before deployment. + +MATHJAX_RELPATH = http://www.mathjax.org/mathjax + # When the SEARCHENGINE tag is enabled doxygen will generate a search box # for the HTML output. The underlying search engine uses javascript # and DHTML and should work on any modern browser. Note that when using @@ -1219,7 +1241,7 @@ SEARCHENGINE = NO # using Javascript. Doxygen will generate the search PHP script and index # file to put on the web server. The advantage of the server # based approach is that it scales better to large projects and allows -# full text search. The disadvances is that it is more difficult to setup +# full text search. The disadvantages are that it is more difficult to setup # and does not have live searching capabilities. SERVER_BASED_SEARCH = NO @@ -1260,7 +1282,7 @@ MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and +# by the printer. Possible values are: a4, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = letter @@ -1512,44 +1534,44 @@ INCLUDE_FILE_PATTERNS = # instead of the = operator. PREDEFINED = __cplusplus \ - __GTHREADS \ - _GLIBCXX_HAS_GTHREADS \ - __GXX_EXPERIMENTAL_CXX0X__ \ - _GLIBCXX_INCLUDE_AS_CXX0X \ - "_GLIBCXX_PURE= " \ - "_GLIBCXX_CONST= " \ - "_GLIBCXX_NORETURN= " \ - "_GLIBCXX_NOTHROW= " \ - "_GLIBCXX_STD_D= " \ - "_GLIBCXX_STD_P= " \ - "_GLIBCXX_STD_PR= " \ - _GLIBCXX_STD=std \ - "_GLIBCXX_TR1= " \ - "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \ - "_GLIBCXX_END_NAMESPACE_TR1= " \ - "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name { " \ - "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name { " \ - _GLIBCXX_END_NAMESPACE=} \ - _GLIBCXX_END_NESTED_NAMESPACE=} \ - "_GLIBCXX_TEMPLATE_ARGS=... " \ - _GLIBCXX_DEPRECATED \ - _GLIBCXX_CONSTEXPR=constexpr \ - _GLIBCXX_USE_CONSTEXPR=constexpr \ - _GLIBCXX_USE_WCHAR_T \ - _GLIBCXX_USE_LONG_LONG \ - _GLIBCXX_USE_C99_STDINT_TR1 \ - _GLIBCXX_ATOMIC_BUILTINS_1 \ - _GLIBCXX_ATOMIC_BUILTINS_2 \ - _GLIBCXX_ATOMIC_BUILTINS_4 \ - _GLIBCXX_ATOMIC_BUILTINS_8 \ - _GLIBCXX_USE_SCHED_YIELD \ - _GLIBCXX_USE_NANOSLEEP \ - __GXX_RTTI \ - __glibcxx_function_requires=// \ - __glibcxx_class_requires=// \ - __glibcxx_class_requires2=// \ - __glibcxx_class_requires3=// \ - __glibcxx_class_requires4=// + __GTHREADS \ + _GLIBCXX_HAS_GTHREADS \ + __GXX_EXPERIMENTAL_CXX0X__ \ + _GLIBCXX_INCLUDE_AS_CXX0X \ + "_GLIBCXX_PURE= " \ + "_GLIBCXX_CONST= " \ + "_GLIBCXX_NORETURN= " \ + "_GLIBCXX_NOTHROW= " \ + "_GLIBCXX_STD_D= " \ + "_GLIBCXX_STD_P= " \ + "_GLIBCXX_STD_PR= " \ + _GLIBCXX_STD=std \ + "_GLIBCXX_TR1= " \ + "_GLIBCXX_BEGIN_NAMESPACE_TR1= " \ + "_GLIBCXX_END_NAMESPACE_TR1= " \ + "_GLIBCXX_BEGIN_NAMESPACE(name)=namespace name { " \ + "_GLIBCXX_BEGIN_NESTED_NAMESPACE(name, unused)=namespace name { " \ + _GLIBCXX_END_NAMESPACE=} \ + _GLIBCXX_END_NESTED_NAMESPACE=} \ + "_GLIBCXX_TEMPLATE_ARGS=... " \ + _GLIBCXX_DEPRECATED \ + _GLIBCXX_CONSTEXPR=constexpr \ + _GLIBCXX_USE_CONSTEXPR=constexpr \ + _GLIBCXX_USE_WCHAR_T \ + _GLIBCXX_USE_LONG_LONG \ + _GLIBCXX_USE_C99_STDINT_TR1 \ + _GLIBCXX_ATOMIC_BUILTINS_1 \ + _GLIBCXX_ATOMIC_BUILTINS_2 \ + _GLIBCXX_ATOMIC_BUILTINS_4 \ + _GLIBCXX_ATOMIC_BUILTINS_8 \ + _GLIBCXX_USE_SCHED_YIELD \ + _GLIBCXX_USE_NANOSLEEP \ + __GXX_RTTI \ + __glibcxx_function_requires=// \ + __glibcxx_class_requires=// \ + __glibcxx_class_requires2=// \ + __glibcxx_class_requires3=// \ + __glibcxx_class_requires4=// # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. @@ -1618,9 +1640,8 @@ PERL_PATH = /usr/bin/perl # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. +# this option also works with HAVE_DOT disabled, but it is recommended to +# install and use dot, since it yields more powerful graphs. CLASS_DIAGRAMS = YES @@ -1654,15 +1675,14 @@ HAVE_DOT = YES DOT_NUM_THREADS = 0 -# By default doxygen will write a font called FreeSans.ttf to the -# output directory and reference it in all dot files that doxygen -# generates. This font does not include all possible unicode -# characters however, so when you need these (or just want a -# differently looking font) you can specify the font name using -# DOT_FONTNAME. You need need to make sure dot is able to find the -# font, which can be done by putting it in a standard location or by -# setting the DOTFONTPATH environment variable or by setting -# DOT_FONTPATH to the directory containing the font. +# By default doxygen will write a font called FreeSans.ttf to the output +# directory and reference it in all dot files that doxygen generates. This +# font does not include all possible unicode characters however, so when you need +# these (or just want a differently looking font) you can specify the font name +# using DOT_FONTNAME. You need need to make sure dot is able to find the font, +# which can be done by putting it in a standard location or by setting the +# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory +# containing the font. DOT_FONTNAME = FreeSans @@ -1739,7 +1759,7 @@ CALL_GRAPH = NO CALLER_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. +# will generate a graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES @@ -1751,7 +1771,7 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif +# generated by dot. Possible values are png, jpg, or gif. # If left blank png will be used. DOT_IMAGE_FORMAT = png @@ -1767,6 +1787,12 @@ DOT_PATH = DOTFILE_DIRS = +# The MSCFILE_DIRS tag can be used to specify one or more directories that +# contain msc files that are included in the documentation (see the +# \mscfile command). + +MSCFILE_DIRS = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of # nodes that will be shown in the graph. If the number of nodes in a graph # becomes larger than this value, doxygen will truncate the graph, which is diff --git a/libstdc++-v3/include/bits/algorithmfwd.h b/libstdc++-v3/include/bits/algorithmfwd.h index cf541bc28aa..9fad4cea47c 100644 --- a/libstdc++-v3/include/bits/algorithmfwd.h +++ b/libstdc++-v3/include/bits/algorithmfwd.h @@ -24,7 +24,7 @@ /** @file bits/algorithmfwd.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{algorithm} */ #ifndef _GLIBCXX_ALGORITHMFWD_H diff --git a/libstdc++-v3/include/bits/allocator.h b/libstdc++-v3/include/bits/allocator.h index 70327acd25b..43006799397 100644 --- a/libstdc++-v3/include/bits/allocator.h +++ b/libstdc++-v3/include/bits/allocator.h @@ -36,9 +36,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file allocator.h +/** @file bits/allocator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _ALLOCATOR_H diff --git a/libstdc++-v3/include/bits/atomic_0.h b/libstdc++-v3/include/bits/atomic_0.h index 8daf4160bad..eaff2e6f68d 100644 --- a/libstdc++-v3/include/bits/atomic_0.h +++ b/libstdc++-v3/include/bits/atomic_0.h @@ -25,7 +25,7 @@ /** @file bits/atomic_0.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{atomic} */ #ifndef _GLIBCXX_ATOMIC_0_H diff --git a/libstdc++-v3/include/bits/atomic_2.h b/libstdc++-v3/include/bits/atomic_2.h index e4cf24dc94d..85f8c0f35f6 100644 --- a/libstdc++-v3/include/bits/atomic_2.h +++ b/libstdc++-v3/include/bits/atomic_2.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file bits/atomic_2.h +/** @file bits/atomic_2.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{atomic} */ #ifndef _GLIBCXX_ATOMIC_2_H diff --git a/libstdc++-v3/include/bits/atomic_base.h b/libstdc++-v3/include/bits/atomic_base.h index 7c89de22e5d..74fc997bfdb 100644 --- a/libstdc++-v3/include/bits/atomic_base.h +++ b/libstdc++-v3/include/bits/atomic_base.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file bits/atomic_base.h +/** @file bits/atomic_base.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{atomic} */ #ifndef _GLIBCXX_ATOMIC_BASE_H diff --git a/libstdc++-v3/include/bits/basic_ios.h b/libstdc++-v3/include/bits/basic_ios.h index ba06316b8d1..71e7f28cdb6 100644 --- a/libstdc++-v3/include/bits/basic_ios.h +++ b/libstdc++-v3/include/bits/basic_ios.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file basic_ios.h +/** @file bits/basic_ios.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ios} */ #ifndef _BASIC_IOS_H diff --git a/libstdc++-v3/include/bits/basic_ios.tcc b/libstdc++-v3/include/bits/basic_ios.tcc index a0dc67e5436..73a72fb89a8 100644 --- a/libstdc++-v3/include/bits/basic_ios.tcc +++ b/libstdc++-v3/include/bits/basic_ios.tcc @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file basic_ios.tcc +/** @file bits/basic_ios.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ios} */ #ifndef _BASIC_IOS_TCC diff --git a/libstdc++-v3/include/bits/basic_string.h b/libstdc++-v3/include/bits/basic_string.h index 308285bec86..bffa8afd4c6 100644 --- a/libstdc++-v3/include/bits/basic_string.h +++ b/libstdc++-v3/include/bits/basic_string.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file basic_string.h +/** @file bits/basic_string.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{string} */ // @@ -2363,6 +2363,56 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return __str; } +#ifdef __GXX_EXPERIMENTAL_CXX0X__ + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return std::move(__lhs.append(__rhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, __lhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { + const auto __size = __lhs.size() + __rhs.size(); + const bool __cond = (__size > __lhs.capacity() + && __size <= __rhs.capacity()); + return __cond ? std::move(__rhs.insert(0, __lhs)) + : std::move(__lhs.append(__rhs)); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const _CharT* __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, __lhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(_CharT __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, 1, __lhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + const _CharT* __rhs) + { return std::move(__lhs.append(__rhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + _CharT __rhs) + { return std::move(__lhs.append(1, __rhs)); } +#endif + // operator == /** * @brief Test equivalence of two strings. diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index ab71ad67e17..a64c7815485 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file basic_string.tcc +/** @file bits/basic_string.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{string} */ // diff --git a/libstdc++-v3/include/bits/boost_concept_check.h b/libstdc++-v3/include/bits/boost_concept_check.h index cffd7fb2d05..beabbb56cb0 100644 --- a/libstdc++-v3/include/bits/boost_concept_check.h +++ b/libstdc++-v3/include/bits/boost_concept_check.h @@ -30,9 +30,9 @@ // to its suitability for any purpose. // -/** @file boost_concept_check.h +/** @file bits/boost_concept_check.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} */ // GCC Note: based on version 1.12.0 of the Boost library. diff --git a/libstdc++-v3/include/bits/c++0x_warning.h b/libstdc++-v3/include/bits/c++0x_warning.h index 4f926a3fc7d..0685a50e6e3 100644 --- a/libstdc++-v3/include/bits/c++0x_warning.h +++ b/libstdc++-v3/include/bits/c++0x_warning.h @@ -20,8 +20,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++0x_warning.h - * This is a Standard C++ Library header. +/** @file bits/c++0x_warning.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _CXX0X_WARNING_H diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config index 1c556eb5b4e..400c244eb98 100644 --- a/libstdc++-v3/include/bits/c++config +++ b/libstdc++-v3/include/bits/c++config @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file c++config.h +/** @file bits/c++config.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ #ifndef _GLIBCXX_CXX_CONFIG_H diff --git a/libstdc++-v3/include/bits/char_traits.h b/libstdc++-v3/include/bits/char_traits.h index 2c1a5fd6b3c..4033f6d1424 100644 --- a/libstdc++-v3/include/bits/char_traits.h +++ b/libstdc++-v3/include/bits/char_traits.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file char_traits.h +/** @file bits/char_traits.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{string} */ // diff --git a/libstdc++-v3/include/bits/codecvt.h b/libstdc++-v3/include/bits/codecvt.h index 98ca3ae3263..cf8ac1020d6 100644 --- a/libstdc++-v3/include/bits/codecvt.h +++ b/libstdc++-v3/include/bits/codecvt.h @@ -25,7 +25,7 @@ /** @file bits/codecvt.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/include/bits/concept_check.h b/libstdc++-v3/include/bits/concept_check.h index 6d45e268b49..7978a85f3f2 100644 --- a/libstdc++-v3/include/bits/concept_check.h +++ b/libstdc++-v3/include/bits/concept_check.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file concept_check.h +/** @file bits/concept_check.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} */ #ifndef _CONCEPT_CHECK_H diff --git a/libstdc++-v3/include/bits/cpp_type_traits.h b/libstdc++-v3/include/bits/cpp_type_traits.h index 0d7b9ff09fc..3ae964afbe0 100644 --- a/libstdc++-v3/include/bits/cpp_type_traits.h +++ b/libstdc++-v3/include/bits/cpp_type_traits.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file cpp_type_traits.h +/** @file bits/cpp_type_traits.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/type_traits} */ // Written by Gabriel Dos Reis <dosreis@cmla.ens-cachan.fr> diff --git a/libstdc++-v3/include/bits/deque.tcc b/libstdc++-v3/include/bits/deque.tcc index d8c27870647..78bb888060a 100644 --- a/libstdc++-v3/include/bits/deque.tcc +++ b/libstdc++-v3/include/bits/deque.tcc @@ -50,9 +50,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file deque.tcc +/** @file bits/deque.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{deque} */ #ifndef _DEQUE_TCC diff --git a/libstdc++-v3/include/bits/forward_list.h b/libstdc++-v3/include/bits/forward_list.h index 845090edba2..b7f071f365f 100644 --- a/libstdc++-v3/include/bits/forward_list.h +++ b/libstdc++-v3/include/bits/forward_list.h @@ -22,8 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file forward_list.h - * This is a Standard C++ Library header. +/** @file bits/forward_list.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{forward_list} */ #ifndef _FORWARD_LIST_H diff --git a/libstdc++-v3/include/bits/forward_list.tcc b/libstdc++-v3/include/bits/forward_list.tcc index 264bf67dd64..a409383e210 100644 --- a/libstdc++-v3/include/bits/forward_list.tcc +++ b/libstdc++-v3/include/bits/forward_list.tcc @@ -22,8 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file forward_list.tcc - * This is a Standard C++ Library header. +/** @file bits/forward_list.tcc + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{forward_list} */ #ifndef _FORWARD_LIST_TCC diff --git a/libstdc++-v3/include/bits/fstream.tcc b/libstdc++-v3/include/bits/fstream.tcc index d32de8f8d37..6e00388a63a 100644 --- a/libstdc++-v3/include/bits/fstream.tcc +++ b/libstdc++-v3/include/bits/fstream.tcc @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file fstream.tcc +/** @file bits/fstream.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{fstream} */ // diff --git a/libstdc++-v3/include/bits/functexcept.h b/libstdc++-v3/include/bits/functexcept.h index 5b2e9fc0455..b16c3601ebb 100644 --- a/libstdc++-v3/include/bits/functexcept.h +++ b/libstdc++-v3/include/bits/functexcept.h @@ -22,7 +22,10 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file functexcept.h +/** @file bits/functexcept.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{exception} + * * This header provides support for -fno-exceptions. */ diff --git a/libstdc++-v3/include/bits/functional_hash.h b/libstdc++-v3/include/bits/functional_hash.h index a132cce7689..6cf70b7da80 100644 --- a/libstdc++-v3/include/bits/functional_hash.h +++ b/libstdc++-v3/include/bits/functional_hash.h @@ -24,7 +24,7 @@ /** @file bits/functional_hash.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{functional} */ #ifndef _FUNCTIONAL_HASH_H diff --git a/libstdc++-v3/include/bits/gslice.h b/libstdc++-v3/include/bits/gslice.h index 29ba46ac9ec..6c2dfe8d227 100644 --- a/libstdc++-v3/include/bits/gslice.h +++ b/libstdc++-v3/include/bits/gslice.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file gslice.h +/** @file bits/gslice.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/gslice_array.h b/libstdc++-v3/include/bits/gslice_array.h index 745a5a83dde..dbae9787372 100644 --- a/libstdc++-v3/include/bits/gslice_array.h +++ b/libstdc++-v3/include/bits/gslice_array.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file gslice_array.h +/** @file bits/gslice_array.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/hashtable.h b/libstdc++-v3/include/bits/hashtable.h index 1f959d9d1c8..fd29c5950c9 100644 --- a/libstdc++-v3/include/bits/hashtable.h +++ b/libstdc++-v3/include/bits/hashtable.h @@ -25,6 +25,7 @@ /** @file bits/hashtable.h * This is an internal header file, included by other library headers. * You should not attempt to use it directly. + * @headername{unordered_map, unordered_set} */ #ifndef _HASHTABLE_H diff --git a/libstdc++-v3/include/bits/hashtable_policy.h b/libstdc++-v3/include/bits/hashtable_policy.h index d8d2af5d64e..622784ab097 100644 --- a/libstdc++-v3/include/bits/hashtable_policy.h +++ b/libstdc++-v3/include/bits/hashtable_policy.h @@ -24,7 +24,8 @@ /** @file bits/hashtable_policy.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. + * @headername{unordered_map,unordered_set} */ #ifndef _HASHTABLE_POLICY_H diff --git a/libstdc++-v3/include/bits/indirect_array.h b/libstdc++-v3/include/bits/indirect_array.h index 4920394bf56..eb646e22f6a 100644 --- a/libstdc++-v3/include/bits/indirect_array.h +++ b/libstdc++-v3/include/bits/indirect_array.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file indirect_array.h +/** @file bits/indirect_array.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/ios_base.h b/libstdc++-v3/include/bits/ios_base.h index f161a4d997c..24bddf270ad 100644 --- a/libstdc++-v3/include/bits/ios_base.h +++ b/libstdc++-v3/include/bits/ios_base.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ios_base.h +/** @file bits/ios_base.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ios} */ // diff --git a/libstdc++-v3/include/bits/istream.tcc b/libstdc++-v3/include/bits/istream.tcc index e0a4cd3a094..394553e1be9 100644 --- a/libstdc++-v3/include/bits/istream.tcc +++ b/libstdc++-v3/include/bits/istream.tcc @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file istream.tcc +/** @file bits/istream.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{istream} */ // diff --git a/libstdc++-v3/include/bits/list.tcc b/libstdc++-v3/include/bits/list.tcc index 3446c42a85b..b06822f1633 100644 --- a/libstdc++-v3/include/bits/list.tcc +++ b/libstdc++-v3/include/bits/list.tcc @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file list.tcc +/** @file bits/list.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{list} */ #ifndef _LIST_TCC diff --git a/libstdc++-v3/include/bits/locale_classes.h b/libstdc++-v3/include/bits/locale_classes.h index 8a846bce0c6..4756ac573af 100644 --- a/libstdc++-v3/include/bits/locale_classes.h +++ b/libstdc++-v3/include/bits/locale_classes.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file locale_classes.h +/** @file bits/locale_classes.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/include/bits/locale_classes.tcc b/libstdc++-v3/include/bits/locale_classes.tcc index 5dcf20576a0..67a423b712e 100644 --- a/libstdc++-v3/include/bits/locale_classes.tcc +++ b/libstdc++-v3/include/bits/locale_classes.tcc @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file locale_classes.tcc +/** @file bits/locale_classes.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/include/bits/locale_facets.h b/libstdc++-v3/include/bits/locale_facets.h index 79bfd03026d..bb0ba26a9df 100644 --- a/libstdc++-v3/include/bits/locale_facets.h +++ b/libstdc++-v3/include/bits/locale_facets.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file locale_facets.h +/** @file bits/locale_facets.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/include/bits/locale_facets.tcc b/libstdc++-v3/include/bits/locale_facets.tcc index 52bafd36dfe..076963aaf6e 100644 --- a/libstdc++-v3/include/bits/locale_facets.tcc +++ b/libstdc++-v3/include/bits/locale_facets.tcc @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file locale_facets.tcc +/** @file bits/locale_facets.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ #ifndef _LOCALE_FACETS_TCC diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.h b/libstdc++-v3/include/bits/locale_facets_nonio.h index fdff7f53ecd..6d6af2b659e 100644 --- a/libstdc++-v3/include/bits/locale_facets_nonio.h +++ b/libstdc++-v3/include/bits/locale_facets_nonio.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file locale_facets_nonio.h +/** @file bits/locale_facets_nonio.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/include/bits/locale_facets_nonio.tcc b/libstdc++-v3/include/bits/locale_facets_nonio.tcc index 039cce297ab..35869e3611b 100644 --- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc +++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file locale_facets_nonio.tcc +/** @file bits/locale_facets_nonio.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ #ifndef _LOCALE_FACETS_NONIO_TCC diff --git a/libstdc++-v3/include/bits/localefwd.h b/libstdc++-v3/include/bits/localefwd.h index c81e39b12ba..b7bf42e5342 100644 --- a/libstdc++-v3/include/bits/localefwd.h +++ b/libstdc++-v3/include/bits/localefwd.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file localefwd.h +/** @file bits/localefwd.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{locale} */ // diff --git a/libstdc++-v3/include/bits/mask_array.h b/libstdc++-v3/include/bits/mask_array.h index f915dd91139..af6f63765c5 100644 --- a/libstdc++-v3/include/bits/mask_array.h +++ b/libstdc++-v3/include/bits/mask_array.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file mask_array.h +/** @file bits/mask_array.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/move.h b/libstdc++-v3/include/bits/move.h index f351d01964f..5172f50a7d7 100644 --- a/libstdc++-v3/include/bits/move.h +++ b/libstdc++-v3/include/bits/move.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file move.h +/** @file bits/move.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{utility} */ #ifndef _MOVE_H diff --git a/libstdc++-v3/include/bits/ostream.tcc b/libstdc++-v3/include/bits/ostream.tcc index 1147212aa14..967b7b6be64 100644 --- a/libstdc++-v3/include/bits/ostream.tcc +++ b/libstdc++-v3/include/bits/ostream.tcc @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ostream.tcc +/** @file bits/ostream.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ostream} */ // diff --git a/libstdc++-v3/include/bits/ostream_insert.h b/libstdc++-v3/include/bits/ostream_insert.h index e0017ee7cfd..3368ffeb2e6 100644 --- a/libstdc++-v3/include/bits/ostream_insert.h +++ b/libstdc++-v3/include/bits/ostream_insert.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ostream_insert.h +/** @file bits/ostream_insert.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ostream} */ #ifndef _OSTREAM_INSERT_H diff --git a/libstdc++-v3/include/bits/postypes.h b/libstdc++-v3/include/bits/postypes.h index 8066d9b001f..46ef6711c5f 100644 --- a/libstdc++-v3/include/bits/postypes.h +++ b/libstdc++-v3/include/bits/postypes.h @@ -1,7 +1,7 @@ // Position types -*- C++ -*- // Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, -// 2006, 2007, 2008, 2009 +// 2006, 2007, 2008, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file postypes.h +/** @file bits/postypes.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iosfwd} */ // diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h index 2fa8e6c35a1..9feb0f448c8 100644 --- a/libstdc++-v3/include/bits/random.h +++ b/libstdc++-v3/include/bits/random.h @@ -25,7 +25,7 @@ /** * @file bits/random.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{random} */ #ifndef _RANDOM_H diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc index 323741d25db..43fd0c8e16c 100644 --- a/libstdc++-v3/include/bits/random.tcc +++ b/libstdc++-v3/include/bits/random.tcc @@ -24,7 +24,7 @@ /** @file bits/random.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{random} */ #ifndef _RANDOM_TCC diff --git a/libstdc++-v3/include/bits/range_access.h b/libstdc++-v3/include/bits/range_access.h index e9bf67e499b..5c898efa9f6 100644 --- a/libstdc++-v3/include/bits/range_access.h +++ b/libstdc++-v3/include/bits/range_access.h @@ -24,7 +24,7 @@ /** @file bits/range_access.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} */ #ifndef _GLIBCXX_RANGE_ACCESS_H diff --git a/libstdc++-v3/include/bits/regex.h b/libstdc++-v3/include/bits/regex.h index 807bf0dda69..ab05fc2d9d0 100644 --- a/libstdc++-v3/include/bits/regex.h +++ b/libstdc++-v3/include/bits/regex.h @@ -23,9 +23,9 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex.h + * @file bits/regex.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_compiler.h b/libstdc++-v3/include/bits/regex_compiler.h index 90c96ff93ea..4219c8b2f5e 100644 --- a/libstdc++-v3/include/bits/regex_compiler.h +++ b/libstdc++-v3/include/bits/regex_compiler.h @@ -23,9 +23,9 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex_compiler.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * @file bits/regex_compiler.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_constants.h b/libstdc++-v3/include/bits/regex_constants.h index 15e29532c51..1aeef52d657 100644 --- a/libstdc++-v3/include/bits/regex_constants.h +++ b/libstdc++-v3/include/bits/regex_constants.h @@ -23,11 +23,11 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex_constants.h - * @brief Constant definitions for the std regex library. + * @file bits/regex_constants.h + * @brief Constant definitions for the std regex library. * * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_cursor.h b/libstdc++-v3/include/bits/regex_cursor.h index 32ea8c97d85..fee7b437468 100644 --- a/libstdc++-v3/include/bits/regex_cursor.h +++ b/libstdc++-v3/include/bits/regex_cursor.h @@ -23,9 +23,9 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex_cursor.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * @file bits/regex_cursor.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_error.h b/libstdc++-v3/include/bits/regex_error.h index 91dd59778fc..6308c30093e 100644 --- a/libstdc++-v3/include/bits/regex_error.h +++ b/libstdc++-v3/include/bits/regex_error.h @@ -27,7 +27,7 @@ * @brief Error and exception objects for the std regex library. * * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_grep_matcher.h b/libstdc++-v3/include/bits/regex_grep_matcher.h index 470e6297f39..67770e9d29a 100644 --- a/libstdc++-v3/include/bits/regex_grep_matcher.h +++ b/libstdc++-v3/include/bits/regex_grep_matcher.h @@ -23,9 +23,9 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex_grep_matcher.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * @file bits/regex_grep_matcher.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_grep_matcher.tcc b/libstdc++-v3/include/bits/regex_grep_matcher.tcc index 48e7482b2ed..804473fea55 100644 --- a/libstdc++-v3/include/bits/regex_grep_matcher.tcc +++ b/libstdc++-v3/include/bits/regex_grep_matcher.tcc @@ -23,7 +23,9 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex_grep_matcher.tcc + * @file bits/regex_grep_matcher.tcc + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{regex} */ #include <regex> diff --git a/libstdc++-v3/include/bits/regex_nfa.h b/libstdc++-v3/include/bits/regex_nfa.h index 0a412891311..4a771ee20c2 100644 --- a/libstdc++-v3/include/bits/regex_nfa.h +++ b/libstdc++-v3/include/bits/regex_nfa.h @@ -23,9 +23,9 @@ // <http://www.gnu.org/licenses/>. /** - * @file bits/regex_nfa.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * @file bits/regex_nfa.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{regex} */ _GLIBCXX_BEGIN_NAMESPACE(std) diff --git a/libstdc++-v3/include/bits/regex_nfa.tcc b/libstdc++-v3/include/bits/regex_nfa.tcc index 4a5d5ffd120..392b2c3f083 100644 --- a/libstdc++-v3/include/bits/regex_nfa.tcc +++ b/libstdc++-v3/include/bits/regex_nfa.tcc @@ -24,6 +24,8 @@ /** * @file bits/regex_nfa.tcc + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{regex} */ #include <regex> diff --git a/libstdc++-v3/include/bits/shared_ptr.h b/libstdc++-v3/include/bits/shared_ptr.h index 6dc9c9ffa45..c9095d5f614 100644 --- a/libstdc++-v3/include/bits/shared_ptr.h +++ b/libstdc++-v3/include/bits/shared_ptr.h @@ -43,7 +43,7 @@ /** @file bits/shared_ptr.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _SHARED_PTR_H diff --git a/libstdc++-v3/include/bits/shared_ptr_base.h b/libstdc++-v3/include/bits/shared_ptr_base.h index b3333576b28..ba2f004c771 100644 --- a/libstdc++-v3/include/bits/shared_ptr_base.h +++ b/libstdc++-v3/include/bits/shared_ptr_base.h @@ -43,7 +43,7 @@ /** @file bits/shared_ptr_base.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _SHARED_PTR_BASE_H diff --git a/libstdc++-v3/include/bits/slice_array.h b/libstdc++-v3/include/bits/slice_array.h index 566c764e91e..3d84998bd0f 100644 --- a/libstdc++-v3/include/bits/slice_array.h +++ b/libstdc++-v3/include/bits/slice_array.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file slice_array.h +/** @file bits/slice_array.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/sstream.tcc b/libstdc++-v3/include/bits/sstream.tcc index 0f9db8e93f5..ed61f29a157 100644 --- a/libstdc++-v3/include/bits/sstream.tcc +++ b/libstdc++-v3/include/bits/sstream.tcc @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file sstream.tcc +/** @file bits/sstream.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{sstream} */ // diff --git a/libstdc++-v3/include/bits/stl_algo.h b/libstdc++-v3/include/bits/stl_algo.h index 456c5369c17..0fdc924cbe3 100644 --- a/libstdc++-v3/include/bits/stl_algo.h +++ b/libstdc++-v3/include/bits/stl_algo.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_algo.h +/** @file bits/stl_algo.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{algorithm} */ #ifndef _STL_ALGO_H diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index 1d951aa7999..2c3b6af5e57 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_algobase.h +/** @file bits/stl_algobase.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{algorithm} */ #ifndef _STL_ALGOBASE_H diff --git a/libstdc++-v3/include/bits/stl_bvector.h b/libstdc++-v3/include/bits/stl_bvector.h index 74c2e85fd70..f35fd0ae058 100644 --- a/libstdc++-v3/include/bits/stl_bvector.h +++ b/libstdc++-v3/include/bits/stl_bvector.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_bvector.h +/** @file bits/stl_bvector.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{vector} */ #ifndef _STL_BVECTOR_H diff --git a/libstdc++-v3/include/bits/stl_construct.h b/libstdc++-v3/include/bits/stl_construct.h index d84b8f164fd..31f65ee975e 100644 --- a/libstdc++-v3/include/bits/stl_construct.h +++ b/libstdc++-v3/include/bits/stl_construct.h @@ -50,9 +50,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_construct.h +/** @file bits/stl_construct.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _STL_CONSTRUCT_H diff --git a/libstdc++-v3/include/bits/stl_deque.h b/libstdc++-v3/include/bits/stl_deque.h index 397b6333b5b..c3b5d0067b1 100644 --- a/libstdc++-v3/include/bits/stl_deque.h +++ b/libstdc++-v3/include/bits/stl_deque.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_deque.h +/** @file bits/stl_deque.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{deque} */ #ifndef _STL_DEQUE_H diff --git a/libstdc++-v3/include/bits/stl_function.h b/libstdc++-v3/include/bits/stl_function.h index a5f5e255825..630ca0340db 100644 --- a/libstdc++-v3/include/bits/stl_function.h +++ b/libstdc++-v3/include/bits/stl_function.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_function.h +/** @file bits/stl_function.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{functional} */ #ifndef _STL_FUNCTION_H @@ -99,10 +99,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _Arg, typename _Result> struct unary_function { - typedef _Arg argument_type; ///< @c argument_type is the type of the - /// argument (no surprises here) + /// @c argument_type is the type of the argument + typedef _Arg argument_type; - typedef _Result result_type; ///< @c result_type is the return type + /// @c result_type is the return type + typedef _Result result_type; }; /** @@ -111,11 +112,14 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _Arg1, typename _Arg2, typename _Result> struct binary_function { - typedef _Arg1 first_argument_type; ///< the type of the first argument - /// (no surprises here) + /// @c first_argument_type is the type of the first argument + typedef _Arg1 first_argument_type; - typedef _Arg2 second_argument_type; ///< the type of the second argument - typedef _Result result_type; ///< type of the return type + /// @c second_argument_type is the type of the second argument + typedef _Arg2 second_argument_type; + + /// @c result_type is the return type + typedef _Result result_type; }; /** @} */ diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h index b52fa7a91e0..0c9641b9dbc 100644 --- a/libstdc++-v3/include/bits/stl_heap.h +++ b/libstdc++-v3/include/bits/stl_heap.h @@ -48,9 +48,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_heap.h +/** @file bits/stl_heap.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{queue} */ #ifndef _STL_HEAP_H diff --git a/libstdc++-v3/include/bits/stl_iterator.h b/libstdc++-v3/include/bits/stl_iterator.h index e930ddbd219..4de1b0e3ef7 100644 --- a/libstdc++-v3/include/bits/stl_iterator.h +++ b/libstdc++-v3/include/bits/stl_iterator.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_iterator.h +/** @file bits/stl_iterator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} * * This file implements reverse_iterator, back_insert_iterator, * front_insert_iterator, insert_iterator, __normal_iterator, and their diff --git a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h index f885ae63f71..aa7b348c71b 100644 --- a/libstdc++-v3/include/bits/stl_iterator_base_funcs.h +++ b/libstdc++-v3/include/bits/stl_iterator_base_funcs.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_iterator_base_funcs.h +/** @file bits/stl_iterator_base_funcs.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} * * This file contains all of the general iterator-related utility * functions, such as distance() and advance(). diff --git a/libstdc++-v3/include/bits/stl_iterator_base_types.h b/libstdc++-v3/include/bits/stl_iterator_base_types.h index 7b1eafd1283..4125272aebf 100644 --- a/libstdc++-v3/include/bits/stl_iterator_base_types.h +++ b/libstdc++-v3/include/bits/stl_iterator_base_types.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_iterator_base_types.h +/** @file bits/stl_iterator_base_types.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} * * This file contains all of the general iterator-related utility types, * such as iterator_traits and struct iterator. diff --git a/libstdc++-v3/include/bits/stl_list.h b/libstdc++-v3/include/bits/stl_list.h index 2bbb26fb494..aafd5dc0e93 100644 --- a/libstdc++-v3/include/bits/stl_list.h +++ b/libstdc++-v3/include/bits/stl_list.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_list.h +/** @file bits/stl_list.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{list} */ #ifndef _STL_LIST_H diff --git a/libstdc++-v3/include/bits/stl_map.h b/libstdc++-v3/include/bits/stl_map.h index 8add2a452b4..d3bab26c0b8 100644 --- a/libstdc++-v3/include/bits/stl_map.h +++ b/libstdc++-v3/include/bits/stl_map.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_map.h +/** @file bits/stl_map.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{map} */ #ifndef _STL_MAP_H diff --git a/libstdc++-v3/include/bits/stl_multimap.h b/libstdc++-v3/include/bits/stl_multimap.h index ec0c9a080d6..6c6f356e00d 100644 --- a/libstdc++-v3/include/bits/stl_multimap.h +++ b/libstdc++-v3/include/bits/stl_multimap.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_multimap.h +/** @file bits/stl_multimap.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{map} */ #ifndef _STL_MULTIMAP_H diff --git a/libstdc++-v3/include/bits/stl_multiset.h b/libstdc++-v3/include/bits/stl_multiset.h index 58f902c53f0..62e82dc26d9 100644 --- a/libstdc++-v3/include/bits/stl_multiset.h +++ b/libstdc++-v3/include/bits/stl_multiset.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_multiset.h +/** @file bits/stl_multiset.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{set} */ #ifndef _STL_MULTISET_H diff --git a/libstdc++-v3/include/bits/stl_numeric.h b/libstdc++-v3/include/bits/stl_numeric.h index 1adddf6babc..925e064bb2c 100644 --- a/libstdc++-v3/include/bits/stl_numeric.h +++ b/libstdc++-v3/include/bits/stl_numeric.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_numeric.h +/** @file bits/stl_numeric.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{numeric} */ #ifndef _STL_NUMERIC_H diff --git a/libstdc++-v3/include/bits/stl_pair.h b/libstdc++-v3/include/bits/stl_pair.h index c6753f6d5d9..5334e1a5477 100644 --- a/libstdc++-v3/include/bits/stl_pair.h +++ b/libstdc++-v3/include/bits/stl_pair.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_pair.h +/** @file bits/stl_pair.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{utility} */ #ifndef _STL_PAIR_H @@ -72,7 +72,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) /// piecewise_construct constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); - // forward declarations + // Forward declarations. template<typename...> class tuple; @@ -80,15 +80,15 @@ _GLIBCXX_BEGIN_NAMESPACE(std) struct _Index_tuple; #endif - /// pair holds two objects of arbitrary type. + /// Struct holding two objects of arbitrary type. template<class _T1, class _T2> struct pair { - typedef _T1 first_type; ///< @c first_type is the first bound type - typedef _T2 second_type; ///< @c second_type is the second bound type + typedef _T1 first_type; /// @c first_type is the first bound type + typedef _T2 second_type; /// @c second_type is the second bound type - _T1 first; ///< @c first is a copy of the first object - _T2 second; ///< @c second is a copy of the second object + _T1 first; /// @c first is a copy of the first object + _T2 second; /// @c second is a copy of the second object // _GLIBCXX_RESOLVE_LIB_DEFECTS // 265. std::pair::pair() effects overly restrictive diff --git a/libstdc++-v3/include/bits/stl_queue.h b/libstdc++-v3/include/bits/stl_queue.h index 85a06abe12f..fa40245cb41 100644 --- a/libstdc++-v3/include/bits/stl_queue.h +++ b/libstdc++-v3/include/bits/stl_queue.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_queue.h +/** @file bits/stl_queue.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{queue} */ #ifndef _STL_QUEUE_H diff --git a/libstdc++-v3/include/bits/stl_raw_storage_iter.h b/libstdc++-v3/include/bits/stl_raw_storage_iter.h index 254aa85a1a7..29374c74ad5 100644 --- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h +++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_raw_storage_iter.h +/** @file bits/stl_raw_storage_iter.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _STL_RAW_STORAGE_ITERATOR_H diff --git a/libstdc++-v3/include/bits/stl_relops.h b/libstdc++-v3/include/bits/stl_relops.h index 4377c5fa550..10e41703fae 100644 --- a/libstdc++-v3/include/bits/stl_relops.h +++ b/libstdc++-v3/include/bits/stl_relops.h @@ -48,9 +48,9 @@ * */ -/** @file stl_relops.h +/** @file bits/stl_relops.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{utility} * * Inclusion of this file has been removed from * all of the other STL headers for safety reasons, except std_utility.h. @@ -58,7 +58,7 @@ * with http://gcc.gnu.org/ml/libstdc++/2001-01/msg00223.html, or * http://gcc.gnu.org/onlinedocs/libstdc++/faq.html#faq.ambiguous_overloads * - * Short summary: the rel_ops operators should be avoided for the present. + * Short summary: the rel_ops operators should be avoided for the present. */ #ifndef _STL_RELOPS_H diff --git a/libstdc++-v3/include/bits/stl_set.h b/libstdc++-v3/include/bits/stl_set.h index 8d82716d3cb..243de964582 100644 --- a/libstdc++-v3/include/bits/stl_set.h +++ b/libstdc++-v3/include/bits/stl_set.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_set.h +/** @file bits/stl_set.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{set} */ #ifndef _STL_SET_H diff --git a/libstdc++-v3/include/bits/stl_stack.h b/libstdc++-v3/include/bits/stl_stack.h index 7312a35e9de..a5c25d49eb7 100644 --- a/libstdc++-v3/include/bits/stl_stack.h +++ b/libstdc++-v3/include/bits/stl_stack.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_stack.h +/** @file bits/stl_stack.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{stack} */ #ifndef _STL_STACK_H diff --git a/libstdc++-v3/include/bits/stl_tempbuf.h b/libstdc++-v3/include/bits/stl_tempbuf.h index 47571179c87..44dcbf5000c 100644 --- a/libstdc++-v3/include/bits/stl_tempbuf.h +++ b/libstdc++-v3/include/bits/stl_tempbuf.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_tempbuf.h +/** @file bits/stl_tempbuf.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _STL_TEMPBUF_H diff --git a/libstdc++-v3/include/bits/stl_tree.h b/libstdc++-v3/include/bits/stl_tree.h index 89190306315..80246dc6396 100644 --- a/libstdc++-v3/include/bits/stl_tree.h +++ b/libstdc++-v3/include/bits/stl_tree.h @@ -52,9 +52,9 @@ * */ -/** @file stl_tree.h +/** @file bits/stl_tree.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{map or set} */ #ifndef _STL_TREE_H diff --git a/libstdc++-v3/include/bits/stl_uninitialized.h b/libstdc++-v3/include/bits/stl_uninitialized.h index c5cbde0c1a4..fd9f2436173 100644 --- a/libstdc++-v3/include/bits/stl_uninitialized.h +++ b/libstdc++-v3/include/bits/stl_uninitialized.h @@ -50,9 +50,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_uninitialized.h +/** @file bits/stl_uninitialized.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _STL_UNINITIALIZED_H diff --git a/libstdc++-v3/include/bits/stl_vector.h b/libstdc++-v3/include/bits/stl_vector.h index 147e3f7715b..feabb24ea3b 100644 --- a/libstdc++-v3/include/bits/stl_vector.h +++ b/libstdc++-v3/include/bits/stl_vector.h @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file stl_vector.h +/** @file bits/stl_vector.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{vector} */ #ifndef _STL_VECTOR_H diff --git a/libstdc++-v3/include/bits/stream_iterator.h b/libstdc++-v3/include/bits/stream_iterator.h index a5675cb1415..9d3b799f3d5 100644 --- a/libstdc++-v3/include/bits/stream_iterator.h +++ b/libstdc++-v3/include/bits/stream_iterator.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file stream_iterator.h +/** @file bits/stream_iterator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} */ #ifndef _STREAM_ITERATOR_H diff --git a/libstdc++-v3/include/bits/streambuf.tcc b/libstdc++-v3/include/bits/streambuf.tcc index f3e6ce74945..8d401b39e10 100644 --- a/libstdc++-v3/include/bits/streambuf.tcc +++ b/libstdc++-v3/include/bits/streambuf.tcc @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file streambuf.tcc +/** @file bits/streambuf.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{streambuf} */ // diff --git a/libstdc++-v3/include/bits/streambuf_iterator.h b/libstdc++-v3/include/bits/streambuf_iterator.h index 3ec1df18092..c385ec65a20 100644 --- a/libstdc++-v3/include/bits/streambuf_iterator.h +++ b/libstdc++-v3/include/bits/streambuf_iterator.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file streambuf_iterator.h +/** @file bits/streambuf_iterator.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{iterator} */ #ifndef _STREAMBUF_ITERATOR_H diff --git a/libstdc++-v3/include/bits/stringfwd.h b/libstdc++-v3/include/bits/stringfwd.h index 5679be76524..796200a1d69 100644 --- a/libstdc++-v3/include/bits/stringfwd.h +++ b/libstdc++-v3/include/bits/stringfwd.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file stringfwd.h +/** @file bits/stringfwd.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{string} */ // @@ -60,12 +60,12 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<> struct char_traits<char>; - typedef basic_string<char> string; ///< A string of @c char + typedef basic_string<char> string; /// A string of @c char #ifdef _GLIBCXX_USE_WCHAR_T template<> struct char_traits<wchar_t>; - typedef basic_string<wchar_t> wstring; ///< A string of @c wchar_t + typedef basic_string<wchar_t> wstring; /// A string of @c wchar_t #endif #if (defined(__GXX_EXPERIMENTAL_CXX0X__) \ @@ -74,8 +74,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<> struct char_traits<char16_t>; template<> struct char_traits<char32_t>; - typedef basic_string<char16_t> u16string; ///< A string of @c char16_t - typedef basic_string<char32_t> u32string; ///< A string of @c char32_t + typedef basic_string<char16_t> u16string; /// A string of @c char16_t + typedef basic_string<char32_t> u32string; /// A string of @c char32_t #endif /** @} */ diff --git a/libstdc++-v3/include/bits/unique_ptr.h b/libstdc++-v3/include/bits/unique_ptr.h index 74367985858..0b00fcb5703 100644 --- a/libstdc++-v3/include/bits/unique_ptr.h +++ b/libstdc++-v3/include/bits/unique_ptr.h @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file unique_ptr.h +/** @file bits/unique_ptr.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{memory} */ #ifndef _UNIQUE_PTR_H diff --git a/libstdc++-v3/include/bits/unordered_map.h b/libstdc++-v3/include/bits/unordered_map.h index 08058c1a94f..3960f8e56b8 100644 --- a/libstdc++-v3/include/bits/unordered_map.h +++ b/libstdc++-v3/include/bits/unordered_map.h @@ -24,7 +24,7 @@ /** @file bits/unordered_map.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{unordered_map} */ #ifndef _UNORDERED_MAP_H diff --git a/libstdc++-v3/include/bits/unordered_set.h b/libstdc++-v3/include/bits/unordered_set.h index 260ad796c1a..90b30f07c67 100644 --- a/libstdc++-v3/include/bits/unordered_set.h +++ b/libstdc++-v3/include/bits/unordered_set.h @@ -24,7 +24,7 @@ /** @file bits/unordered_set.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{unordered_set} */ #ifndef _UNORDERED_SET_H diff --git a/libstdc++-v3/include/bits/valarray_after.h b/libstdc++-v3/include/bits/valarray_after.h index 070840e3452..1206655a990 100644 --- a/libstdc++-v3/include/bits/valarray_after.h +++ b/libstdc++-v3/include/bits/valarray_after.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file valarray_after.h +/** @file bits/valarray_after.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr> diff --git a/libstdc++-v3/include/bits/valarray_array.h b/libstdc++-v3/include/bits/valarray_array.h index 7aa61f14d81..ae148ef5b52 100644 --- a/libstdc++-v3/include/bits/valarray_array.h +++ b/libstdc++-v3/include/bits/valarray_array.h @@ -24,9 +24,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file valarray_array.h +/** @file bits/valarray_array.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/valarray_array.tcc b/libstdc++-v3/include/bits/valarray_array.tcc index 15cb7b1e237..9a13479a04c 100644 --- a/libstdc++-v3/include/bits/valarray_array.tcc +++ b/libstdc++-v3/include/bits/valarray_array.tcc @@ -22,9 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file valarray_array.tcc +/** @file bits/valarray_array.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@DPTMaths.ENS-Cachan.Fr> diff --git a/libstdc++-v3/include/bits/valarray_before.h b/libstdc++-v3/include/bits/valarray_before.h index 3bc85a3e07e..b7efefe03fd 100644 --- a/libstdc++-v3/include/bits/valarray_before.h +++ b/libstdc++-v3/include/bits/valarray_before.h @@ -23,9 +23,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file valarray_before.h +/** @file bits/valarray_before.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{valarray} */ // Written by Gabriel Dos Reis <Gabriel.Dos-Reis@cmla.ens-cachan.fr> diff --git a/libstdc++-v3/include/bits/vector.tcc b/libstdc++-v3/include/bits/vector.tcc index ffe4bb8e630..bc10b9217a7 100644 --- a/libstdc++-v3/include/bits/vector.tcc +++ b/libstdc++-v3/include/bits/vector.tcc @@ -49,9 +49,9 @@ * purpose. It is provided "as is" without express or implied warranty. */ -/** @file vector.tcc +/** @file bits/vector.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{vector} */ #ifndef _VECTOR_TCC diff --git a/libstdc++-v3/include/decimal/decimal b/libstdc++-v3/include/decimal/decimal index 8ef5a91c0ca..241bcec7202 100644 --- a/libstdc++-v3/include/decimal/decimal +++ b/libstdc++-v3/include/decimal/decimal @@ -21,7 +21,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file include/decimal/decimal +/** @file decimal/decimal * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/ext/atomicity.h b/libstdc++-v3/include/ext/atomicity.h index 5cb419ecf59..c853e8478ec 100644 --- a/libstdc++-v3/include/ext/atomicity.h +++ b/libstdc++-v3/include/ext/atomicity.h @@ -22,9 +22,8 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file atomicity.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. +/** @file ext/atomicity.h + * This file is a GNU extension to the Standard C++ Library. */ #ifndef _GLIBCXX_ATOMICITY_H diff --git a/libstdc++-v3/include/ext/cast.h b/libstdc++-v3/include/ext/cast.h index 8fd8cc9c47e..f58c0fcc4e5 100644 --- a/libstdc++-v3/include/ext/cast.h +++ b/libstdc++-v3/include/ext/cast.h @@ -22,8 +22,13 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -#ifndef _CAST_H -#define _CAST_H 1 +/** @file ext/cast.h + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{ext/pointer.h} + */ + +#ifndef _GLIBCXX_CAST_H +#define _GLIBCXX_CAST_H 1 _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) @@ -110,4 +115,4 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _GLIBCXX_END_NAMESPACE -#endif // _CAST_H +#endif // __GLIBCXX_CAST_H diff --git a/libstdc++-v3/include/ext/concurrence.h b/libstdc++-v3/include/ext/concurrence.h index b665b411077..b6f86a41c51 100644 --- a/libstdc++-v3/include/ext/concurrence.h +++ b/libstdc++-v3/include/ext/concurrence.h @@ -23,9 +23,8 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file concurrence.h - * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. +/** @file ext/concurrence.h + * This file is a GNU extension to the Standard C++ Library. */ #ifndef _CONCURRENCE_H diff --git a/libstdc++-v3/include/ext/debug_allocator.h b/libstdc++-v3/include/ext/debug_allocator.h index 18d80498e56..d084d74401c 100644 --- a/libstdc++-v3/include/ext/debug_allocator.h +++ b/libstdc++-v3/include/ext/debug_allocator.h @@ -37,7 +37,6 @@ /** @file ext/debug_allocator.h * This file is a GNU extension to the Standard C++ Library. - * You should only include this header if you are using GCC 3 or later. */ #ifndef _DEBUG_ALLOCATOR_H diff --git a/libstdc++-v3/include/ext/extptr_allocator.h b/libstdc++-v3/include/ext/extptr_allocator.h index d9e8cda440d..d3caf8a4101 100644 --- a/libstdc++-v3/include/ext/extptr_allocator.h +++ b/libstdc++-v3/include/ext/extptr_allocator.h @@ -23,8 +23,10 @@ // <http://www.gnu.org/licenses/>. /** - * @file ext/extptr_allocator.h - * @author Bob Walters + * @file ext/extptr_allocator.h + * This file is a GNU extension to the Standard C++ Library. + * + * @author Bob Walters * * An example allocator which uses an alternative pointer type from * bits/pointer.h. Supports test cases which confirm container support diff --git a/libstdc++-v3/include/ext/pointer.h b/libstdc++-v3/include/ext/pointer.h index 8055df226f2..692a1c8d1d6 100644 --- a/libstdc++-v3/include/ext/pointer.h +++ b/libstdc++-v3/include/ext/pointer.h @@ -23,8 +23,10 @@ // <http://www.gnu.org/licenses/>. /** - * @file ext/pointer.h - * @author Bob Walters + * @file ext/pointer.h + * This file is a GNU extension to the Standard C++ Library. + * + * @author Bob Walters * * Provides reusable _Pointer_adapter for assisting in the development of * custom pointer types that can be used with the standard containers via diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index 9831037bb15..b4037d60558 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -24,9 +24,8 @@ // <http://www.gnu.org/licenses/>. /** @file ext/rc_string_base.h - * This file is a GNU extension to the Standard C++ Library. * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/vstring.h} */ #ifndef _RC_STRING_BASE_H @@ -115,7 +114,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) size_type _M_capacity; _Atomic_word _M_refcount; } _M_info; - + // Only for alignment purposes. _CharT _M_align; }; @@ -132,10 +131,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) __atomic_add_dispatch(&_M_info._M_refcount, 1); return _M_refdata(); } // XXX MT - + void _M_set_length(size_type __n) - { + { _M_info._M_refcount = 0; // One reference. _M_info._M_length = __n; // grrr. (per 21.3.4) @@ -193,7 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _M_grab(const _Alloc& __alloc) const { return (!_M_is_leaked() && _M_get_allocator() == __alloc) - ? _M_rep()->_M_refcopy() : _M_rep()->_M_clone(__alloc); + ? _M_rep()->_M_refcopy() : _M_rep()->_M_clone(__alloc); } void @@ -225,19 +224,19 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // _S_construct_aux is used to implement the 21.3.1 para 15 which // requires special behaviour if _InIterator is an integral type template<typename _InIterator> - static _CharT* - _S_construct_aux(_InIterator __beg, _InIterator __end, + static _CharT* + _S_construct_aux(_InIterator __beg, _InIterator __end, const _Alloc& __a, std::__false_type) { - typedef typename iterator_traits<_InIterator>::iterator_category _Tag; - return _S_construct(__beg, __end, __a, _Tag()); + typedef typename iterator_traits<_InIterator>::iterator_category _Tag; + return _S_construct(__beg, __end, __a, _Tag()); } // _GLIBCXX_RESOLVE_LIB_DEFECTS // 438. Ambiguity in the "do the right thing" clause template<typename _Integer> - static _CharT* - _S_construct_aux(_Integer __beg, _Integer __end, + static _CharT* + _S_construct_aux(_Integer __beg, _Integer __end, const _Alloc& __a, std::__true_type) { return _S_construct_aux_2(static_cast<size_type>(__beg), __end, __a); } @@ -247,24 +246,24 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { return _S_construct(__req, __c, __a); } template<typename _InIterator> - static _CharT* - _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) + static _CharT* + _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a) { typedef typename std::__is_integer<_InIterator>::__type _Integral; return _S_construct_aux(__beg, __end, __a, _Integral()); - } + } // For Input Iterators, used in istreambuf_iterators, etc. template<typename _InIterator> - static _CharT* - _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, + static _CharT* + _S_construct(_InIterator __beg, _InIterator __end, const _Alloc& __a, std::input_iterator_tag); - + // For forward_iterators up to random_access_iterators, used for // string::iterator, _CharT*, etc. template<typename _FwdIterator> - static _CharT* - _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, + static _CharT* + _S_construct(_FwdIterator __beg, _FwdIterator __end, const _Alloc& __a, std::forward_iterator_tag); static _CharT* @@ -322,11 +321,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) __rc_string_base(size_type __n, _CharT __c, const _Alloc& __a); template<typename _InputIterator> - __rc_string_base(_InputIterator __beg, _InputIterator __end, + __rc_string_base(_InputIterator __beg, _InputIterator __end, const _Alloc& __a); ~__rc_string_base() - { _M_dispose(); } + { _M_dispose(); } allocator_type& _M_get_allocator() @@ -348,7 +347,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, size_type __len2); - + void _M_erase(size_type __pos, size_type __n); @@ -604,7 +603,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _M_set_sharable(); if (__rcs._M_is_leaked()) __rcs._M_set_sharable(); - + _CharT* __tmp = _M_data(); _M_data(__rcs._M_data()); __rcs._M_data(__tmp); @@ -613,7 +612,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // 431. Swapping containers with unequal allocators. std::__alloc_swap<allocator_type>::_S_do_it(_M_get_allocator(), __rcs._M_get_allocator()); - } + } template<typename _CharT, typename _Traits, typename _Alloc> void @@ -636,7 +635,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // Make sure we don't shrink below the current size. if (__res < _M_length()) __res = _M_length(); - + if (__res != _M_capacity() || _M_is_shared()) { _CharT* __tmp = _M_rep()->_M_clone(_M_get_allocator(), @@ -653,10 +652,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) size_type __len2) { const size_type __how_much = _M_length() - __pos - __len1; - + _Rep* __r = _Rep::_S_create(_M_length() + __len2 - __len1, _M_capacity(), _M_get_allocator()); - + if (__pos) _S_copy(__r->_M_refdata(), _M_data(), __pos); if (__s && __len2) @@ -664,7 +663,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) if (__how_much) _S_copy(__r->_M_refdata() + __pos + __len2, _M_data() + __pos + __len1, __how_much); - + _M_dispose(); _M_data(__r->_M_refdata()); } @@ -676,7 +675,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { const size_type __new_size = _M_length() - __n; const size_type __how_much = _M_length() - __pos - __n; - + if (_M_is_shared()) { // Must reallocate. @@ -699,7 +698,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _M_data() + __pos + __n, __how_much); } - _M_rep()->_M_set_length(__new_size); + _M_rep()->_M_set_length(__new_size); } template<> diff --git a/libstdc++-v3/include/ext/ropeimpl.h b/libstdc++-v3/include/ext/ropeimpl.h index e79bca40b54..75d3e86431d 100644 --- a/libstdc++-v3/include/ext/ropeimpl.h +++ b/libstdc++-v3/include/ext/ropeimpl.h @@ -38,7 +38,7 @@ /** @file ropeimpl.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/rope} */ #include <cstdio> diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h index 6168631826b..4899e1fdcb7 100644 --- a/libstdc++-v3/include/ext/sso_string_base.h +++ b/libstdc++-v3/include/ext/sso_string_base.h @@ -24,9 +24,8 @@ // <http://www.gnu.org/licenses/>. /** @file ext/sso_string_base.h - * This file is a GNU extension to the Standard C++ Library. * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/vstring.h} */ #ifndef _SSO_STRING_BASE_H diff --git a/libstdc++-v3/include/ext/string_conversions.h b/libstdc++-v3/include/ext/string_conversions.h index a4276f30ba2..196295c839d 100644 --- a/libstdc++-v3/include/ext/string_conversions.h +++ b/libstdc++-v3/include/ext/string_conversions.h @@ -22,6 +22,10 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +/** @file ext/string_conversions.h + * This file is a GNU extension to the Standard C++ Library. + */ + #ifndef _STRING_CONVERSIONS_H #define _STRING_CONVERSIONS_H 1 diff --git a/libstdc++-v3/include/ext/typelist.h b/libstdc++-v3/include/ext/typelist.h index ff1cac7ee8c..2fe6f61530f 100644 --- a/libstdc++-v3/include/ext/typelist.h +++ b/libstdc++-v3/include/ext/typelist.h @@ -33,9 +33,11 @@ // purpose. It is provided "as is" without express or implied warranty. /** - * @file typelist.h - * Contains typelist_chain definitions. - * Typelists are an idea by Andrei Alexandrescu. + * @file ext/typelist.h + * This file is a GNU extension to the Standard C++ Library. + * + * Contains typelist_chain definitions. + * Typelists are an idea by Andrei Alexandrescu. */ #ifndef _TYPELIST_H @@ -89,7 +91,7 @@ namespace typelist template<typename Typelist, typename T> struct contains; - + template<typename Typelist, template<typename T> class Pred> struct filter; @@ -120,7 +122,7 @@ namespace typelist template<typename T1, typename T2, typename T3, typename T4, typename T5> struct create5; - template<typename T1, typename T2, typename T3, + template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> struct create6; } // namespace typelist @@ -130,7 +132,7 @@ _GLIBCXX_END_NAMESPACE _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) -namespace typelist +namespace typelist { namespace detail { @@ -245,7 +247,7 @@ namespace detail { private: typedef typename append_typelist_<Tl>::type rest_type; - + public: typedef typename append<Hd, node<rest_type> >::type::root type; }; @@ -270,7 +272,7 @@ namespace detail value = contains_<Tl, T>::value }; }; - + template<typename Tl, typename T> struct contains_<chain<T, Tl>, T> { @@ -297,7 +299,7 @@ namespace detail { include_hd = Pred<Hd>::value }; - + typedef typename chain_filter_<Tl, Pred>::type rest_type; typedef chain<Hd, rest_type> chain_type; @@ -313,7 +315,7 @@ namespace detail { typedef Hd type; }; - + template<typename Hd, typename Tl, int i> struct chain_at_index_<chain<Hd, Tl>, i> { @@ -328,7 +330,7 @@ namespace detail { typedef null_type type; }; - + template<class Hd, class Tl, template<typename T> class Transform> struct chain_transform_<chain<Hd, Tl>, Transform> { @@ -462,7 +464,7 @@ namespace typelist private: typedef typename Typelist::root root_type; typedef detail::chain_at_index_<root_type, i> index_type; - + public: typedef typename index_type::type type; }; @@ -523,14 +525,14 @@ namespace typelist typedef node<_GLIBCXX_TYPELIST_CHAIN4(T1,T2,T3,T4)> type; }; - template<typename T1, typename T2, typename T3, + template<typename T1, typename T2, typename T3, typename T4, typename T5> struct create5 { typedef node<_GLIBCXX_TYPELIST_CHAIN5(T1,T2,T3,T4,T5)> type; }; - template<typename T1, typename T2, typename T3, + template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6> struct create6 { @@ -541,4 +543,3 @@ _GLIBCXX_END_NAMESPACE #endif - diff --git a/libstdc++-v3/include/ext/vstring.h b/libstdc++-v3/include/ext/vstring.h index faca91be509..3700f3ee587 100644 --- a/libstdc++-v3/include/ext/vstring.h +++ b/libstdc++-v3/include/ext/vstring.h @@ -2118,7 +2118,13 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) inline __versa_string<_CharT, _Traits, _Alloc, _Base> operator+(__versa_string<_CharT, _Traits, _Alloc, _Base>&& __lhs, __versa_string<_CharT, _Traits, _Alloc, _Base>&& __rhs) - { return std::move(__lhs.append(__rhs)); } + { + const auto __size = __lhs.size() + __rhs.size(); + const bool __cond = (__size > __lhs.capacity() + && __size <= __rhs.capacity()); + return __cond ? std::move(__rhs.insert(0, __lhs)) + : std::move(__lhs.append(__rhs)); + } template<typename _CharT, typename _Traits, typename _Alloc, template <typename, typename, typename> class _Base> diff --git a/libstdc++-v3/include/ext/vstring.tcc b/libstdc++-v3/include/ext/vstring.tcc index 99193896b38..6908e1f3979 100644 --- a/libstdc++-v3/include/ext/vstring.tcc +++ b/libstdc++-v3/include/ext/vstring.tcc @@ -23,9 +23,8 @@ // <http://www.gnu.org/licenses/>. /** @file ext/vstring.tcc - * This file is a GNU extension to the Standard C++ Library. * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/vstring.h} */ #ifndef _VSTRING_TCC diff --git a/libstdc++-v3/include/ext/vstring_fwd.h b/libstdc++-v3/include/ext/vstring_fwd.h index c2a31d4af6c..a860ea861c3 100644 --- a/libstdc++-v3/include/ext/vstring_fwd.h +++ b/libstdc++-v3/include/ext/vstring_fwd.h @@ -23,9 +23,8 @@ // <http://www.gnu.org/licenses/>. /** @file ext/vstring_fwd.h - * This file is a GNU extension to the Standard C++ Library. * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/vstring.h} */ #ifndef _VSTRING_FWD_H diff --git a/libstdc++-v3/include/ext/vstring_util.h b/libstdc++-v3/include/ext/vstring_util.h index 6779f4dc9f0..d9307cc58fa 100644 --- a/libstdc++-v3/include/ext/vstring_util.h +++ b/libstdc++-v3/include/ext/vstring_util.h @@ -24,9 +24,8 @@ // <http://www.gnu.org/licenses/>. /** @file ext/vstring_util.h - * This file is a GNU extension to the Standard C++ Library. * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{ext/vstring.h} */ #ifndef _VSTRING_UTIL_H @@ -52,10 +51,10 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) { typedef typename _Alloc::template rebind<_CharT>::other _CharT_alloc_type; - typedef _Traits traits_type; + typedef _Traits traits_type; typedef typename _Traits::char_type value_type; typedef typename _CharT_alloc_type::size_type size_type; - typedef typename _CharT_alloc_type::difference_type difference_type; + typedef typename _CharT_alloc_type::difference_type difference_type; typedef typename _CharT_alloc_type::pointer pointer; typedef typename _CharT_alloc_type::const_pointer const_pointer; @@ -64,29 +63,29 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) __normal_iterator<pointer, __gnu_cxx:: __versa_string<_CharT, _Traits, _Alloc, __sso_string_base> > - __sso_iterator; + __sso_iterator; typedef __gnu_cxx:: __normal_iterator<const_pointer, __gnu_cxx:: __versa_string<_CharT, _Traits, _Alloc, __sso_string_base> > - __const_sso_iterator; + __const_sso_iterator; // For __rc_string. typedef __gnu_cxx:: __normal_iterator<pointer, __gnu_cxx:: __versa_string<_CharT, _Traits, _Alloc, __rc_string_base> > - __rc_iterator; + __rc_iterator; typedef __gnu_cxx:: __normal_iterator<const_pointer, __gnu_cxx:: __versa_string<_CharT, _Traits, _Alloc, __rc_string_base> > - __const_rc_iterator; + __const_rc_iterator; - // NB: When the allocator is empty, deriving from it saves space + // NB: When the allocator is empty, deriving from it saves space // (http://www.cantrip.org/emptyopt.html). template<typename _Alloc1> - struct _Alloc_hider + struct _Alloc_hider : public _Alloc1 { _Alloc_hider(_CharT* __ptr) @@ -115,7 +114,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) if (__n == 1) traits_type::assign(*__d, *__s); else - traits_type::move(__d, __s, __n); + traits_type::move(__d, __s, __n); } static void @@ -124,15 +123,15 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) if (__n == 1) traits_type::assign(*__d, __c); else - traits_type::assign(__d, __n, __c); + traits_type::assign(__d, __n, __c); } // _S_copy_chars is a separate template to permit specialization // to optimize for the common case of pointers as iterators. template<typename _Iterator> - static void - _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) - { + static void + _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) + { for (; __k1 != __k2; ++__k1, ++__p) traits_type::assign(*__p, *__k1); // These types are off. } diff --git a/libstdc++-v3/include/std/atomic b/libstdc++-v3/include/std/atomic index fc4cb86c49d..71cd4445e11 100644 --- a/libstdc++-v3/include/std/atomic +++ b/libstdc++-v3/include/std/atomic @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file atomic +/** @file include/atomic * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable index 71d2133a6e8..6b46fe71d8f 100644 --- a/libstdc++-v3/include/std/condition_variable +++ b/libstdc++-v3/include/std/condition_variable @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file condition_variable +/** @file include/condition_variable * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/fstream b/libstdc++-v3/include/std/fstream index 0ffd33d3186..ee31fc12b65 100644 --- a/libstdc++-v3/include/std/fstream +++ b/libstdc++-v3/include/std/fstream @@ -24,7 +24,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file fstream +/** @file include/fstream * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 6fc3cf0a804..7b22b783867 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file future +/** @file include/future * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/iomanip b/libstdc++-v3/include/std/iomanip index 3dfa2a71a90..8fc2e72fd7a 100644 --- a/libstdc++-v3/include/std/iomanip +++ b/libstdc++-v3/include/std/iomanip @@ -24,7 +24,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file iomanip +/** @file include/iomanip * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/ios b/libstdc++-v3/include/std/ios index d561ac66384..8f7975e2db8 100644 --- a/libstdc++-v3/include/std/ios +++ b/libstdc++-v3/include/std/ios @@ -23,7 +23,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ios +/** @file include/ios * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/iosfwd b/libstdc++-v3/include/std/iosfwd index 9ac72fd5c00..4cbd8359b2a 100644 --- a/libstdc++-v3/include/std/iosfwd +++ b/libstdc++-v3/include/std/iosfwd @@ -24,7 +24,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file iosfwd +/** @file include/iosfwd * This is a Standard C++ Library header. */ @@ -43,7 +43,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) - /** + /** * @defgroup io I/O * * Nearly all of the I/O classes are parameterized on the type of @@ -71,7 +71,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * * @{ */ - class ios_base; + class ios_base; template<typename _CharT, typename _Traits = char_traits<_CharT> > class basic_ios; @@ -122,37 +122,85 @@ _GLIBCXX_BEGIN_NAMESPACE(std) template<typename _CharT, typename _Traits = char_traits<_CharT> > class ostreambuf_iterator; - // _GLIBCXX_RESOLVE_LIB_DEFECTS - // Not included. (??? Apparently no LWG number?) - - typedef basic_ios<char> ios; ///< @isiosfwd - typedef basic_streambuf<char> streambuf; ///< @isiosfwd - typedef basic_istream<char> istream; ///< @isiosfwd - typedef basic_ostream<char> ostream; ///< @isiosfwd - typedef basic_iostream<char> iostream; ///< @isiosfwd - typedef basic_stringbuf<char> stringbuf; ///< @isiosfwd - typedef basic_istringstream<char> istringstream; ///< @isiosfwd - typedef basic_ostringstream<char> ostringstream; ///< @isiosfwd - typedef basic_stringstream<char> stringstream; ///< @isiosfwd - typedef basic_filebuf<char> filebuf; ///< @isiosfwd - typedef basic_ifstream<char> ifstream; ///< @isiosfwd - typedef basic_ofstream<char> ofstream; ///< @isiosfwd - typedef basic_fstream<char> fstream; ///< @isiosfwd + + /// Base class for @c char streams. + typedef basic_ios<char> ios; + + /// Base class for @c char buffers. + typedef basic_streambuf<char> streambuf; + + /// Base class for @c char input streams. + typedef basic_istream<char> istream; + + /// Base class for @c char output streams. + typedef basic_ostream<char> ostream; + + /// Base class for @c char mixed input and output streams. + typedef basic_iostream<char> iostream; + + /// Class for @c char memory buffers. + typedef basic_stringbuf<char> stringbuf; + + /// Class for @c char input memory streams. + typedef basic_istringstream<char> istringstream; + + /// Class for @c char output memory streams. + typedef basic_ostringstream<char> ostringstream; + + /// Class for @c char mixed input and output memory streams. + typedef basic_stringstream<char> stringstream; + + /// Class for @c char file buffers. + typedef basic_filebuf<char> filebuf; + + /// Class for @c char input file streams. + typedef basic_ifstream<char> ifstream; + + /// Class for @c char output file streams. + typedef basic_ofstream<char> ofstream; + + /// Class for @c char mixed input and output file streams. + typedef basic_fstream<char> fstream; #ifdef _GLIBCXX_USE_WCHAR_T - typedef basic_ios<wchar_t> wios; ///< @isiosfwd - typedef basic_streambuf<wchar_t> wstreambuf; ///< @isiosfwd - typedef basic_istream<wchar_t> wistream; ///< @isiosfwd - typedef basic_ostream<wchar_t> wostream; ///< @isiosfwd - typedef basic_iostream<wchar_t> wiostream; ///< @isiosfwd - typedef basic_stringbuf<wchar_t> wstringbuf; ///< @isiosfwd - typedef basic_istringstream<wchar_t> wistringstream; ///< @isiosfwd - typedef basic_ostringstream<wchar_t> wostringstream; ///< @isiosfwd - typedef basic_stringstream<wchar_t> wstringstream; ///< @isiosfwd - typedef basic_filebuf<wchar_t> wfilebuf; ///< @isiosfwd - typedef basic_ifstream<wchar_t> wifstream; ///< @isiosfwd - typedef basic_ofstream<wchar_t> wofstream; ///< @isiosfwd - typedef basic_fstream<wchar_t> wfstream; ///< @isiosfwd + /// Base class for @c wchar_t streams. + typedef basic_ios<wchar_t> wios; + + /// Base class for @c wchar_t buffers. + typedef basic_streambuf<wchar_t> wstreambuf; + + /// Base class for @c wchar_t input streams. + typedef basic_istream<wchar_t> wistream; + + /// Base class for @c wchar_t output streams. + typedef basic_ostream<wchar_t> wostream; + + /// Base class for @c wchar_t mixed input and output streams. + typedef basic_iostream<wchar_t> wiostream; + + /// Class for @c wchar_t memory buffers. + typedef basic_stringbuf<wchar_t> wstringbuf; + + /// Class for @c wchar_t input memory streams. + typedef basic_istringstream<wchar_t> wistringstream; + + /// Class for @c wchar_t output memory streams. + typedef basic_ostringstream<wchar_t> wostringstream; + + /// Class for @c wchar_t mixed input and output memory streams. + typedef basic_stringstream<wchar_t> wstringstream; + + /// Class for @c wchar_t file buffers. + typedef basic_filebuf<wchar_t> wfilebuf; + + /// Class for @c wchar_t input file streams. + typedef basic_ifstream<wchar_t> wifstream; + + /// Class for @c wchar_t output file streams. + typedef basic_ofstream<wchar_t> wofstream; + + /// Class for @c wchar_t mixed input and output file streams. + typedef basic_fstream<wchar_t> wfstream; #endif /** @} */ diff --git a/libstdc++-v3/include/std/iostream b/libstdc++-v3/include/std/iostream index 9212ea82846..6a991caee00 100644 --- a/libstdc++-v3/include/std/iostream +++ b/libstdc++-v3/include/std/iostream @@ -23,8 +23,8 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file iostream - * This is a Standard C++ Library header. +/** @file include/iostream + * This is a Standard C++ Library header. */ // @@ -56,16 +56,16 @@ _GLIBCXX_BEGIN_NAMESPACE(std) * linked to above. */ //@{ - extern istream cin; ///< Linked to standard input - extern ostream cout; ///< Linked to standard output - extern ostream cerr; ///< Linked to standard error (unbuffered) - extern ostream clog; ///< Linked to standard error (buffered) + extern istream cin; /// Linked to standard input + extern ostream cout; /// Linked to standard output + extern ostream cerr; /// Linked to standard error (unbuffered) + extern ostream clog; /// Linked to standard error (buffered) #ifdef _GLIBCXX_USE_WCHAR_T - extern wistream wcin; ///< Linked to standard input - extern wostream wcout; ///< Linked to standard output - extern wostream wcerr; ///< Linked to standard error (unbuffered) - extern wostream wclog; ///< Linked to standard error (buffered) + extern wistream wcin; /// Linked to standard input + extern wostream wcout; /// Linked to standard output + extern wostream wcerr; /// Linked to standard error (unbuffered) + extern wostream wclog; /// Linked to standard error (buffered) #endif //@} diff --git a/libstdc++-v3/include/std/istream b/libstdc++-v3/include/std/istream index 542396b123a..df75718ae10 100644 --- a/libstdc++-v3/include/std/istream +++ b/libstdc++-v3/include/std/istream @@ -28,7 +28,7 @@ // ISO C++ 14882: 27.6.1 Input streams // -/** @file istream +/** @file include/istream * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/limits b/libstdc++-v3/include/std/limits index 4594c93eb32..77190060bb7 100644 --- a/libstdc++-v3/include/std/limits +++ b/libstdc++-v3/include/std/limits @@ -23,7 +23,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file limits +/** @file include/limits * This is a Standard C++ Library header. */ @@ -154,11 +154,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) */ enum float_round_style { - round_indeterminate = -1, ///< Self-explanatory. - round_toward_zero = 0, ///< Self-explanatory. - round_to_nearest = 1, ///< To the nearest representable value. - round_toward_infinity = 2, ///< Self-explanatory. - round_toward_neg_infinity = 3 ///< Self-explanatory. + round_indeterminate = -1, /// Intermediate. + round_toward_zero = 0, /// To zero. + round_to_nearest = 1, /// To the nearest representable value. + round_toward_infinity = 2, /// To infinity. + round_toward_neg_infinity = 3 /// To negative infinity. }; /** diff --git a/libstdc++-v3/include/std/locale b/libstdc++-v3/include/std/locale index 3504b778c9b..55aad34f196 100644 --- a/libstdc++-v3/include/std/locale +++ b/libstdc++-v3/include/std/locale @@ -28,7 +28,7 @@ // ISO C++ 14882: 22.1 Locales // -/** @file locale +/** @file include/locale * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index 4c155113625..e8f64a44645 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -23,7 +23,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file mutex +/** @file include/mutex * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream index 17426f48249..632a0e0414e 100644 --- a/libstdc++-v3/include/std/ostream +++ b/libstdc++-v3/include/std/ostream @@ -24,7 +24,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ostream +/** @file include/ostream * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio index 80c5d15e789..2eefdb705da 100644 --- a/libstdc++-v3/include/std/ratio +++ b/libstdc++-v3/include/std/ratio @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file ratio +/** @file include/ratio * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/sstream b/libstdc++-v3/include/std/sstream index f000ac079c8..7f9091c81fc 100644 --- a/libstdc++-v3/include/std/sstream +++ b/libstdc++-v3/include/std/sstream @@ -23,7 +23,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file sstream +/** @file include/sstream * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/stdexcept b/libstdc++-v3/include/std/stdexcept index 9f5c9761c66..351b8e5d9a5 100644 --- a/libstdc++-v3/include/std/stdexcept +++ b/libstdc++-v3/include/std/stdexcept @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file stdexcept +/** @file include/stdexcept * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/streambuf b/libstdc++-v3/include/std/streambuf index 178a1e74f52..e95a7523dca 100644 --- a/libstdc++-v3/include/std/streambuf +++ b/libstdc++-v3/include/std/streambuf @@ -23,7 +23,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file streambuf +/** @file include/streambuf * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/system_error b/libstdc++-v3/include/std/system_error index ce4e23825a3..73aaa79dc7b 100644 --- a/libstdc++-v3/include/std/system_error +++ b/libstdc++-v3/include/std/system_error @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file system_error +/** @file include/system_error * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 944d0a8a5b2..8a626feb73f 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -22,7 +22,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file thread +/** @file include/thread * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/std/valarray b/libstdc++-v3/include/std/valarray index d67eae26ef7..40e78e76914 100644 --- a/libstdc++-v3/include/std/valarray +++ b/libstdc++-v3/include/std/valarray @@ -24,7 +24,7 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. -/** @file valarray +/** @file include/valarray * This is a Standard C++ Library header. */ diff --git a/libstdc++-v3/include/tr1/bessel_function.tcc b/libstdc++-v3/include/tr1/bessel_function.tcc index 25102151b56..33c419273a8 100644 --- a/libstdc++-v3/include/tr1/bessel_function.tcc +++ b/libstdc++-v3/include/tr1/bessel_function.tcc @@ -25,7 +25,7 @@ /** @file tr1/bessel_function.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/beta_function.tcc b/libstdc++-v3/include/tr1/beta_function.tcc index f9d18604d13..d2dccd1fd13 100644 --- a/libstdc++-v3/include/tr1/beta_function.tcc +++ b/libstdc++-v3/include/tr1/beta_function.tcc @@ -25,7 +25,7 @@ /** @file tr1/beta_function.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/ell_integral.tcc b/libstdc++-v3/include/tr1/ell_integral.tcc index 09bda9aa90b..339d90d126f 100644 --- a/libstdc++-v3/include/tr1/ell_integral.tcc +++ b/libstdc++-v3/include/tr1/ell_integral.tcc @@ -25,7 +25,7 @@ /** @file tr1/ell_integral.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/exp_integral.tcc b/libstdc++-v3/include/tr1/exp_integral.tcc index 173cbdfc79f..7834f9e08fa 100644 --- a/libstdc++-v3/include/tr1/exp_integral.tcc +++ b/libstdc++-v3/include/tr1/exp_integral.tcc @@ -25,7 +25,7 @@ /** @file tr1/exp_integral.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/functional_hash.h b/libstdc++-v3/include/tr1/functional_hash.h index 9ea483e3e38..e555acea4d3 100644 --- a/libstdc++-v3/include/tr1/functional_hash.h +++ b/libstdc++-v3/include/tr1/functional_hash.h @@ -24,7 +24,7 @@ /** @file tr1/functional_hash.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/functional} */ #ifndef _GLIBCXX_TR1_FUNCTIONAL_HASH_H diff --git a/libstdc++-v3/include/tr1/gamma.tcc b/libstdc++-v3/include/tr1/gamma.tcc index b54e6436069..286dd180d51 100644 --- a/libstdc++-v3/include/tr1/gamma.tcc +++ b/libstdc++-v3/include/tr1/gamma.tcc @@ -25,7 +25,7 @@ /** @file tr1/gamma.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/hashtable.h b/libstdc++-v3/include/tr1/hashtable.h index 5064b1fdddb..2dedc5cd16d 100644 --- a/libstdc++-v3/include/tr1/hashtable.h +++ b/libstdc++-v3/include/tr1/hashtable.h @@ -24,7 +24,8 @@ /** @file tr1/hashtable.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. + * @headername{tr1/unordered_set, tr1/unordered_map} */ #ifndef _GLIBCXX_TR1_HASHTABLE_H @@ -35,40 +36,40 @@ #include <tr1/hashtable_policy.h> namespace std -{ +{ namespace tr1 { // Class template _Hashtable, class definition. - + // Meaning of class template _Hashtable's template parameters - + // _Key and _Value: arbitrary CopyConstructible types. - + // _Allocator: an allocator type ([lib.allocator.requirements]) whose // value type is Value. As a conforming extension, we allow for // value type != Value. // _ExtractKey: function object that takes a object of type Value // and returns a value of type _Key. - + // _Equal: function object that takes two objects of type k and returns // a bool-like value that is true if the two objects are considered equal. - + // _H1: the hash function. A unary function object with argument type // Key and result type size_t. Return values should be distributed // over the entire range [0, numeric_limits<size_t>:::max()]. - + // _H2: the range-hashing function (in the terminology of Tavori and // Dreizin). A binary function object whose argument types and result // type are all size_t. Given arguments r and N, the return value is // in the range [0, N). - + // _Hash: the ranged hash function (Tavori and Dreizin). A binary function // whose argument types are _Key and size_t and whose result type is // size_t. Given arguments k and N, the return value is in the range // [0, N). Default: hash(k, N) = h2(h1(k), N). If _Hash is anything other // than the default, _H1 and _H2 are ignored. - + // _RehashPolicy: Policy class with three members, all of which govern // the bucket count. _M_next_bkt(n) returns a bucket count no smaller // than n. _M_bkt_for_elements(n) returns a bucket count appropriate @@ -77,27 +78,27 @@ namespace tr1 // current element count is n_elt, we need to increase the bucket // count. If so, returns make_pair(true, n), where n is the new // bucket count. If not, returns make_pair(false, <anything>). - + // ??? Right now it is hard-wired that the number of buckets never // shrinks. Should we allow _RehashPolicy to change that? - + // __cache_hash_code: bool. true if we store the value of the hash // function along with the value. This is a time-space tradeoff. // Storing it may improve lookup speed by reducing the number of times // we need to call the Equal function. - + // __constant_iterators: bool. true if iterator and const_iterator are // both constant iterator types. This is true for unordered_set and // unordered_multiset, false for unordered_map and unordered_multimap. - + // __unique_keys: bool. true if the return value of _Hashtable::count(k) // is always at most one, false if it may be an arbitrary number. This // true for unordered_set and unordered_map, false for unordered_multiset // and unordered_multimap. - + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, - typename _H1, typename _H2, typename _Hash, + typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __cache_hash_code, bool __constant_iterators, @@ -135,74 +136,74 @@ namespace tr1 typedef typename _Allocator::const_pointer const_pointer; typedef typename _Allocator::reference reference; typedef typename _Allocator::const_reference const_reference; - + typedef __detail::_Node_iterator<value_type, __constant_iterators, __cache_hash_code> - local_iterator; + local_iterator; typedef __detail::_Node_const_iterator<value_type, __constant_iterators, __cache_hash_code> - const_local_iterator; + const_local_iterator; typedef __detail::_Hashtable_iterator<value_type, __constant_iterators, __cache_hash_code> - iterator; + iterator; typedef __detail::_Hashtable_const_iterator<value_type, __constant_iterators, __cache_hash_code> - const_iterator; + const_iterator; template<typename _Key2, typename _Value2, typename _Ex2, bool __unique2, typename _Hashtable2> - friend struct __detail::_Map_base; + friend struct __detail::_Map_base; private: typedef __detail::_Hash_node<_Value, __cache_hash_code> _Node; typedef typename _Allocator::template rebind<_Node>::other - _Node_allocator_type; + _Node_allocator_type; typedef typename _Allocator::template rebind<_Node*>::other - _Bucket_allocator_type; + _Bucket_allocator_type; typedef typename _Allocator::template rebind<_Value>::other - _Value_allocator_type; + _Value_allocator_type; _Node_allocator_type _M_node_allocator; _Node** _M_buckets; size_type _M_bucket_count; size_type _M_element_count; _RehashPolicy _M_rehash_policy; - + _Node* _M_allocate_node(const value_type& __v); - + void _M_deallocate_node(_Node* __n); - + void _M_deallocate_nodes(_Node**, size_type); _Node** _M_allocate_buckets(size_type __n); - + void _M_deallocate_buckets(_Node**, size_type __n); - public: + public: // Constructor, destructor, assignment, swap _Hashtable(size_type __bucket_hint, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&); - + template<typename _InputIterator> - _Hashtable(_InputIterator __first, _InputIterator __last, + _Hashtable(_InputIterator __first, _InputIterator __last, size_type __bucket_hint, - const _H1&, const _H2&, const _Hash&, + const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&); - + _Hashtable(const _Hashtable&); - + _Hashtable& operator=(const _Hashtable&); @@ -240,7 +241,7 @@ namespace tr1 size_type size() const { return _M_element_count; } - + bool empty() const { return size() == 0; } @@ -268,18 +269,18 @@ namespace tr1 size_type bucket_count() const { return _M_bucket_count; } - + size_type max_bucket_count() const { return max_size(); } - + size_type bucket_size(size_type __n) const { return std::distance(begin(__n), end(__n)); } - + size_type bucket(const key_type& __k) const - { + { return this->_M_bucket_index(__k, this->_M_hash_code(__k), bucket_count()); } @@ -302,7 +303,7 @@ namespace tr1 float load_factor() const - { + { return static_cast<float>(size()) / static_cast<float>(bucket_count()); } @@ -313,8 +314,8 @@ namespace tr1 const _RehashPolicy& __rehash_policy() const { return _M_rehash_policy; } - - void + + void __rehash_policy(const _RehashPolicy&); // Lookup. @@ -340,13 +341,13 @@ namespace tr1 // cleaner workaround. typedef typename __gnu_cxx::__conditional_type<__unique_keys, std::pair<iterator, bool>, iterator>::__type - _Insert_Return_Type; + _Insert_Return_Type; typedef typename __gnu_cxx::__conditional_type<__unique_keys, std::_Select1st<_Insert_Return_Type>, std::_Identity<_Insert_Return_Type> - >::__type - _Insert_Conv_Type; + >::__type + _Insert_Conv_Type; _Node* _M_find_node(_Node*, const key_type&, @@ -365,10 +366,10 @@ namespace tr1 void _M_erase_node(_Node*, _Node**); - public: + public: // Insert and erase _Insert_Return_Type - insert(const value_type& __v) + insert(const value_type& __v) { return _M_insert(__v, std::tr1::integral_constant<bool, __unique_keys>()); } @@ -381,8 +382,8 @@ namespace tr1 { return const_iterator(_Insert_Conv_Type()(this->insert(__v))); } template<typename _InputIterator> - void - insert(_InputIterator __first, _InputIterator __last); + void + insert(_InputIterator __first, _InputIterator __last); iterator erase(iterator); @@ -404,7 +405,7 @@ namespace tr1 // Set number of buckets to be appropriate for container of n element. void rehash(size_type __n); - + private: // Unconditionally change size of bucket array to n. void _M_rehash(size_type __n); @@ -412,7 +413,7 @@ namespace tr1 // Definitions of class template _Hashtable's out-of-line member functions. - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -437,7 +438,7 @@ namespace tr1 } } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -450,7 +451,7 @@ namespace tr1 _M_node_allocator.deallocate(__n, 1); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -472,7 +473,7 @@ namespace tr1 } } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -493,7 +494,7 @@ namespace tr1 return __p; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -506,7 +507,7 @@ namespace tr1 __alloc.deallocate(__p, __n + 1); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -530,7 +531,7 @@ namespace tr1 _M_buckets = _M_allocate_buckets(_M_bucket_count); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -570,8 +571,8 @@ namespace tr1 __throw_exception_again; } } - - template<typename _Key, typename _Value, + + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -611,7 +612,7 @@ namespace tr1 } } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -626,7 +627,7 @@ namespace tr1 return *this; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -638,7 +639,7 @@ namespace tr1 _M_deallocate_buckets(_M_buckets, _M_bucket_count); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -664,7 +665,7 @@ namespace tr1 std::swap(_M_element_count, __x._M_element_count); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -679,7 +680,7 @@ namespace tr1 _M_rehash(__n_bkt); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -696,7 +697,7 @@ namespace tr1 return __p ? iterator(__p, _M_buckets + __n) : this->end(); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -713,7 +714,7 @@ namespace tr1 return __p ? const_iterator(__p, _M_buckets + __n) : this->end(); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -733,7 +734,7 @@ namespace tr1 return __result; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -753,7 +754,7 @@ namespace tr1 std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count); _Node** __head = _M_buckets + __n; _Node* __p = _M_find_node(*__head, __k, __code); - + if (__p) { _Node* __p1 = __p->_M_next; @@ -771,7 +772,7 @@ namespace tr1 return std::make_pair(this->end(), this->end()); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -811,13 +812,13 @@ namespace tr1 // Find the node whose key compares equal to k, beginning the search // at p (usually the head of a bucket). Return nil if no node is found. - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> typename _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, - __chc, __cit, __uk>::_Node* + __chc, __cit, __uk>::_Node* _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>:: _M_find_node(_Node* __p, const key_type& __k, @@ -830,7 +831,7 @@ namespace tr1 } // Insert v in bucket n (assumes no element with its key already present). - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -873,7 +874,7 @@ namespace tr1 } // Insert v if no element with its key is already present. - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -893,9 +894,9 @@ namespace tr1 return std::make_pair(iterator(__p, _M_buckets + __n), false); return std::make_pair(_M_insert_bucket(__v, __n, __code), true); } - + // Insert v unconditionally. - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -911,7 +912,7 @@ namespace tr1 _M_element_count, 1); if (__do_rehash.first) _M_rehash(__do_rehash.second); - + const key_type& __k = this->_M_extract(__v); typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k); size_type __n = this->_M_bucket_index(__k, __code, _M_bucket_count); @@ -937,7 +938,7 @@ namespace tr1 } // For erase(iterator) and erase(const_iterator). - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -964,12 +965,12 @@ namespace tr1 --_M_element_count; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> template<typename _InputIterator> - void + void _Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __chc, __cit, __uk>:: insert(_InputIterator __first, _InputIterator __last) @@ -985,7 +986,7 @@ namespace tr1 this->insert(*__first); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1002,7 +1003,7 @@ namespace tr1 return __result; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1019,7 +1020,7 @@ namespace tr1 return __result; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1033,7 +1034,7 @@ namespace tr1 typename _Hashtable::_Hash_code_type __code = this->_M_hash_code(__k); std::size_t __n = this->_M_bucket_index(__k, __code, _M_bucket_count); size_type __result = 0; - + _Node** __slot = _M_buckets + __n; while (*__slot && !this->_M_compare(__k, __code, *__slot)) __slot = &((*__slot)->_M_next); @@ -1046,8 +1047,8 @@ namespace tr1 // in parameters? if (&this->_M_extract((*__slot)->_M_v) != &__k) { - _Node* __p = *__slot; - *__slot = __p->_M_next; + _Node* __p = *__slot; + *__slot = __p->_M_next; _M_deallocate_node(__p); --_M_element_count; ++__result; @@ -1074,7 +1075,7 @@ namespace tr1 // ??? This could be optimized by taking advantage of the bucket // structure, but it's not clear that it's worth doing. It probably // wouldn't even be an optimization unless the load factor is large. - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1089,8 +1090,8 @@ namespace tr1 __first = this->erase(__first); return __last; } - - template<typename _Key, typename _Value, + + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1106,7 +1107,7 @@ namespace tr1 return __last; } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1118,8 +1119,8 @@ namespace tr1 _M_deallocate_nodes(_M_buckets, _M_bucket_count); _M_element_count = 0; } - - template<typename _Key, typename _Value, + + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> @@ -1133,7 +1134,7 @@ namespace tr1 + 1))); } - template<typename _Key, typename _Value, + template<typename _Key, typename _Value, typename _Allocator, typename _ExtractKey, typename _Equal, typename _H1, typename _H2, typename _Hash, typename _RehashPolicy, bool __chc, bool __cit, bool __uk> diff --git a/libstdc++-v3/include/tr1/hashtable_policy.h b/libstdc++-v3/include/tr1/hashtable_policy.h index 514fdb0983e..967fb3c3377 100644 --- a/libstdc++-v3/include/tr1/hashtable_policy.h +++ b/libstdc++-v3/include/tr1/hashtable_policy.h @@ -24,7 +24,8 @@ /** @file tr1/hashtable_policy.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. + * @headername{tr1/unordered_map, tr1/unordered_set} */ namespace std diff --git a/libstdc++-v3/include/tr1/hypergeometric.tcc b/libstdc++-v3/include/tr1/hypergeometric.tcc index c53fb8e5e81..bf6a0fdeded 100644 --- a/libstdc++-v3/include/tr1/hypergeometric.tcc +++ b/libstdc++-v3/include/tr1/hypergeometric.tcc @@ -25,7 +25,7 @@ /** @file tr1/hypergeometric.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/legendre_function.tcc b/libstdc++-v3/include/tr1/legendre_function.tcc index 8b59814da4f..4ffeada7844 100644 --- a/libstdc++-v3/include/tr1/legendre_function.tcc +++ b/libstdc++-v3/include/tr1/legendre_function.tcc @@ -25,7 +25,7 @@ /** @file tr1/legendre_function.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/modified_bessel_func.tcc b/libstdc++-v3/include/tr1/modified_bessel_func.tcc index 7b8aebc3bf3..16fbdd7e445 100644 --- a/libstdc++-v3/include/tr1/modified_bessel_func.tcc +++ b/libstdc++-v3/include/tr1/modified_bessel_func.tcc @@ -25,7 +25,7 @@ /** @file tr1/modified_bessel_func.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/poly_hermite.tcc b/libstdc++-v3/include/tr1/poly_hermite.tcc index d4825a31eee..07abbac3a6b 100644 --- a/libstdc++-v3/include/tr1/poly_hermite.tcc +++ b/libstdc++-v3/include/tr1/poly_hermite.tcc @@ -25,7 +25,7 @@ /** @file tr1/poly_hermite.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/poly_laguerre.tcc b/libstdc++-v3/include/tr1/poly_laguerre.tcc index 9c999dbdfed..5cf0050c8c4 100644 --- a/libstdc++-v3/include/tr1/poly_laguerre.tcc +++ b/libstdc++-v3/include/tr1/poly_laguerre.tcc @@ -25,7 +25,7 @@ /** @file tr1/poly_laguerre.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/random.h b/libstdc++-v3/include/tr1/random.h index 0d43c850e96..1b491b0461a 100644 --- a/libstdc++-v3/include/tr1/random.h +++ b/libstdc++-v3/include/tr1/random.h @@ -25,7 +25,7 @@ /** * @file tr1/random.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/random} */ #ifndef _GLIBCXX_TR1_RANDOM_H diff --git a/libstdc++-v3/include/tr1/random.tcc b/libstdc++-v3/include/tr1/random.tcc index 1bc8f1f8fbb..d53737774d8 100644 --- a/libstdc++-v3/include/tr1/random.tcc +++ b/libstdc++-v3/include/tr1/random.tcc @@ -25,7 +25,7 @@ /** @file tr1/random.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/random} */ #ifndef _GLIBCXX_TR1_RANDOM_TCC diff --git a/libstdc++-v3/include/tr1/riemann_zeta.tcc b/libstdc++-v3/include/tr1/riemann_zeta.tcc index c646c2e40c5..fb373b0258c 100644 --- a/libstdc++-v3/include/tr1/riemann_zeta.tcc +++ b/libstdc++-v3/include/tr1/riemann_zeta.tcc @@ -25,7 +25,7 @@ /** @file tr1/riemann_zeta.tcc * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/shared_ptr.h b/libstdc++-v3/include/tr1/shared_ptr.h index 947ee7f32c1..a942fcd99ed 100644 --- a/libstdc++-v3/include/tr1/shared_ptr.h +++ b/libstdc++-v3/include/tr1/shared_ptr.h @@ -43,7 +43,7 @@ /** @file tr1/shared_ptr.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/memory} */ #ifndef _TR1_SHARED_PTR_H diff --git a/libstdc++-v3/include/tr1/special_function_util.h b/libstdc++-v3/include/tr1/special_function_util.h index d2699bd85bc..066e043903d 100644 --- a/libstdc++-v3/include/tr1/special_function_util.h +++ b/libstdc++-v3/include/tr1/special_function_util.h @@ -25,7 +25,7 @@ /** @file tr1/special_function_util.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/cmath} */ // diff --git a/libstdc++-v3/include/tr1/unordered_map.h b/libstdc++-v3/include/tr1/unordered_map.h index 9aa20a7266c..cdce7d0df0c 100644 --- a/libstdc++-v3/include/tr1/unordered_map.h +++ b/libstdc++-v3/include/tr1/unordered_map.h @@ -24,7 +24,7 @@ /** @file tr1/unordered_map.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/unordered_map} */ namespace std @@ -40,7 +40,7 @@ namespace tr1 bool __cache_hash_code = false> class __unordered_map : public _Hashtable<_Key, std::pair<const _Key, _Tp>, _Alloc, - std::_Select1st<std::pair<const _Key, _Tp> >, _Pred, + std::_Select1st<std::pair<const _Key, _Tp> >, _Pred, _Hash, __detail::_Mod_range_hashing, __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, @@ -52,7 +52,7 @@ namespace tr1 __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, __cache_hash_code, false, true> - _Base; + _Base; public: typedef typename _Base::size_type size_type; @@ -71,17 +71,17 @@ namespace tr1 { } template<typename _InputIterator> - __unordered_map(_InputIterator __f, _InputIterator __l, + __unordered_map(_InputIterator __f, _InputIterator __l, size_type __n = 10, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(), __detail::_Default_ranged_hash(), __eql, std::_Select1st<std::pair<const _Key, _Tp> >(), __a) { } }; - + template<class _Key, class _Tp, class _Hash = hash<_Key>, class _Pred = std::equal_to<_Key>, @@ -103,14 +103,14 @@ namespace tr1 __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, __cache_hash_code, false, false> - _Base; + _Base; public: typedef typename _Base::size_type size_type; typedef typename _Base::hasher hasher; typedef typename _Base::key_equal key_equal; typedef typename _Base::allocator_type allocator_type; - + explicit __unordered_multimap(size_type __n = 10, const hasher& __hf = hasher(), @@ -123,15 +123,15 @@ namespace tr1 template<typename _InputIterator> - __unordered_multimap(_InputIterator __f, _InputIterator __l, + __unordered_multimap(_InputIterator __f, _InputIterator __l, typename _Base::size_type __n = 0, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(), __detail::_Default_ranged_hash(), __eql, std::_Select1st<std::pair<const _Key, _Tp> >(), __a) - { } + { } }; template<class _Key, class _Tp, class _Hash, class _Pred, class _Alloc, @@ -196,15 +196,15 @@ namespace tr1 { } template<typename _InputIterator> - unordered_map(_InputIterator __f, _InputIterator __l, + unordered_map(_InputIterator __f, _InputIterator __l, size_type __n = 10, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __eql, __a) - { } + { } }; - + /** * @brief A standard container composed of equivalent keys * (possibly containing multiple of each key value) that associates @@ -238,7 +238,7 @@ namespace tr1 typedef typename _Base::hasher hasher; typedef typename _Base::key_equal key_equal; typedef typename _Base::allocator_type allocator_type; - + explicit unordered_multimap(size_type __n = 10, const hasher& __hf = hasher(), @@ -249,13 +249,13 @@ namespace tr1 template<typename _InputIterator> - unordered_multimap(_InputIterator __f, _InputIterator __l, + unordered_multimap(_InputIterator __f, _InputIterator __l, typename _Base::size_type __n = 0, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __eql, __a) - { } + { } }; diff --git a/libstdc++-v3/include/tr1/unordered_set.h b/libstdc++-v3/include/tr1/unordered_set.h index e072035ded4..293adf194d4 100644 --- a/libstdc++-v3/include/tr1/unordered_set.h +++ b/libstdc++-v3/include/tr1/unordered_set.h @@ -24,11 +24,11 @@ /** @file tr1/unordered_set.h * This is an internal header file, included by other library headers. - * You should not attempt to use it directly. + * Do not attempt to use it directly. @headername{tr1/unordered_set} */ namespace std -{ +{ namespace tr1 { // XXX When we get typedef templates these class definitions @@ -52,14 +52,14 @@ namespace tr1 __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, __cache_hash_code, true, true> - _Base; + _Base; public: typedef typename _Base::size_type size_type; typedef typename _Base::hasher hasher; typedef typename _Base::key_equal key_equal; typedef typename _Base::allocator_type allocator_type; - + explicit __unordered_set(size_type __n = 10, const hasher& __hf = hasher(), @@ -71,15 +71,15 @@ namespace tr1 { } template<typename _InputIterator> - __unordered_set(_InputIterator __f, _InputIterator __l, + __unordered_set(_InputIterator __f, _InputIterator __l, size_type __n = 10, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(), __detail::_Default_ranged_hash(), __eql, std::_Identity<_Value>(), __a) - { } + { } }; template<class _Value, @@ -101,14 +101,14 @@ namespace tr1 __detail::_Default_ranged_hash, __detail::_Prime_rehash_policy, __cache_hash_code, true, false> - _Base; + _Base; public: typedef typename _Base::size_type size_type; typedef typename _Base::hasher hasher; typedef typename _Base::key_equal key_equal; typedef typename _Base::allocator_type allocator_type; - + explicit __unordered_multiset(size_type __n = 10, const hasher& __hf = hasher(), @@ -121,15 +121,15 @@ namespace tr1 template<typename _InputIterator> - __unordered_multiset(_InputIterator __f, _InputIterator __l, + __unordered_multiset(_InputIterator __f, _InputIterator __l, typename _Base::size_type __n = 0, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __detail::_Mod_range_hashing(), __detail::_Default_ranged_hash(), __eql, std::_Identity<_Value>(), __a) - { } + { } }; template<class _Value, class _Hash, class _Pred, class _Alloc, @@ -179,7 +179,7 @@ namespace tr1 typedef typename _Base::hasher hasher; typedef typename _Base::key_equal key_equal; typedef typename _Base::allocator_type allocator_type; - + explicit unordered_set(size_type __n = 10, const hasher& __hf = hasher(), @@ -189,13 +189,13 @@ namespace tr1 { } template<typename _InputIterator> - unordered_set(_InputIterator __f, _InputIterator __l, + unordered_set(_InputIterator __f, _InputIterator __l, size_type __n = 10, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __eql, __a) - { } + { } }; /** @@ -228,7 +228,7 @@ namespace tr1 typedef typename _Base::hasher hasher; typedef typename _Base::key_equal key_equal; typedef typename _Base::allocator_type allocator_type; - + explicit unordered_multiset(size_type __n = 10, const hasher& __hf = hasher(), @@ -239,13 +239,13 @@ namespace tr1 template<typename _InputIterator> - unordered_multiset(_InputIterator __f, _InputIterator __l, + unordered_multiset(_InputIterator __f, _InputIterator __l, typename _Base::size_type __n = 0, - const hasher& __hf = hasher(), - const key_equal& __eql = key_equal(), + const hasher& __hf = hasher(), + const key_equal& __eql = key_equal(), const allocator_type& __a = allocator_type()) : _Base(__f, __l, __n, __hf, __eql, __a) - { } + { } }; template<class _Value, class _Hash, class _Pred, class _Alloc> diff --git a/libstdc++-v3/libsupc++/exception_ptr.h b/libstdc++-v3/libsupc++/exception_ptr.h index 4ccb4fb2d6e..c0316fd64e3 100644 --- a/libstdc++-v3/libsupc++/exception_ptr.h +++ b/libstdc++-v3/libsupc++/exception_ptr.h @@ -24,8 +24,8 @@ // <http://www.gnu.org/licenses/>. /** @file exception_ptr.h - * This is an internal header file, included by other headers and the - * implementation. You should not attempt to use it directly. + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{exception} */ #ifndef _EXCEPTION_PTR_H diff --git a/libstdc++-v3/libsupc++/nested_exception.h b/libstdc++-v3/libsupc++/nested_exception.h index d9665dadc8c..1836b6e8335 100644 --- a/libstdc++-v3/libsupc++/nested_exception.h +++ b/libstdc++-v3/libsupc++/nested_exception.h @@ -23,8 +23,8 @@ // <http://www.gnu.org/licenses/>. /** @file nested_exception.h - * This is an internal header file, included by other headers and the - * implementation. You should not attempt to use it directly. + * This is an internal header file, included by other library headers. + * Do not attempt to use it directly. @headername{exception} */ #ifndef _GLIBCXX_NESTED_EXCEPTION_H diff --git a/libstdc++-v3/scripts/run_doxygen b/libstdc++-v3/scripts/run_doxygen index 77e7061ca77..6b3ae4c3a59 100644 --- a/libstdc++-v3/scripts/run_doxygen +++ b/libstdc++-v3/scripts/run_doxygen @@ -13,7 +13,7 @@ # We can check now that the version of doxygen is >= this variable. -DOXYVER=1.6.1 +DOXYVER=1.7.2 find_doxygen() { local -r v_required=`echo $DOXYVER | \ diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc index 264e1a3692b..146b9656f3d 100644 --- a/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/18_support/headers/cstdbool/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <cstdbool> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc index fdbb1dae515..afd65a36ade 100644 --- a/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/18_support/headers/cstdint/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <cstdint> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc index 46f046d6570..9698cf03191 100644 --- a/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/19_diagnostics/headers/system_error/std_c++0x_neg.cc @@ -19,7 +19,7 @@ #include <system_error> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/20_util/duration/cons/dr974.cc b/libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc index 4466d30097a..4466d30097a 100644 --- a/libstdc++-v3/testsuite/20_util/duration/cons/dr974.cc +++ b/libstdc++-v3/testsuite/20_util/duration/cons/dr974_neg.cc diff --git a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc index f66944b3a90..17f8c84d20f 100644 --- a/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/enable_shared_from_this/cons/constexpr.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-std=gnu++0x -fno-inline -save-temps" } +// { dg-options "-std=gnu++0x -fno-inline -save-temps -g0" } // { dg-final { scan-assembler-not "_ZNSt23enable_shared_from_thisIiEC2Ev" } } // { dg-final { scan-assembler-not "_ZN7derivedC2Ev" } } diff --git a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc index e596b6ac6ee..4fd554e350f 100644 --- a/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/20_util/headers/type_traits/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <type_traits> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc index 837c668efe9..837c668efe9 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/43820_neg.cc diff --git a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc index 72eea9e0ffc..5a1fc818fc4 100644 --- a/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/shared_ptr/cons/constexpr.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-std=gnu++0x -fno-inline -save-temps" } +// { dg-options "-std=gnu++0x -fno-inline -save-temps -g0" } // { dg-final { scan-assembler-not "_ZNSt10shared_ptrIiEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt10shared_ptrIiEC2EDn" } } diff --git a/libstdc++-v3/testsuite/20_util/temporary_buffer.cc b/libstdc++-v3/testsuite/20_util/temporary_buffer.cc index 7266f9e2da2..b6e3d448a95 100644 --- a/libstdc++-v3/testsuite/20_util/temporary_buffer.cc +++ b/libstdc++-v3/testsuite/20_util/temporary_buffer.cc @@ -28,7 +28,8 @@ int main(void) { bool test __attribute__((unused)) = true; - std::pair<junk*,ptrdiff_t> results = std::get_temporary_buffer<junk>(5); + typedef std::pair<junk*, std::ptrdiff_t> pair_type; + pair_type results = std::get_temporary_buffer<junk>(5); if (results.second != 0) { diff --git a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc index 613c27f8b31..613c27f8b31 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/comparison_operators/35480_neg.cc diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc index 1f3cabc789a..fbe9821f941 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/constexpr.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-std=gnu++0x -fno-inline -save-temps" } +// { dg-options "-std=gnu++0x -fno-inline -save-temps -g0" } // { dg-final { scan-assembler-not "_ZNSt10unique_ptrIiSt14default_deleteIiEEC2Ev" } } // { dg-final { scan-assembler-not "_ZNSt10unique_ptrIiSt14default_deleteIiEEC2EDn" } } diff --git a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc index 2a4a89b4037..2a4a89b4037 100644 --- a/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible.cc +++ b/libstdc++-v3/testsuite/20_util/unique_ptr/cons/pointer_array_convertible_neg.cc diff --git a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc index ce19df1578d..6e74dd35d40 100644 --- a/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc +++ b/libstdc++-v3/testsuite/20_util/weak_ptr/cons/constexpr.cc @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-std=gnu++0x -fno-inline -save-temps" } +// { dg-options "-std=gnu++0x -fno-inline -save-temps -g0" } // { dg-final { scan-assembler-not "_ZNSt8weak_ptrIiEC2Ev" } } // Copyright (C) 2010 Free Software Foundation, Inc. diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc new file mode 100644 index 00000000000..6bd573fe31d --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/3.cc @@ -0,0 +1,93 @@ +// 2010-12-17 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +#include <string> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::string; + + VERIFY( (string("abc") + string("def") + == string("abcdef")) ); + string s1("abc"); + VERIFY( s1 + string("def") == string("abcdef") ); + string s2("def"); + VERIFY( string("abc") + s2 == string("abcdef") ); + VERIFY( string("abc") + 'd' == string("abcd") ); + VERIFY( string("abc") + "def" == string("abcdef") ); + VERIFY( 'a' + string("bcd") == string("abcd") ); + VERIFY( "abc" + string("def") == string("abcdef") ); + + VERIFY( (string("abcdefghij") + string("klmnopqrst") + == string("abcdefghijklmnopqrst")) ); + string s1l("abcdefghij"); + VERIFY( (s1l + string("klmnopqrst") + == string("abcdefghijklmnopqrst")) ); + string s2l("klmnopqrst"); + VERIFY( (string("abcdefghij") + s2l + == string("abcdefghijklmnopqrst")) ); + VERIFY( (string("abcdefghijklmno") + 'p' + == string("abcdefghijklmnop")) ); + VERIFY( (string("abcdefghijklmno") + "pqrst" + == string("abcdefghijklmnopqrst")) ); + VERIFY( ('a' + string("bcdefghijklmnop") + == string("abcdefghijklmnop")) ); + VERIFY( ("abcde" + string("fghijklmnopqrst") + == string("abcdefghijklmnopqrst")) ); + + VERIFY( (string("abcdefghijklmnopqrst") + string("uvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (string("abcde") + string("fghijklmnopqrstuvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); + string s1ll1("abcdefghijklmnopqrst"); + VERIFY( (s1ll1 + string("uvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); + string s1ll2("abcde"); + VERIFY( (s1ll2 + string("fghijklmnopqrstuvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); + string s2ll1("fghijklmnopqrstuvwxy"); + VERIFY( (string("abcde") + s2ll1 + == string("abcdefghijklmnopqrstuvwxy")) ); + string s2ll2("uvwxy"); + VERIFY( (string("abcdefghijklmnopqrst") + s2ll2 + == string("abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (string("abcdefghijklmnopqrst") + 'u' + == string("abcdefghijklmnopqrstu")) ); + VERIFY( (string("abcdefghijklmnopqrst") + "uvwxy" + == string("abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (string("abcde") + "fghijklmnopqrstuvwxy" + == string("abcdefghijklmnopqrstuvwxy")) ); + VERIFY( ('a' + string("bcdefghijklmnopqrstuvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); + VERIFY( ("abcde" + string("fghijklmnopqrstuvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); + VERIFY( ("abcdefghijklmnopqrst" + string("uvwxy") + == string("abcdefghijklmnopqrstuvwxy")) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc new file mode 100644 index 00000000000..e1e771d2d7b --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/char/4.cc @@ -0,0 +1,79 @@ +// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +#include <string> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::string; + using std::move; + + string s01("abc"); + s01.reserve(30); + string s02("def"); + s02.reserve(30); + VERIFY( move(s01) + move(s02) == string("abcdef") ); + + string s03("abcdefghijklmnopqrstuvw"); + string s04("xyz"); + s04.reserve(30); + VERIFY( move(s03) + move(s04) == string("abcdefghijklmnopqrstuvwxyz") ); + + string s05("abc"); + s05.reserve(30); + string s06("defghijklmnopqrstuvwxyz"); + VERIFY( move(s05) + move(s06) == string("abcdefghijklmnopqrstuvwxyz") ); + + const string sc1("abc"); + string s07("def"); + s07.reserve(30); + VERIFY( sc1 + move(s07) == string("abcdef") ); + + const string sc2("def"); + string s08("abc"); + s08.reserve(30); + VERIFY( move(s08) + sc2 == string("abcdef") ); + + string s09("abc"); + s09.reserve(30); + VERIFY( move(s09) + 'd' == string("abcd") ); + + string s10("abc"); + s10.reserve(30); + VERIFY( move(s10) + "def" == string("abcdef") ); + + string s11("bcd"); + s11.reserve(30); + VERIFY( 'a' + move(s11) == string("abcd") ); + + string s12("def"); + s12.reserve(30); + VERIFY( "abc" + move(s12) == string("abcdef") ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc new file mode 100644 index 00000000000..77915f5e344 --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/3.cc @@ -0,0 +1,93 @@ +// 2010-12-17 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +#include <string> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::wstring; + + VERIFY( (wstring(L"abc") + wstring(L"def") + == wstring(L"abcdef")) ); + wstring s1(L"abc"); + VERIFY( s1 + wstring(L"def") == wstring(L"abcdef") ); + wstring s2(L"def"); + VERIFY( wstring(L"abc") + s2 == wstring(L"abcdef") ); + VERIFY( wstring(L"abc") + L'd' == wstring(L"abcd") ); + VERIFY( wstring(L"abc") + L"def" == wstring(L"abcdef") ); + VERIFY( L'a' + wstring(L"bcd") == wstring(L"abcd") ); + VERIFY( L"abc" + wstring(L"def") == wstring(L"abcdef") ); + + VERIFY( (wstring(L"abcdefghij") + wstring(L"klmnopqrst") + == wstring(L"abcdefghijklmnopqrst")) ); + wstring s1l(L"abcdefghij"); + VERIFY( (s1l + wstring(L"klmnopqrst") + == wstring(L"abcdefghijklmnopqrst")) ); + wstring s2l(L"klmnopqrst"); + VERIFY( (wstring(L"abcdefghij") + s2l + == wstring(L"abcdefghijklmnopqrst")) ); + VERIFY( (wstring(L"abcdefghijklmno") + L'p' + == wstring(L"abcdefghijklmnop")) ); + VERIFY( (wstring(L"abcdefghijklmno") + L"pqrst" + == wstring(L"abcdefghijklmnopqrst")) ); + VERIFY( (L'a' + wstring(L"bcdefghijklmnop") + == wstring(L"abcdefghijklmnop")) ); + VERIFY( (L"abcde" + wstring(L"fghijklmnopqrst") + == wstring(L"abcdefghijklmnopqrst")) ); + + VERIFY( (wstring(L"abcdefghijklmnopqrst") + wstring(L"uvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (wstring(L"abcde") + wstring(L"fghijklmnopqrstuvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + wstring s1ll1(L"abcdefghijklmnopqrst"); + VERIFY( (s1ll1 + wstring(L"uvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + wstring s1ll2(L"abcde"); + VERIFY( (s1ll2 + wstring(L"fghijklmnopqrstuvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + wstring s2ll1(L"fghijklmnopqrstuvwxy"); + VERIFY( (wstring(L"abcde") + s2ll1 + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + wstring s2ll2(L"uvwxy"); + VERIFY( (wstring(L"abcdefghijklmnopqrst") + s2ll2 + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (wstring(L"abcdefghijklmnopqrst") + L'u' + == wstring(L"abcdefghijklmnopqrstu")) ); + VERIFY( (wstring(L"abcdefghijklmnopqrst") + L"uvwxy" + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (wstring(L"abcde") + L"fghijklmnopqrstuvwxy" + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (L'a' + wstring(L"bcdefghijklmnopqrstuvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (L"abcde" + wstring(L"fghijklmnopqrstuvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); + VERIFY( (L"abcdefghijklmnopqrst" + wstring(L"uvwxy") + == wstring(L"abcdefghijklmnopqrstuvwxy")) ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc new file mode 100644 index 00000000000..36e307d65f5 --- /dev/null +++ b/libstdc++-v3/testsuite/21_strings/basic_string/operators/wchar_t/4.cc @@ -0,0 +1,79 @@ +// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +#include <string> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using std::wstring; + using std::move; + + wstring s01(L"abc"); + s01.reserve(30); + wstring s02(L"def"); + s02.reserve(30); + VERIFY( move(s01) + move(s02) == wstring(L"abcdef") ); + + wstring s03(L"abcdefghijklmnopqrstuvw"); + wstring s04(L"xyz"); + s04.reserve(30); + VERIFY( move(s03) + move(s04) == wstring(L"abcdefghijklmnopqrstuvwxyz") ); + + wstring s05(L"abc"); + s05.reserve(30); + wstring s06(L"defghijklmnopqrstuvwxyz"); + VERIFY( move(s05) + move(s06) == wstring(L"abcdefghijklmnopqrstuvwxyz") ); + + const wstring sc1(L"abc"); + wstring s07(L"def"); + s07.reserve(30); + VERIFY( sc1 + move(s07) == wstring(L"abcdef") ); + + const wstring sc2(L"def"); + wstring s08(L"abc"); + s08.reserve(30); + VERIFY( move(s08) + sc2 == wstring(L"abcdef") ); + + wstring s09(L"abc"); + s09.reserve(30); + VERIFY( move(s09) + L'd' == wstring(L"abcd") ); + + wstring s10(L"abc"); + s10.reserve(30); + VERIFY( move(s10) + L"def" == wstring(L"abcdef") ); + + wstring s11(L"bcd"); + s11.reserve(30); + VERIFY( L'a' + move(s11) == wstring(L"abcd") ); + + wstring s12(L"def"); + s12.reserve(30); + VERIFY( L"abc" + move(s12) == wstring(L"abcdef") ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc b/libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc index 3b254383776..3b254383776 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/char/3.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/char/3_neg.cc diff --git a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3.cc b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc index 2c875fdde25..2c875fdde25 100644 --- a/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3.cc +++ b/libstdc++-v3/testsuite/21_strings/c_strings/wchar_t/3_neg.cc diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc index 2cb45bdb139..fe426e0a803 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/assign_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1203 } +// { dg-error "no matching" "" { target *-*-* } 1204 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc index 6120bd85538..d4cd3d71f3c 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_1_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1203 } +// { dg-error "no matching" "" { target *-*-* } 1204 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc index b253a33e576..ac07af20d6c 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/constructor_2_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1203 } +// { dg-error "no matching" "" { target *-*-* } 1204 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc index 944a20be423..06016c792ce 100644 --- a/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/forward_list/requirements/dr438/insert_neg.cc @@ -1,6 +1,6 @@ // { dg-do compile } // { dg-options "-std=gnu++0x" } -// { dg-error "no matching" "" { target *-*-* } 1203 } +// { dg-error "no matching" "" { target *-*-* } 1204 } // { dg-excess-errors "" } // Copyright (C) 2009, 2010 Free Software Foundation diff --git a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc index 5d9bf7e0a3f..e9317d7ed7f 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/array/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <array> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc index 266874da23b..0a2e073a50b 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/tuple/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <tuple> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc index dc85bc50e92..0b32304ca61 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_map/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <unordered_map> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc index ab22c39a6ba..bc6963c80d0 100644 --- a/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/23_containers/headers/unordered_set/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <unordered_set> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/23_containers/list/23781.cc b/libstdc++-v3/testsuite/23_containers/list/23781_neg.cc index 7b291df798a..7b291df798a 100644 --- a/libstdc++-v3/testsuite/23_containers/list/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/list/23781_neg.cc diff --git a/libstdc++-v3/testsuite/23_containers/map/23781.cc b/libstdc++-v3/testsuite/23_containers/map/23781_neg.cc index e282c754667..e282c754667 100644 --- a/libstdc++-v3/testsuite/23_containers/map/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/map/23781_neg.cc diff --git a/libstdc++-v3/testsuite/23_containers/multimap/23781.cc b/libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc index 50ec929064e..50ec929064e 100644 --- a/libstdc++-v3/testsuite/23_containers/multimap/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/multimap/23781_neg.cc diff --git a/libstdc++-v3/testsuite/23_containers/multiset/23781.cc b/libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc index 6b0bacf955b..6b0bacf955b 100644 --- a/libstdc++-v3/testsuite/23_containers/multiset/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/multiset/23781_neg.cc diff --git a/libstdc++-v3/testsuite/23_containers/set/23781.cc b/libstdc++-v3/testsuite/23_containers/set/23781_neg.cc index b47b748ec8d..b47b748ec8d 100644 --- a/libstdc++-v3/testsuite/23_containers/set/23781.cc +++ b/libstdc++-v3/testsuite/23_containers/set/23781_neg.cc diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc index d81271ab07a..29e8dac5fa4 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/ccomplex/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <ccomplex> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc index a353da9e820..3a191069207 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/cfenv/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <cfenv> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc index 15175885cb4..23b266e8562 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/ctgmath/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <ctgmath> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc index 41311965aff..1f83cdac692 100644 --- a/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/26_numerics/headers/random/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <random> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc index b59638fc341..21da0770b9b 100644 --- a/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/27_io/headers/cinttypes/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <cinttypes> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc index 3afec89b710..21a98b8ae69 100644 --- a/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/28_regex/headers/regex/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <regex> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc b/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc index e76ff8ed53c..be390b0f71c 100644 --- a/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <atomic> // { dg-excess-errors "In file included from" } -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc index e31e91fa214..6e345243c26 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <condition_variable> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc index b9fb18d9dad..5dbaffdefd9 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/future/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <future> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc index ed993d5f83b..31bf41c06a5 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/mutex/std_c++0x_neg.cc @@ -20,7 +20,7 @@ #include <mutex> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc index d056c023f0f..cc8a3877dec 100644 --- a/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc +++ b/libstdc++-v3/testsuite/30_threads/headers/thread/std_c++0x_neg.cc @@ -22,4 +22,4 @@ #include <thread> -// { dg-error "upcoming ISO" "" { target *-*-* } 31 } +// { dg-error "upcoming ISO" "" { target *-*-* } 32 } diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand.cc index bdbeb806716..4e48bd85fd6 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_data_map_rand.cc @@ -1,4 +1,8 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,14 +39,11 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc index 20908404f6a..ef4352716a6 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/hash_no_data_map_rand.cc @@ -1,4 +1,8 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,14 +39,11 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc index b9761b9ad32..8bd77816c02 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_data_map_rand.cc @@ -1,4 +1,5 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,7 +36,7 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc index dea56152127..72273a8bc37 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/list_update_no_data_map_rand.cc @@ -1,4 +1,5 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,7 +36,7 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc index c8ec66ce366..b21f486d6d7 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/priority_queue_rand.cc @@ -1,4 +1,8 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,14 +39,11 @@ * Contains a random-operation test for priority queues. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/priority_queue/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand.cc index 81b46fe6362..8d5869a2047 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_data_map_rand.cc @@ -1,4 +1,8 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,14 +39,11 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc index 7e3cbedbecc..8af31e0a265 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/tree_no_data_map_rand.cc @@ -1,4 +1,8 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,14 +39,11 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand.cc index 64fcb665f42..26f4325c62e 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_data_map_rand.cc @@ -1,4 +1,8 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- // Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. @@ -35,14 +39,11 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc index 714b43730a0..a0e1b5f281a 100644 --- a/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc +++ b/libstdc++-v3/testsuite/ext/pb_ds/regression/trie_no_data_map_rand.cc @@ -1,7 +1,11 @@ -// { dg-options "-DPB_DS_REGRESSION" } +// { dg-require-time "" } +// This can take long on simulators, timing out the test. +// { dg-options "-DITERATIONS=5" { target simulator } } +// { dg-timeout-factor 2.0 } + // -*- C++ -*- -// Copyright (C) 2005, 2006, 2009 Free Software Foundation, Inc. +// Copyright (C) 2005, 2006, 2009, 2010 Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -35,14 +39,11 @@ * Contains a random-operation test for maps and sets. */ -// { dg-require-time "" } +#define PB_DS_REGRESSION #include <regression/rand/assoc/rand_regression_test.hpp> #include <regression/common_type.hpp> -// This can take long on simulators, timing out the test. -// { dg-options "-DPB_DS_REGRESSION -DITERATIONS=5" { target simulator } } -// { dg-timeout-factor 2.0 } #ifndef ITERATIONS #define ITERATIONS 5000 #endif diff --git a/libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc index 7f8072427ca..7f8072427ca 100644 --- a/libstdc++-v3/testsuite/ext/profile/mutex_extensions.cc +++ b/libstdc++-v3/testsuite/ext/profile/mutex_extensions_neg.cc diff --git a/libstdc++-v3/testsuite/ext/slist/23781.cc b/libstdc++-v3/testsuite/ext/slist/23781_neg.cc index e1493c67558..e1493c67558 100644 --- a/libstdc++-v3/testsuite/ext/slist/23781.cc +++ b/libstdc++-v3/testsuite/ext/slist/23781_neg.cc diff --git a/libstdc++-v3/testsuite/ext/vstring/operators/2.cc b/libstdc++-v3/testsuite/ext/vstring/operators/2.cc new file mode 100644 index 00000000000..7561fbda354 --- /dev/null +++ b/libstdc++-v3/testsuite/ext/vstring/operators/2.cc @@ -0,0 +1,79 @@ +// 2010-12-19 Paolo Carlini <paolo.carlini@oracle.com> +// +// Copyright (C) 2010 Free Software Foundation, Inc. +// +// This file is part of the GNU ISO C++ Library. This library is free +// software; you can redistribute it and/or modify it under the +// terms of the GNU General Public License as published by the +// Free Software Foundation; either version 3, or (at your option) +// any later version. +// +// This library is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License along +// with this library; see the file COPYING3. If not see +// <http://www.gnu.org/licenses/>. +// +// { dg-options "-std=gnu++0x" } +// { dg-require-string-conversions "" } + +#include <ext/vstring.h> +#include <testsuite_hooks.h> + +void test01() +{ + bool test __attribute__((unused)) = true; + using __gnu_cxx::__vstring; + using std::move; + + __vstring s01("abc"); + s01.reserve(30); + __vstring s02("def"); + s02.reserve(30); + VERIFY( move(s01) + move(s02) == __vstring("abcdef") ); + + __vstring s03("abcdefghijklmnopqrstuvw"); + __vstring s04("xyz"); + s04.reserve(30); + VERIFY( move(s03) + move(s04) == __vstring("abcdefghijklmnopqrstuvwxyz") ); + + __vstring s05("abc"); + s05.reserve(30); + __vstring s06("defghijklmnopqrstuvwxyz"); + VERIFY( move(s05) + move(s06) == __vstring("abcdefghijklmnopqrstuvwxyz") ); + + const __vstring sc1("abc"); + __vstring s07("def"); + s07.reserve(30); + VERIFY( sc1 + move(s07) == __vstring("abcdef") ); + + const __vstring sc2("def"); + __vstring s08("abc"); + s08.reserve(30); + VERIFY( move(s08) + sc2 == __vstring("abcdef") ); + + __vstring s09("abc"); + s09.reserve(30); + VERIFY( move(s09) + 'd' == __vstring("abcd") ); + + __vstring s10("abc"); + s10.reserve(30); + VERIFY( move(s10) + "def" == __vstring("abcdef") ); + + __vstring s11("bcd"); + s11.reserve(30); + VERIFY( 'a' + move(s11) == __vstring("abcd") ); + + __vstring s12("def"); + s12.reserve(30); + VERIFY( "abc" + move(s12) == __vstring("abcdef") ); +} + +int main() +{ + test01(); + return 0; +} diff --git a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc index 73a0f9e276b..73a0f9e276b 100644 --- a/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820.cc +++ b/libstdc++-v3/testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc diff --git a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc index aff8e9a40b6..aff8e9a40b6 100644 --- a/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480.cc +++ b/libstdc++-v3/testsuite/tr1/6_containers/tuple/comparison_operators/35480_neg.cc diff --git a/libstdc++-v3/testsuite/util/testsuite_allocator.h b/libstdc++-v3/testsuite/util/testsuite_allocator.h index cb481b2a7f9..a534d85845d 100644 --- a/libstdc++-v3/testsuite/util/testsuite_allocator.h +++ b/libstdc++-v3/testsuite/util/testsuite_allocator.h @@ -29,7 +29,10 @@ #include <tr1/unordered_map> #include <cassert> + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include <bits/move.h> +#endif namespace __gnu_test { diff --git a/libstdc++-v3/testsuite/util/testsuite_iterators.h b/libstdc++-v3/testsuite/util/testsuite_iterators.h index e7a068d208d..d815b6c570f 100644 --- a/libstdc++-v3/testsuite/util/testsuite_iterators.h +++ b/libstdc++-v3/testsuite/util/testsuite_iterators.h @@ -30,7 +30,10 @@ #include <testsuite_hooks.h> #include <bits/stl_iterator_base_types.h> + +#ifdef __GXX_EXPERIMENTAL_CXX0X__ #include <bits/move.h> +#endif #ifndef _TESTSUITE_ITERATORS #define _TESTSUITE_ITERATORS |