PR79862 check macro for type aliases that depend on <stdint.h>
authorJonathan Wakely <jwakely@redhat.com>
Thu, 20 Apr 2017 13:04:28 +0000 (14:04 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 20 Apr 2017 13:04:28 +0000 (14:04 +0100)
PR libstdc++/79862
* include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
(atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
(atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
(atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
(atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
(atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
(atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
(atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
(atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
define.

From-SVN: r247021

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/atomic

index 46c20d1f7f9643585bf6117376140a2a6fb4522a..fa79d16c73fc569a1d8f2f55ff6bf7e1e73fc83d 100644 (file)
@@ -1,3 +1,17 @@
+2017-04-20  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/79862
+       * include/std/atomic [!_GLIBCXX_USE_C99_STDINT_TR1] (atomic_int8_t)
+       (atomic_uint8_t, atomic_int16_t, atomic_uint16_t, atomic_int32_t,
+       (atomic_uint32_t, atomic_int64_t, atomic_uint64_t)
+       (atomic_int_least8_t, atomic_uint_least8_t, atomic_int_least16_t)
+       (atomic_uint_least16_t, atomic_int_least32_t, atomic_uint_least32_t)
+       (atomic_int_least64_t, atomic_uint_least64_t, atomic_int_fast8_t)
+       (atomic_uint_fast8_t, atomic_int_fast16_t, atomic_uint_fast16_t)
+       (atomic_int_fast32_t, atomic_uint_fast32_t, atomic_int_fast64_t)
+       (atomic_uint_fast64_t, atomic_intmax_t, atomic_uintmax_t): Don't
+       define.
+
 2017-04-19  Jonathan Wakely  <jwakely@redhat.com>
 
        * doc/xml/manual/abi.xml: Rephrase one of the references to the
index 5b252a43e1f7c18d56dbd06c6ed99c6ddf849df3..4b583c17a3b9b5c8c6dbc887aa7d39d098e49195 100644 (file)
@@ -909,7 +909,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   /// atomic_char32_t
   typedef atomic<char32_t>             atomic_char32_t;
 
-
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
   // _GLIBCXX_RESOLVE_LIB_DEFECTS
   // 2441. Exact-width atomic typedefs should be provided
 
@@ -986,6 +986,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /// atomic_uint_fast64_t
   typedef atomic<uint_fast64_t>                atomic_uint_fast64_t;
+#endif
 
 
   /// atomic_intptr_t
@@ -997,15 +998,16 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   /// atomic_size_t
   typedef atomic<size_t>               atomic_size_t;
 
+  /// atomic_ptrdiff_t
+  typedef atomic<ptrdiff_t>            atomic_ptrdiff_t;
+
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
   /// atomic_intmax_t
   typedef atomic<intmax_t>             atomic_intmax_t;
 
   /// atomic_uintmax_t
   typedef atomic<uintmax_t>            atomic_uintmax_t;
-
-  /// atomic_ptrdiff_t
-  typedef atomic<ptrdiff_t>            atomic_ptrdiff_t;
-
+#endif
 
   // Function definitions, atomic_flag operations.
   inline bool