diff options
author | Jan Hubicka <jh@suse.cz> | 2009-04-24 23:55:57 +0000 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2009-04-24 23:55:57 +0000 |
commit | 8f903caf0dca6d5ec00e03e0793f213ac2cf0e98 (patch) | |
tree | 58ee78420192ef68edad77402ef651021ddd6d28 /libstdc++-v3 | |
parent | 7c51e5506de25de65f9397930400966dadfdc072 (diff) |
* Merge from mainline.
git-svn-id: https://gcc.gnu.org/svn/gcc/branches/pretty-ipa@146749 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3')
39 files changed, 181 insertions, 105 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b72a0a3f80e..74797ada3f8 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,62 @@ +2009-04-24 Benjamin Kosnik <bkoz@redhat.com> + + * xml/authors.xml: Add space. + * xml/faq.xml: Update links. + * xml/manual/intro.xml: Same. + * xml/manual/abi.xml: Update. + * xml/manual/appendix_contributing.xml: Fix typo. + * xml/manual/status_cxxtr1.xml: Update links. + * xml/manual/status_cxx1998.xml: Same. + * xml/manual/status_cxx200x.xml: Same. + +2009-04-22 Jan Hubicka <jh@suse.cz> + + * include/tr1_impl/array (at): Do not use builtin_expect. + * include/ext/throw_allocator.h (allocate): Likewise. + * include/ext/pool_allocator.h (allocate): Likweise. + * include/ext/bitmap_allocator.h (allocate): Likewise. + * include/ext/rc_string_base.h (_S_construct): Likewise. + * include/ext/malloc_allocator.h (allocate): Likewise. + * include/ext/mt_allocator.h (allocate): Likewise. + * include/ext/sso_string_base.h (_M_construct): Likewise. + * include/bits/basic_string.tcc (_S_construct): Likewise. + +2009-04-22 Jan Hubicka <jh@suse.cz> + + * include/c_std/cstdlib (abort, exit, _Exit): Mark noreturn throw (). + (atexit, atoll, stroll, strtoull): Mark throw () + * include/c_std/cstdio (snprintf, vsnprintf, vscanf): Mark throw (). + * include/c_std/cwchar (wcstold, wcstoll, wcstoull): Mark throw (). + * include/c_global/cstdlib (abort, exit, _Exit): Mark noreturn throw (). + (atexit, atoll, stroll, strtoull): Mark throw () + * include/c_global/cstdio (snprintf, vsnprintf, vscanf): Mark throw (). + * include/c_wchar/cstdio (snprintf, vsnprintf, vscanf): Mark throw (). + +2009-04-21 Jan Hubicka <jh@suse.cz> + + * include/ext/atomicity.h + (__exchange_and_add, __atomic_add): Mark throw (). + * config/os/aix/atomicity.h + * config/os/aix/atomicity.h + * config/os/irix/atomicity.h + * config/cpu/cris/atomicity.h + * config/cpu/m68k/atomicity.h + * config/cpu/hppa/atomicity.h + * config/cpu/sparc/atomicity.h + * config/cpu/i386/atomicity.h + * config/cpu/i486/atomicity.h + * config/cpu/sh/atomicity.h + * config/cpu/generic/atomicity_mutex/atomicity.h + * config/cpu/generic/atomicity_builtins/atomicity.h + (__exchange_and_add, __atomic_add): Mark throw (). + +2009-04-21 Paolo Carlini <paolo.carlini@oracle.com> + + PR libstdc++/39835 + * include/bits/random.h: Avoid the badname __alpha (and, for + consistency, __beta too). + * include/bits/random.tcc: Likewise. + 2009-04-19 Jan Hubicka <jh@suse.cz> * include/c_compatibility/stdatomic.h (__atomic_flag_for_address): Use @@ -6831,9 +6890,6 @@ * include/Makefile.in: Regenerate. * include/precompiled/stdc++.h: Add. - * doc/xml/api.xml: Add gcc-4.4 link. - * doc/html/api.html: Regenerate. - 2009-04-06 Benjamin Kosnik <bkoz@redhat.com> * include/bits/random.h: Adjust doxygen markup. diff --git a/libstdc++-v3/config/cpu/cris/atomicity.h b/libstdc++-v3/config/cpu/cris/atomicity.h index 37be3a84719..92254273e1e 100644 --- a/libstdc++-v3/config/cpu/cris/atomicity.h +++ b/libstdc++-v3/config/cpu/cris/atomicity.h @@ -27,7 +27,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { int __tmp; _Atomic_word __result; @@ -80,7 +80,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) } void - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __exchange_and_add(__mem, __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h index 9b3b997db3c..ae69ecc7dd7 100644 --- a/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h +++ b/libstdc++-v3/config/cpu/generic/atomicity_builtins/atomicity.h @@ -34,12 +34,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { return __sync_fetch_and_add(__mem, __val); } void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __sync_fetch_and_add(__mem, __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h index d8a5245c631..fe3ade84d34 100644 --- a/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h +++ b/libstdc++-v3/config/cpu/generic/atomicity_mutex/atomicity.h @@ -44,7 +44,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { __gnu_cxx::__scoped_lock sentry(get_atomic_mutex()); _Atomic_word __result; @@ -55,7 +55,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __exchange_and_add(__mem, __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/hppa/atomicity.h b/libstdc++-v3/config/cpu/hppa/atomicity.h index 6a167e955fe..cf1ceb05ac8 100644 --- a/libstdc++-v3/config/cpu/hppa/atomicity.h +++ b/libstdc++-v3/config/cpu/hppa/atomicity.h @@ -43,7 +43,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) int __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word result; int tmp; @@ -68,7 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { int tmp; volatile int& lock = _Atomicity_lock<0>::_S_atomicity_lock; diff --git a/libstdc++-v3/config/cpu/i386/atomicity.h b/libstdc++-v3/config/cpu/i386/atomicity.h index de2b329e878..8f7619307fe 100644 --- a/libstdc++-v3/config/cpu/i386/atomicity.h +++ b/libstdc++-v3/config/cpu/i386/atomicity.h @@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { register _Atomic_word __result, __tmp = 1; @@ -64,7 +64,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __exchange_and_add(__mem, __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/i486/atomicity.h b/libstdc++-v3/config/cpu/i486/atomicity.h index 42f9a8fecff..d9e68f4d8ca 100644 --- a/libstdc++-v3/config/cpu/i486/atomicity.h +++ b/libstdc++-v3/config/cpu/i486/atomicity.h @@ -28,7 +28,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { register _Atomic_word __result; __asm__ __volatile__ ("lock; xadd{l} {%0,%1|%1,%0}" @@ -39,7 +39,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __asm__ __volatile__ ("lock; add{l} {%1,%0|%0,%1}" : "=m" (*__mem) : "ir" (__val), "m" (*__mem)); diff --git a/libstdc++-v3/config/cpu/m68k/atomicity.h b/libstdc++-v3/config/cpu/m68k/atomicity.h index e6cdbeebc27..5b3692eecef 100644 --- a/libstdc++-v3/config/cpu/m68k/atomicity.h +++ b/libstdc++-v3/config/cpu/m68k/atomicity.h @@ -32,7 +32,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // These variants support compare-and-swap. _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { register _Atomic_word __result = *__mem; register _Atomic_word __temp; @@ -50,7 +50,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) // Disable interrupts, which we can do only from supervisor mode. _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __result; short __level, __tmpsr; @@ -79,7 +79,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __result; @@ -119,7 +119,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { // Careful: using add.l with a memory destination is not // architecturally guaranteed to be atomic. diff --git a/libstdc++-v3/config/cpu/sh/atomicity.h b/libstdc++-v3/config/cpu/sh/atomicity.h index acd5e87d8af..251d49ff2b9 100644 --- a/libstdc++-v3/config/cpu/sh/atomicity.h +++ b/libstdc++-v3/config/cpu/sh/atomicity.h @@ -33,7 +33,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add (volatile _Atomic_word* __mem, int __val) + __exchange_and_add (volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __result; @@ -54,7 +54,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add (volatile _Atomic_word* __mem, int __val) + __atomic_add (volatile _Atomic_word* __mem, int __val) throw () { asm("0:\n" "\tmovli.l\t@%1,r0\n" @@ -84,7 +84,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { __gnu_cxx::__scoped_lock sentry(atomic_mutex); _Atomic_word __result; @@ -95,7 +95,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __exchange_and_add(__mem, __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/cpu/sparc/atomicity.h b/libstdc++-v3/config/cpu/sparc/atomicity.h index be3b07f3f7c..1ead48d2788 100644 --- a/libstdc++-v3/config/cpu/sparc/atomicity.h +++ b/libstdc++-v3/config/cpu/sparc/atomicity.h @@ -30,7 +30,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #ifdef __arch64__ _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __tmp1, __tmp2; _Atomic_word __val_extended = __val; @@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __tmp1, __tmp2; _Atomic_word __val_extended = __val; @@ -78,7 +78,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __result, __tmp; @@ -100,7 +100,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { _Atomic_word __tmp; diff --git a/libstdc++-v3/config/os/aix/atomicity.h b/libstdc++-v3/config/os/aix/atomicity.h index 03718e20b18..38622b12815 100644 --- a/libstdc++-v3/config/os/aix/atomicity.h +++ b/libstdc++-v3/config/os/aix/atomicity.h @@ -42,12 +42,12 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add (volatile _Atomic_word* __mem, int __val) + __exchange_and_add (volatile _Atomic_word* __mem, int __val) throw () { return ::fetch_and_add(const_cast<atomic_p>(__mem), __val); } void __attribute__ ((__unused__)) - __atomic_add (volatile _Atomic_word* __mem, int __val) + __atomic_add (volatile _Atomic_word* __mem, int __val) throw () { (void) ::fetch_and_add(const_cast<atomic_p>(__mem), __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/config/os/irix/atomicity.h b/libstdc++-v3/config/os/irix/atomicity.h index 4771ef4a57f..9048fb2be67 100644 --- a/libstdc++-v3/config/os/irix/atomicity.h +++ b/libstdc++-v3/config/os/irix/atomicity.h @@ -28,11 +28,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) _Atomic_word - __exchange_and_add(volatile _Atomic_word* __mem, int __val) + __exchange_and_add(volatile _Atomic_word* __mem, int __val) throw () { return (_Atomic_word) test_then_add((unsigned long*) const_cast<_Atomic_word*>(__mem), __val); } void - __atomic_add(volatile _Atomic_word* __mem, int __val) + __atomic_add(volatile _Atomic_word* __mem, int __val) throw () { __exchange_and_add(__mem, __val); } _GLIBCXX_END_NAMESPACE diff --git a/libstdc++-v3/doc/xml/authors.xml b/libstdc++-v3/doc/xml/authors.xml index 83795ba076b..43d8d864130 100644 --- a/libstdc++-v3/doc/xml/authors.xml +++ b/libstdc++-v3/doc/xml/authors.xml @@ -21,6 +21,16 @@ --> <author> + <firstname></firstname> + <surname></surname> + + <authorblurb> + <para> + </para> + </authorblurb> + </author> + + <author> <firstname>Paolo</firstname> <surname>Carlini</surname> diff --git a/libstdc++-v3/doc/xml/faq.xml b/libstdc++-v3/doc/xml/faq.xml index 6366e05349d..c8907cabed8 100644 --- a/libstdc++-v3/doc/xml/faq.xml +++ b/libstdc++-v3/doc/xml/faq.xml @@ -692,9 +692,9 @@ </para> <para> Long answer: See the implementation status pages for - <link linkend="manual.intro.status.standard.1998">C++98</link>, - <link linkend="manual.intro.status.standard.tr1">TR1</link>, and - <link linkend="manual.intro.status.standard.200x">C++0x</link>. + <link linkend="status.iso.1998">C++98</link>, + <link linkend="status.iso.tr1">TR1</link>, and + <link linkend="status.iso.200x">C++0x</link>. </para> </answer> </qandaentry> @@ -1123,7 +1123,7 @@ </para> <para> The implementation status of TR1 in libstdc++ can be tracked <link - linkend="manual.intro.status.standard.tr1">on the TR1 status + linkend="status.iso.tr1">on the TR1 status page</link>. </para> </answer> diff --git a/libstdc++-v3/doc/xml/manual/abi.xml b/libstdc++-v3/doc/xml/manual/abi.xml index 9bc4ce859a1..d051d3a4895 100644 --- a/libstdc++-v3/doc/xml/manual/abi.xml +++ b/libstdc++-v3/doc/xml/manual/abi.xml @@ -207,6 +207,7 @@ compatible. <listitem><para>gcc-4.1.0: GCC_4.1.0</para></listitem> <listitem><para>gcc-4.2.0: GCC_4.2.0</para></listitem> <listitem><para>gcc-4.3.0: GCC_4.3.0</para></listitem> + <listitem><para>gcc-4.4.0: GCC_4.4.0</para></listitem> </itemizedlist> </listitem> @@ -264,6 +265,8 @@ compatible. <listitem><para>gcc-4.3.0: libstdc++.so.6.0.10</para></listitem> <listitem><para>gcc-4.3.1: libstdc++.so.6.0.10</para></listitem> <listitem><para>gcc-4.3.2: libstdc++.so.6.0.10</para></listitem> + <listitem><para>gcc-4.3.3: libstdc++.so.6.0.10</para></listitem> + <listitem><para>gcc-4.4.0: libstdc++.so.6.0.11</para></listitem> </itemizedlist> <para> Note 1: Error should be libstdc++.so.3.0.3. @@ -320,6 +323,7 @@ compatible. <listitem><para>gcc-4.1.1: GLIBCXX_3.4.8</para></listitem> <listitem><para>gcc-4.2.0: GLIBCXX_3.4.9</para></listitem> <listitem><para>gcc-4.3.0: GLIBCXX_3.4.10, CXXABI_1.3.2</para></listitem> + <listitem><para>gcc-4.4.0: GLIBCXX_3.4.11, CXXABI_1.3.3</para></listitem> </itemizedlist> </listitem> @@ -426,6 +430,8 @@ compatible. <listitem><para>gcc-4.3.0: 20080306</para></listitem> <listitem><para>gcc-4.3.1: 20080606</para></listitem> <listitem><para>gcc-4.3.2: 20080827</para></listitem> + <listitem><para>gcc-4.3.3: 20090124</para></listitem> + <listitem><para>gcc-4.4.0: 20090421</para></listitem> </itemizedlist> <para></para> </listitem> @@ -524,7 +530,8 @@ compatible. <listitem><para>gcc-4.2.4: include/c++/4.2.4</para></listitem> <listitem><para>gcc-4.3.0: include/c++/4.3.0</para></listitem> <listitem><para>gcc-4.3.1: include/c++/4.3.1</para></listitem> - <listitem><para>gcc-4.3.2: include/c++/4.3.2</para></listitem> + <listitem><para>gcc-4.3.3: include/c++/4.3.3</para></listitem> + <listitem><para>gcc-4.4.0: include/c++/4.4.0</para></listitem> </itemizedlist> <para></para> </listitem> diff --git a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml index f61b4534f97..1688fa823a1 100644 --- a/libstdc++-v3/doc/xml/manual/appendix_contributing.xml +++ b/libstdc++-v3/doc/xml/manual/appendix_contributing.xml @@ -1102,7 +1102,7 @@ indicate a place that may require attention for multi-thread safety. For validating the XML document, you'll need something like <command>xmllint</command> and access to the DocBook DTD. These are provided - by a vendor package like <filename>lixml2</filename>. + by a vendor package like <filename>libxml2</filename>. </para> <para> diff --git a/libstdc++-v3/doc/xml/manual/intro.xml b/libstdc++-v3/doc/xml/manual/intro.xml index 7a5e7ce97b2..dca08c2b9e1 100644 --- a/libstdc++-v3/doc/xml/manual/intro.xml +++ b/libstdc++-v3/doc/xml/manual/intro.xml @@ -27,7 +27,7 @@ <title>Status</title> <!-- Section 01 : Implementation Status --> - <sect1 id="manual.intro.status.standard" xreflabel="Status"> + <sect1 id="manual.intro.status.iso" xreflabel="Status"> <title>Implementation Status</title> <!-- Section 01.1 : Status C++ 1998 --> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml index dde3cc06c6e..d163f8a699f 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx1998.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx1998.xml @@ -1,4 +1,4 @@ -<sect2 id="manual.intro.status.standard.1998" xreflabel="ISO C++ 1998"> +<sect2 id="status.iso.1998" xreflabel="ISO C++ 1998"> <?dbhtml filename="status_iso_cxx1998.html"?> <sect2info> @@ -14,7 +14,7 @@ <title>C++ 1998/2003</title> -<sect3 id="standard.1998.status" xreflabel="Implementation Status"> +<sect3 id="iso.1998.status" xreflabel="Implementation Status"> <title>Implementation Status</title> <para> @@ -1032,7 +1032,7 @@ particular release. </table> </sect3> -<sect3 id="standard.1998.specific" xreflabel="Implementation Specific"> +<sect3 id="iso.1998.specific" xreflabel="Implementation Specific"> <title>Implementation Specific Behavior</title> <para> diff --git a/libstdc++-v3/doc/xml/manual/status_cxx200x.xml b/libstdc++-v3/doc/xml/manual/status_cxx200x.xml index 2ff0e627a3d..159bc9fec39 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxx200x.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxx200x.xml @@ -1,4 +1,4 @@ -<sect2 id="manual.intro.status.standard.200x" xreflabel="Status C++ 200x"> +<sect2 id="status.iso.200x" xreflabel="Status C++ 200x"> <?dbhtml filename="status_iso_cxx200x.html"?> <sect2info> diff --git a/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml b/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml index 33172e3ac02..10ca06d1372 100644 --- a/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml +++ b/libstdc++-v3/doc/xml/manual/status_cxxtr1.xml @@ -1,4 +1,4 @@ -<sect2 id="manual.intro.status.standard.tr1" xreflabel="Status C++ TR1"> +<sect2 id="status.iso.tr1" xreflabel="Status C++ TR1"> <?dbhtml filename="status_iso_cxxtr1.html"?> <sect2info> diff --git a/libstdc++-v3/include/bits/basic_string.tcc b/libstdc++-v3/include/bits/basic_string.tcc index a5553c61a1b..ec771c66859 100644 --- a/libstdc++-v3/include/bits/basic_string.tcc +++ b/libstdc++-v3/include/bits/basic_string.tcc @@ -129,8 +129,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) return _S_empty_rep()._M_refdata(); #endif // NB: Not required, but considered best practice. - if (__builtin_expect(__gnu_cxx::__is_null_pointer(__beg) - && __beg != __end, 0)) + if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) __throw_logic_error(__N("basic_string::_S_construct NULL not valid")); const size_type __dnew = static_cast<size_type>(std::distance(__beg, diff --git a/libstdc++-v3/include/bits/random.h b/libstdc++-v3/include/bits/random.h index 366105caa8f..425420607ce 100644 --- a/libstdc++-v3/include/bits/random.h +++ b/libstdc++-v3/include/bits/random.h @@ -3627,9 +3627,9 @@ namespace std friend class gamma_distribution<_RealType>; explicit - param_type(_RealType __alpha = _RealType(1), - _RealType __beta = _RealType(1)) - : _M_alpha(__alpha), _M_beta(__beta) + param_type(_RealType __alpha_val = _RealType(1), + _RealType __beta_val = _RealType(1)) + : _M_alpha(__alpha_val), _M_beta(__beta_val) { _GLIBCXX_DEBUG_ASSERT(_M_alpha > _RealType(0)); _M_initialize(); @@ -3660,9 +3660,9 @@ namespace std * @f$ \alpha @f$ and @f$ \beta @f$. */ explicit - gamma_distribution(_RealType __alpha = _RealType(1), - _RealType __beta = _RealType(1)) - : _M_param(__alpha, __beta) + gamma_distribution(_RealType __alpha_val = _RealType(1), + _RealType __beta_val = _RealType(1)) + : _M_param(__alpha_val, __beta_val) { } explicit diff --git a/libstdc++-v3/include/bits/random.tcc b/libstdc++-v3/include/bits/random.tcc index 9fed72ff881..8944c116b7e 100644 --- a/libstdc++-v3/include/bits/random.tcc +++ b/libstdc++-v3/include/bits/random.tcc @@ -1921,14 +1921,14 @@ namespace std __aurng(__urng); bool __reject; - const _RealType __alpha = __param.alpha(); - const _RealType __beta = __param.beta(); - if (__alpha >= 1) + const _RealType __alpha_val = __param.alpha(); + const _RealType __beta_val = __param.beta(); + if (__alpha_val >= 1) { // alpha - log(4) - const result_type __b = __alpha + const result_type __b = __alpha_val - result_type(1.3862943611198906188344642429163531L); - const result_type __c = __alpha + __param._M_l_d; + const result_type __c = __alpha_val + __param._M_l_d; const result_type __1l = 1 / __param._M_l_d; // 1 + log(9 / 2) @@ -1936,11 +1936,11 @@ namespace std do { - const result_type __u = __aurng() / __beta; - const result_type __v = __aurng() / __beta; + const result_type __u = __aurng() / __beta_val; + const result_type __v = __aurng() / __beta_val; const result_type __y = __1l * std::log(__v / (1 - __v)); - __x = __alpha * std::exp(__y); + __x = __alpha_val * std::exp(__y); const result_type __z = __u * __v * __v; const result_type __r = __b + __c * __y - __x; @@ -1953,12 +1953,12 @@ namespace std } else { - const result_type __c = 1 / __alpha; + const result_type __c = 1 / __alpha_val; do { - const result_type __z = -std::log(__aurng() / __beta); - const result_type __e = -std::log(__aurng() / __beta); + const result_type __z = -std::log(__aurng() / __beta_val); + const result_type __e = -std::log(__aurng() / __beta_val); __x = std::pow(__z, __c); @@ -1967,7 +1967,7 @@ namespace std while (__reject); } - return __beta * __x; + return __beta_val * __x; } template<typename _RealType, typename _CharT, typename _Traits> @@ -2005,10 +2005,10 @@ namespace std const typename __ios_base::fmtflags __flags = __is.flags(); __is.flags(__ios_base::dec | __ios_base::skipws); - _RealType __alpha, __beta; - __is >> __alpha >> __beta; + _RealType __alpha_val, __beta_val; + __is >> __alpha_val >> __beta_val; __x.param(typename gamma_distribution<_RealType>:: - param_type(__alpha, __beta)); + param_type(__alpha_val, __beta_val)); __is.flags(__flags); return __is; diff --git a/libstdc++-v3/include/c_global/cstdio b/libstdc++-v3/include/c_global/cstdio index b4826e213d7..ff5a635a152 100644 --- a/libstdc++-v3/include/c_global/cstdio +++ b/libstdc++-v3/include/c_global/cstdio @@ -151,14 +151,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC extern "C" int - (snprintf)(char * restrict, size_t, const char * restrict, ...); + (snprintf)(char * restrict, size_t, const char * restrict, ...) throw (); extern "C" int (vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list); extern "C" int (vscanf)(const char * restrict, __gnuc_va_list); extern "C" int - (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list); + (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list) + throw (); extern "C" int - (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list); + (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list) + throw (); #endif #if !_GLIBCXX_USE_C99_DYNAMIC diff --git a/libstdc++-v3/include/c_global/cstdlib b/libstdc++-v3/include/c_global/cstdlib index a29031eb08d..e252d089e75 100644 --- a/libstdc++-v3/include/c_global/cstdlib +++ b/libstdc++-v3/include/c_global/cstdlib @@ -57,9 +57,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) - extern "C" void abort(void); - extern "C" int atexit(void (*)()); - extern "C" void exit(int); + extern "C" void abort(void) throw () _GLIBC_NORETURN; + extern "C" int atexit(void (*)()) throw (); + extern "C" void exit(int) throw () _GLIBC_NORETURN; _GLIBCXX_END_NAMESPACE @@ -160,7 +160,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) using ::lldiv_t; #endif #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC - extern "C" void (_Exit)(int); + extern "C" void (_Exit)(int) throw () _GLIBCXX_NORETURN; #endif #if !_GLIBCXX_USE_C99_DYNAMIC using ::_Exit; @@ -180,11 +180,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #endif #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - extern "C" long long int (atoll)(const char *); + extern "C" long long int (atoll)(const char *) throw (); extern "C" long long int - (strtoll)(const char * restrict, char ** restrict, int); + (strtoll)(const char * restrict, char ** restrict, int) throw (); extern "C" unsigned long long int - (strtoull)(const char * restrict, char ** restrict, int); + (strtoull)(const char * restrict, char ** restrict, int) throw (); #endif #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC using ::atoll; diff --git a/libstdc++-v3/include/c_global/cwchar b/libstdc++-v3/include/c_global/cwchar index e5ea07e7ddb..14de5c480ed 100644 --- a/libstdc++-v3/include/c_global/cwchar +++ b/libstdc++-v3/include/c_global/cwchar @@ -239,16 +239,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC extern "C" long double - (wcstold)(const wchar_t * restrict, wchar_t ** restrict); + (wcstold)(const wchar_t * restrict, wchar_t ** restrict) throw (); #endif #if !_GLIBCXX_USE_C99_DYNAMIC using ::wcstold; #endif #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC extern "C" long long int - (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int); + (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int) throw (); extern "C" unsigned long long int - (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int); + (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int) throw (); #endif #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC using ::wcstoll; diff --git a/libstdc++-v3/include/c_std/cstdio b/libstdc++-v3/include/c_std/cstdio index 2ec91610524..c25b1b1a1f5 100644 --- a/libstdc++-v3/include/c_std/cstdio +++ b/libstdc++-v3/include/c_std/cstdio @@ -151,14 +151,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC extern "C" int - (snprintf)(char * restrict, size_t, const char * restrict, ...); + (snprintf)(char * restrict, size_t, const char * restrict, ...) throw (); extern "C" int (vfscanf)(FILE * restrict, const char * restrict, __gnuc_va_list); extern "C" int (vscanf)(const char * restrict, __gnuc_va_list); extern "C" int - (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list); + (vsnprintf)(char * restrict, size_t, const char * restrict, __gnuc_va_list) + throw (); extern "C" int - (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list); + (vsscanf)(const char * restrict, const char * restrict, __gnuc_va_list) + throw (); #endif #if !_GLIBCXX_USE_C99_DYNAMIC diff --git a/libstdc++-v3/include/c_std/cstdlib b/libstdc++-v3/include/c_std/cstdlib index ecb45a4e269..516dcab5c65 100644 --- a/libstdc++-v3/include/c_std/cstdlib +++ b/libstdc++-v3/include/c_std/cstdlib @@ -56,9 +56,9 @@ _GLIBCXX_BEGIN_NAMESPACE(std) - extern "C" void abort(void); - extern "C" int atexit(void (*)()); - extern "C" void exit(int); + extern "C" void abort(void) throw () _GLIBCXX_NORETURN; + extern "C" int atexit(void (*)()) throw (); + extern "C" void exit(int) throw () _GLIBCXX_NORETURN; _GLIBCXX_END_NAMESPACE @@ -159,7 +159,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) using ::lldiv_t; #endif #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC - extern "C" void (_Exit)(int); + extern "C" void (_Exit)(int) throw () _GLIBCXX_NORETURN; #endif #if !_GLIBCXX_USE_C99_DYNAMIC using ::_Exit; @@ -179,11 +179,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #endif #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC - extern "C" long long int (atoll)(const char *); + extern "C" long long int (atoll)(const char *) throw (); extern "C" long long int - (strtoll)(const char * restrict, char ** restrict, int); + (strtoll)(const char * restrict, char ** restrict, int) throw (); extern "C" unsigned long long int - (strtoull)(const char * restrict, char ** restrict, int); + (strtoull)(const char * restrict, char ** restrict, int) throw (); #endif #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC using ::atoll; diff --git a/libstdc++-v3/include/c_std/cwchar b/libstdc++-v3/include/c_std/cwchar index 7baee60531b..f3bc2c76704 100644 --- a/libstdc++-v3/include/c_std/cwchar +++ b/libstdc++-v3/include/c_std/cwchar @@ -239,16 +239,16 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #if _GLIBCXX_USE_C99_CHECK || _GLIBCXX_USE_C99_DYNAMIC extern "C" long double - (wcstold)(const wchar_t * restrict, wchar_t ** restrict); + (wcstold)(const wchar_t * restrict, wchar_t ** restrict) throw (); #endif #if !_GLIBCXX_USE_C99_DYNAMIC using ::wcstold; #endif #if _GLIBCXX_USE_C99_LONG_LONG_CHECK || _GLIBCXX_USE_C99_LONG_LONG_DYNAMIC extern "C" long long int - (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int); + (wcstoll)(const wchar_t * restrict, wchar_t ** restrict, int) throw (); extern "C" unsigned long long int - (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int); + (wcstoull)(const wchar_t * restrict, wchar_t ** restrict, int) throw (); #endif #if !_GLIBCXX_USE_C99_LONG_LONG_DYNAMIC using ::wcstoll; diff --git a/libstdc++-v3/include/ext/atomicity.h b/libstdc++-v3/include/ext/atomicity.h index bb891e8afe6..5cb419ecf59 100644 --- a/libstdc++-v3/include/ext/atomicity.h +++ b/libstdc++-v3/include/ext/atomicity.h @@ -51,11 +51,11 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) #else _Atomic_word __attribute__ ((__unused__)) - __exchange_and_add(volatile _Atomic_word*, int); + __exchange_and_add(volatile _Atomic_word*, int) throw (); void __attribute__ ((__unused__)) - __atomic_add(volatile _Atomic_word*, int); + __atomic_add(volatile _Atomic_word*, int) throw (); #endif static inline _Atomic_word diff --git a/libstdc++-v3/include/ext/bitmap_allocator.h b/libstdc++-v3/include/ext/bitmap_allocator.h index e5bfa18ec5b..f6790d00043 100644 --- a/libstdc++-v3/include/ext/bitmap_allocator.h +++ b/libstdc++-v3/include/ext/bitmap_allocator.h @@ -1049,7 +1049,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) pointer allocate(size_type __n) { - if (__builtin_expect(__n > this->max_size(), false)) + if (__n > this->max_size()) std::__throw_bad_alloc(); if (__builtin_expect(__n == 1, true)) diff --git a/libstdc++-v3/include/ext/malloc_allocator.h b/libstdc++-v3/include/ext/malloc_allocator.h index 4c4a72a171c..b432c63a61e 100644 --- a/libstdc++-v3/include/ext/malloc_allocator.h +++ b/libstdc++-v3/include/ext/malloc_allocator.h @@ -84,7 +84,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) pointer allocate(size_type __n, const void* = 0) { - if (__builtin_expect(__n > this->max_size(), false)) + if (__n > this->max_size()) std::__throw_bad_alloc(); pointer __ret = static_cast<_Tp*>(std::malloc(__n * sizeof(_Tp))); diff --git a/libstdc++-v3/include/ext/mt_allocator.h b/libstdc++-v3/include/ext/mt_allocator.h index fc31fe8a737..e44b98d4bf7 100644 --- a/libstdc++-v3/include/ext/mt_allocator.h +++ b/libstdc++-v3/include/ext/mt_allocator.h @@ -674,7 +674,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) __mt_alloc<_Tp, _Poolp>:: allocate(size_type __n, const void*) { - if (__builtin_expect(__n > this->max_size(), false)) + if (__n > this->max_size()) std::__throw_bad_alloc(); __policy_type::_S_initialize_once(); diff --git a/libstdc++-v3/include/ext/new_allocator.h b/libstdc++-v3/include/ext/new_allocator.h index 290c73a11c2..51666c3c7fd 100644 --- a/libstdc++-v3/include/ext/new_allocator.h +++ b/libstdc++-v3/include/ext/new_allocator.h @@ -83,7 +83,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) pointer allocate(size_type __n, const void* = 0) { - if (__builtin_expect(__n > this->max_size(), false)) + if (__n > this->max_size()) std::__throw_bad_alloc(); return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); diff --git a/libstdc++-v3/include/ext/pool_allocator.h b/libstdc++-v3/include/ext/pool_allocator.h index d7077b1986b..b1e61841c0a 100644 --- a/libstdc++-v3/include/ext/pool_allocator.h +++ b/libstdc++-v3/include/ext/pool_allocator.h @@ -200,7 +200,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) pointer __ret = 0; if (__builtin_expect(__n != 0, true)) { - if (__builtin_expect(__n > this->max_size(), false)) + if (__n > this->max_size()) std::__throw_bad_alloc(); // If there is a race through here, assume answer from getenv @@ -230,7 +230,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) *__free_list = __result->_M_free_list_link; __ret = reinterpret_cast<_Tp*>(__result); } - if (__builtin_expect(__ret == 0, 0)) + if (__ret == 0) std::__throw_bad_alloc(); } } diff --git a/libstdc++-v3/include/ext/rc_string_base.h b/libstdc++-v3/include/ext/rc_string_base.h index dce5e06710c..6d8c430d575 100644 --- a/libstdc++-v3/include/ext/rc_string_base.h +++ b/libstdc++-v3/include/ext/rc_string_base.h @@ -546,7 +546,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) return _S_empty_rep._M_refcopy(); // NB: Not required, but considered best practice. - if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0)) + if (__is_null_pointer(__beg) && __beg != __end) std::__throw_logic_error(__N("__rc_string_base::" "_S_construct NULL not valid")); diff --git a/libstdc++-v3/include/ext/sso_string_base.h b/libstdc++-v3/include/ext/sso_string_base.h index 85a0d7c9b18..6d2af7c46dd 100644 --- a/libstdc++-v3/include/ext/sso_string_base.h +++ b/libstdc++-v3/include/ext/sso_string_base.h @@ -428,7 +428,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) std::forward_iterator_tag) { // NB: Not required, but considered best practice. - if (__builtin_expect(__is_null_pointer(__beg) && __beg != __end, 0)) + if (__is_null_pointer(__beg) && __beg != __end) std::__throw_logic_error(__N("__sso_string_base::" "_M_construct NULL not valid")); diff --git a/libstdc++-v3/include/ext/throw_allocator.h b/libstdc++-v3/include/ext/throw_allocator.h index c87408fd931..13030546943 100644 --- a/libstdc++-v3/include/ext/throw_allocator.h +++ b/libstdc++-v3/include/ext/throw_allocator.h @@ -220,7 +220,7 @@ _GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx) pointer allocate(size_type __n, std::allocator<void>::const_pointer hint = 0) { - if (__builtin_expect(__n > this->max_size(), false)) + if (__n > this->max_size()) std::__throw_bad_alloc(); throw_conditionally(); diff --git a/libstdc++-v3/include/tr1_impl/array b/libstdc++-v3/include/tr1_impl/array index c0bd24076fa..7cd3db3d0f9 100644 --- a/libstdc++-v3/include/tr1_impl/array +++ b/libstdc++-v3/include/tr1_impl/array @@ -149,7 +149,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 reference at(size_type __n) { - if (__builtin_expect(__n >= _Nm, false)) + if (__n >= _Nm) std::__throw_out_of_range(__N("array::at")); return _M_instance[__n]; } @@ -157,7 +157,7 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 const_reference at(size_type __n) const { - if (__builtin_expect(__n >= _Nm, false)) + if (__n >= _Nm) std::__throw_out_of_range(__N("array::at")); return _M_instance[__n]; } |