LWG 2441 Provide exact-width atomic typedefs
* include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t) (atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t) (atomic_uint64_t): Define (LWG 2441). * testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty lines. * testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for the new types. * doc/xml/manual/intro.xml: Document DR 2441 status. From-SVN: r238534
This commit is contained in:
parent
07c772ed4e
commit
e87b7d52c3
5 changed files with 53 additions and 3 deletions
|
@ -1,5 +1,14 @@
|
|||
2016-07-20 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
* include/std/atomic (atomic_int8_t, atomic_uint8_t, atomic_int16_t)
|
||||
(atomic_uint16_t, atomic_int32_t, atomic_uint32_t, atomic_int64_t)
|
||||
(atomic_uint64_t): Define (LWG 2441).
|
||||
* testsuite/29_atomics/headers/atomic/std_c++0x_neg.cc: Remove empty
|
||||
lines.
|
||||
* testsuite/29_atomics/headers/atomic/types_std_c++0x.cc: Test for
|
||||
the new types.
|
||||
* doc/xml/manual/intro.xml: Document DR 2441 status.
|
||||
|
||||
* include/std/istream (operator>>(basic_istream&&, _Tp&)): Adjust
|
||||
to use perfect forwarding (LWG 2328).
|
||||
* testsuite/27_io/rvalue_streams.cc: Test perfect forwarding.
|
||||
|
|
|
@ -1011,6 +1011,12 @@ requirements of the license of GCC.
|
|||
<listitem><para>Add <code>noexcept</code>.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2441">2441</link>:
|
||||
<emphasis>Exact-width atomic typedefs should be provided</emphasis>
|
||||
</term>
|
||||
<listitem><para>Define the typedefs.
|
||||
</para></listitem></varlistentry>
|
||||
|
||||
<varlistentry><term><link xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="../ext/lwg-defects.html#2454">2454</link>:
|
||||
<emphasis>Add <code>raw_storage_iterator::base()</code> member
|
||||
</emphasis>
|
||||
|
|
|
@ -833,6 +833,34 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
typedef atomic<char32_t> atomic_char32_t;
|
||||
|
||||
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
// 2441. Exact-width atomic typedefs should be provided
|
||||
|
||||
/// atomic_int8_t
|
||||
typedef atomic<int8_t> atomic_int8_t;
|
||||
|
||||
/// atomic_uint8_t
|
||||
typedef atomic<uint8_t> atomic_uint8_t;
|
||||
|
||||
/// atomic_int16_t
|
||||
typedef atomic<int16_t> atomic_int16_t;
|
||||
|
||||
/// atomic_uint16_t
|
||||
typedef atomic<uint16_t> atomic_uint16_t;
|
||||
|
||||
/// atomic_int32_t
|
||||
typedef atomic<int32_t> atomic_int32_t;
|
||||
|
||||
/// atomic_uint32_t
|
||||
typedef atomic<uint32_t> atomic_uint32_t;
|
||||
|
||||
/// atomic_int64_t
|
||||
typedef atomic<int64_t> atomic_int64_t;
|
||||
|
||||
/// atomic_uint64_t
|
||||
typedef atomic<uint64_t> atomic_uint64_t;
|
||||
|
||||
|
||||
/// atomic_int_least8_t
|
||||
typedef atomic<int_least8_t> atomic_int_least8_t;
|
||||
|
||||
|
|
|
@ -21,6 +21,3 @@
|
|||
#include <atomic>
|
||||
|
||||
// { dg-error "ISO C.. 2011" "" { target *-*-* } 32 }
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -72,4 +72,14 @@ void test01()
|
|||
using std::atomic_ptrdiff_t;
|
||||
using std::atomic_intmax_t;
|
||||
using std::atomic_uintmax_t;
|
||||
|
||||
// DR 2441
|
||||
using std::atomic_int8_t;
|
||||
using std::atomic_uint8_t;
|
||||
using std::atomic_int16_t;
|
||||
using std::atomic_uint16_t;
|
||||
using std::atomic_int32_t;
|
||||
using std::atomic_uint32_t;
|
||||
using std::atomic_int64_t;
|
||||
using std::atomic_uint64_t;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue