Remove <chrono> dependency on _GLIBCXX_USE_C99_STDINT_TR1
authorJonathan Wakely <jwakely@redhat.com>
Thu, 26 Jul 2018 14:01:55 +0000 (15:01 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 26 Jul 2018 14:01:55 +0000 (15:01 +0100)
By adding fallback definitions of std::intmax_t and std::uintmax_t it's
possible to define <ratio> without _GLIBCXX_USE_C99_STDINT_TR1. This in
turn allows most of <chrono> to be defined, which removes the dependency
on _GLIBCXX_USE_C99_STDINT_TR1 for all of the C++11 concurrency features.

The compiler defines __INTMAX_TYPE__ and __UINTMAX_TYPE__
unconditionally so it should be safe to rely on them.

* include/bits/atomic_futex.h [!_GLIBCXX_USE_C99_STDINT_TR1]
(__atomic_futex_unsigned_base): Remove dependency on
_GLIBCXX_USE_C99_STDINT_TR1 macro.
* include/bits/unique_lock.h [!_GLIBCXX_USE_C99_STDINT_TR1]
(unique_lock): Remove dependency on _GLIBCXX_USE_C99_STDINT_TR1.
* include/c_global/cstdint [!_GLIBCXX_USE_C99_STDINT_TR1] (intmax_t)
(uintmax_t): Define using predefined macros.
* include/std/chrono [!_GLIBCXX_USE_C99_STDINT_TR1] (duration)
(time_point, system_clock, high_resolution_clock, steady_clock): Remove
dependency on _GLIBCXX_USE_C99_STDINT_TR1 macro.
(nanoseconds, microseconds, milliseconds, seconds, minutes, hours):
[!_GLIBCXX_USE_C99_STDINT_TR1]: Define using __INT64_TYPE__ or
long long when <stdint.h> is not usable.
* include/std/condition_variable [!_GLIBCXX_USE_C99_STDINT_TR1]
(condition_variable, condition_variable_any): Remove dependency on
_GLIBCXX_USE_C99_STDINT_TR1.
* include/std/future [!_GLIBCXX_USE_C99_STDINT_TR1] (future, promise)
(packaged_task, async): Likewise.
* include/std/mutex [!_GLIBCXX_USE_C99_STDINT_TR1] (recursive_mutex)
(timed_mutex, recursive_timed_mutex, try_lock, lock, scoped_lock)
(once_flag, call_once): Likewise.
* include/std/ratio [!_GLIBCXX_USE_C99_STDINT_TR1] (ratio): Likewise.
* include/std/shared_mutex [!_GLIBCXX_USE_C99_STDINT_TR1]
(shared_mutex, shared_timed_mutex, shared_lock): Likewise.
* include/std/thread [!_GLIBCXX_USE_C99_STDINT_TR1] (thread)
(this_thread::get_id, this_thread::yield, this_thread::sleep_for)
(this_thread::sleep_until): Likewise.
* src/c++11/chrono.cc: Remove dependency on
_GLIBCXX_USE_C99_STDINT_TR1 macro.
* src/c++11/condition_variable.cc: Likewise.
* src/c++11/futex.cc: Likewise.
* src/c++11/future.cc: Likewise.
* src/c++11/mutex.cc: Likewise.
* src/c++11/thread.cc: Likewise.
* testsuite/20_util/duration/literals/range_neg.cc: Adjust dg-error.
* testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
* testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
* testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
* testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.

From-SVN: r263001

23 files changed:
libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/atomic_futex.h
libstdc++-v3/include/bits/unique_lock.h
libstdc++-v3/include/c_global/cstdint
libstdc++-v3/include/std/chrono
libstdc++-v3/include/std/condition_variable
libstdc++-v3/include/std/future
libstdc++-v3/include/std/mutex
libstdc++-v3/include/std/ratio
libstdc++-v3/include/std/shared_mutex
libstdc++-v3/include/std/thread
libstdc++-v3/src/c++11/chrono.cc
libstdc++-v3/src/c++11/condition_variable.cc
libstdc++-v3/src/c++11/futex.cc
libstdc++-v3/src/c++11/future.cc
libstdc++-v3/src/c++11/mutex.cc
libstdc++-v3/src/c++11/thread.cc
libstdc++-v3/testsuite/20_util/duration/literals/range_neg.cc
libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc
libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc
libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc
libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc
libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc

index f0855a6cd915525bba58953ca76a8fadd0ea6323..a3665ee8b6a5d61f1aa0d29eaca3a74e0c5e58db 100644 (file)
@@ -1,3 +1,46 @@
+2018-07-26  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/atomic_futex.h [!_GLIBCXX_USE_C99_STDINT_TR1]
+       (__atomic_futex_unsigned_base): Remove dependency on
+       _GLIBCXX_USE_C99_STDINT_TR1 macro.
+       * include/bits/unique_lock.h [!_GLIBCXX_USE_C99_STDINT_TR1]
+       (unique_lock): Remove dependency on _GLIBCXX_USE_C99_STDINT_TR1.
+       * include/c_global/cstdint [!_GLIBCXX_USE_C99_STDINT_TR1] (intmax_t)
+       (uintmax_t): Define using predefined macros.
+       * include/std/chrono [!_GLIBCXX_USE_C99_STDINT_TR1] (duration)
+       (time_point, system_clock, high_resolution_clock, steady_clock): Remove
+       dependency on _GLIBCXX_USE_C99_STDINT_TR1 macro.
+       (nanoseconds, microseconds, milliseconds, seconds, minutes, hours):
+       [!_GLIBCXX_USE_C99_STDINT_TR1]: Define using __INT64_TYPE__ or
+       long long when <stdint.h> is not usable.
+       * include/std/condition_variable [!_GLIBCXX_USE_C99_STDINT_TR1]
+       (condition_variable, condition_variable_any): Remove dependency on
+       _GLIBCXX_USE_C99_STDINT_TR1.
+       * include/std/future [!_GLIBCXX_USE_C99_STDINT_TR1] (future, promise)
+       (packaged_task, async): Likewise.
+       * include/std/mutex [!_GLIBCXX_USE_C99_STDINT_TR1] (recursive_mutex)
+       (timed_mutex, recursive_timed_mutex, try_lock, lock, scoped_lock)
+       (once_flag, call_once): Likewise.
+       * include/std/ratio [!_GLIBCXX_USE_C99_STDINT_TR1] (ratio): Likewise.
+       * include/std/shared_mutex [!_GLIBCXX_USE_C99_STDINT_TR1]
+       (shared_mutex, shared_timed_mutex, shared_lock): Likewise.
+       * include/std/thread [!_GLIBCXX_USE_C99_STDINT_TR1] (thread)
+       (this_thread::get_id, this_thread::yield, this_thread::sleep_for)
+       (this_thread::sleep_until): Likewise.
+       * src/c++11/chrono.cc: Remove dependency on
+       _GLIBCXX_USE_C99_STDINT_TR1 macro.
+       * src/c++11/condition_variable.cc: Likewise.
+       * src/c++11/futex.cc: Likewise.
+       * src/c++11/future.cc: Likewise.
+       * src/c++11/mutex.cc: Likewise.
+       * src/c++11/thread.cc: Likewise.
+       * testsuite/20_util/duration/literals/range_neg.cc: Adjust dg-error.
+       * testsuite/20_util/duration/requirements/typedefs_neg1.cc: Likewise.
+       * testsuite/20_util/duration/requirements/typedefs_neg2.cc: Likewise.
+       * testsuite/20_util/duration/requirements/typedefs_neg3.cc: Likewise.
+       * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise.
+       * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Likewise.
+
 2018-07-26  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        PR libstdc++/77691
index ad9437da4e252338fd3a2512483dda72640ac139..ecf5b02031afbe3f8735ebf9dfb321e99294cfe9 100644 (file)
@@ -48,7 +48,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_HAS_GTHREADS
 #if defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
   struct __atomic_futex_unsigned_base
   {
@@ -282,7 +282,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   };
 
 #endif // _GLIBCXX_HAVE_LINUX_FUTEX && ATOMIC_INT_LOCK_FREE > 1
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
 
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
index e0e7400b51649b122a05b25cd5849508ee854b47..59140dad13aeb9b4f111adb7023ede920e6d6937 100644 (file)
@@ -86,7 +86,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        // XXX calling thread owns mutex
       }
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
       template<typename _Clock, typename _Duration>
        unique_lock(mutex_type& __m,
                    const chrono::time_point<_Clock, _Duration>& __atime)
@@ -100,7 +99,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
        : _M_device(std::__addressof(__m)),
          _M_owns(_M_device->try_lock_for(__rtime))
        { }
-#endif
 
       ~unique_lock()
       {
@@ -159,7 +157,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
          }
       }
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
       template<typename _Clock, typename _Duration>
        bool
        try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
@@ -189,7 +186,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
              return _M_owns;
            }
         }
-#endif
 
       void
       unlock()
index 9c0ca701cbe8a41f0a4541b2cc5f5cf23da9b3ce..556f42c5b7f6588ef7c510aef1a2d48a28e848a8 100644 (file)
 # include <stdint.h>
 #endif
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-
 namespace std
 {
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
   using ::int8_t;
   using ::int16_t;
   using ::int32_t;
@@ -80,9 +79,12 @@ namespace std
 
   using ::uintmax_t;
   using ::uintptr_t;
-} // namespace std
-
+#else // !_GLIBCXX_USE_C99_STDINT_TR1
+  // Define the minimum needed for <ratio>, <chrono> etc.
+  using intmax_t = __INTMAX_TYPE__;
+  using uintmax_t = __UINTMAX_TYPE__;
 #endif // _GLIBCXX_USE_C99_STDINT_TR1
+} // namespace std
 
 #endif // C++11
 
index d6d9dcae411e11cd5dbe0e524170185f6febcaee..da03fdccce44d6da493107340989c2c983bad412 100644 (file)
@@ -41,8 +41,6 @@
 #include <ctime>
 #include <bits/parse_numbers.h> // for literals support.
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -593,23 +591,35 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
                 const duration<_Rep2, _Period2>& __rhs)
       { return !(__lhs < __rhs); }
 
+#ifdef _GLIBCXX_USE_C99_STDINT_TR1
+# define _GLIBCXX_CHRONO_INT64_T int64_t
+#elif defined __INT64_TYPE__
+# define _GLIBCXX_CHRONO_INT64_T __INT64_TYPE__
+#else
+    static_assert(std::numeric_limits<unsigned long long>::digits >= 64,
+       "Representation type for nanoseconds must have at least 64 bits");
+# define _GLIBCXX_CHRONO_INT64_T long long
+#endif
+
     /// nanoseconds
-    typedef duration<int64_t, nano>        nanoseconds;
+    typedef duration<_GLIBCXX_CHRONO_INT64_T, nano>        nanoseconds;
 
     /// microseconds
-    typedef duration<int64_t, micro>       microseconds;
+    typedef duration<_GLIBCXX_CHRONO_INT64_T, micro>       microseconds;
 
     /// milliseconds
-    typedef duration<int64_t, milli>       milliseconds;
+    typedef duration<_GLIBCXX_CHRONO_INT64_T, milli>       milliseconds;
 
     /// seconds
-    typedef duration<int64_t>              seconds;
+    typedef duration<_GLIBCXX_CHRONO_INT64_T>              seconds;
 
     /// minutes
-    typedef duration<int64_t, ratio< 60>>   minutes;
+    typedef duration<_GLIBCXX_CHRONO_INT64_T, ratio< 60>>   minutes;
 
     /// hours
-    typedef duration<int64_t, ratio<3600>>  hours;
+    typedef duration<_GLIBCXX_CHRONO_INT64_T, ratio<3600>>  hours;
+
+#undef _GLIBCXX_CHRONO_INT64_T
 
     /// time_point
     template<typename _Clock, typename _Dur>
@@ -980,8 +990,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
 
-#endif //_GLIBCXX_USE_C99_STDINT_TR1
-
 #endif // C++11
 
 #endif //_GLIBCXX_CHRONO
index 88ab775f771b8fe0427c74a463528ca4fad42b29..3f690c81799f05e4ee0b9ea53373a814fd7a4216 100644 (file)
@@ -45,7 +45,7 @@
 #include <bits/shared_ptr.h>
 #include <bits/cxxabi_forced.h>
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#if defined(_GLIBCXX_HAS_GTHREADS)
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -319,8 +319,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
-
+#endif // _GLIBCXX_HAS_GTHREADS
 #endif // C++11
-
 #endif // _GLIBCXX_CONDITION_VARIABLE
index 937c05ef2b24fc0c45174ceca65c42996de6dfb5..843adbf52055299d86dec445f295449745aab594 100644 (file)
@@ -192,7 +192,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     future<__async_result_of<_Fn, _Args...>>
     async(_Fn&& __fn, _Args&&... __args);
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#if defined(_GLIBCXX_HAS_GTHREADS)
 
   /// Base class and enclosing scope.
   struct __future_base
@@ -1745,7 +1745,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
 
 #endif // _GLIBCXX_ASYNC_ABI_COMPAT
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
 
   // @} group futures
 _GLIBCXX_END_NAMESPACE_VERSION
index 9318a8d1a5dabcc06010046e87196a2d62ec40ca..477aa867f86f5bde3e39b9afebd978d8b85d5297 100644 (file)
@@ -50,8 +50,6 @@
 # include <bits/std_function.h>
 #endif
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-
 namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
@@ -703,7 +701,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   // @} group mutexes
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
-#endif // _GLIBCXX_USE_C99_STDINT_TR1
 
 #endif // C++11
 
index 9593a1a387c138d04b38ae5fd85ff8c7d2e0c73e..829a583ab2abf09d3cd08d173b52cc7a31f12da0 100644 (file)
@@ -36,9 +36,7 @@
 #else
 
 #include <type_traits>
-#include <cstdint>
-
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
+#include <cstdint>             // intmax_t, uintmax_t
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -548,8 +546,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
-#endif //_GLIBCXX_USE_C99_STDINT_TR1
-
 #endif // C++11
 
 #endif //_GLIBCXX_RATIO
index 6a81e7510140f5c4274a82d27de631464cbb6a73..dce97f48a3f706f53b8b61532c8d1c8f8a73109f 100644 (file)
@@ -46,7 +46,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
    * @{
    */
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
 #ifdef _GLIBCXX_HAS_GTHREADS
 
 #if __cplusplus >= 201703L
@@ -676,8 +675,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) noexcept
     { __x.swap(__y); }
 
-#endif // _GLIBCXX_USE_C99_STDINT_TR1
-
   // @} group mutexes
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
index 13acd6a3091a58d9dbdcbb4200b60df940c6d0d0..407de1ba3337134b1d60377bc23b24651572810e 100644 (file)
@@ -44,7 +44,7 @@
 #include <bits/invoke.h>
 #include <bits/gthr.h>
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#if defined(_GLIBCXX_HAS_GTHREADS)
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -407,7 +407,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
 
 #endif // C++11
 
index 8d4e830c7ca2acc18f7bb1e9b3f4ff76a2a05db9..199c748bcffaad32e9b4a5c27899dc414e1f808d 100644 (file)
@@ -25,8 +25,6 @@
 #include <bits/c++config.h>
 #include <chrono>
 
-#ifdef _GLIBCXX_USE_C99_STDINT_TR1
-
 // Conditional inclusion of sys/time.h for gettimeofday
 #if !defined(_GLIBCXX_USE_CLOCK_MONOTONIC) && \
     !defined(_GLIBCXX_USE_CLOCK_REALTIME) && \
@@ -101,5 +99,3 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
-
-#endif // _GLIBCXX_USE_C99_STDINT_TR1
index 2ad7e049c45c179d8542b877c64a8f8905907f03..c500c719571a1ed93225a176bda5c627bace463e 100644 (file)
@@ -25,7 +25,7 @@
 #include <condition_variable>
 #include <cstdlib>
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_HAS_GTHREADS
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -155,4 +155,4 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
index f5000aa77b322bbd79af7fb283ed0bf63bf3cac8..278a5a80902223aed8a6985512c270c75d1170ae 100644 (file)
@@ -23,7 +23,7 @@
 // <http://www.gnu.org/licenses/>.
 
 #include <bits/atomic_futex.h>
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_HAS_GTHREADS
 #if defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
 #include <chrono>
 #include <climits>
@@ -95,5 +95,5 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
 _GLIBCXX_END_NAMESPACE_VERSION
 }
-#endif
-#endif
+#endif // defined(_GLIBCXX_HAVE_LINUX_FUTEX) && ATOMIC_INT_LOCK_FREE > 1
+#endif // _GLIBCXX_HAS_GTHREADS
index 553c65ebd13dc0fde3caed96eaa83f9081963da8..01b614691aae100d4c9e88b61fba2cc151baa4dd 100644 (file)
@@ -83,7 +83,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   const char*
   future_error::what() const noexcept { return logic_error::what(); }
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_HAS_GTHREADS
   __future_base::_Result_base::_Result_base() = default;
 
   __future_base::_Result_base::~_Result_base() = default;
@@ -110,7 +110,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     _M_cb = &_Make_ready::_S_run;
     __at_thread_exit(this);
   }
-#endif
+#endif // _GLIBCXX_HAS_GTHREADS
 
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
index b62bf87063be94f4cae44def167cab64d8943866..2df8dc1874d8f7a4234e4650fc02ef0bf5a5eb55 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <mutex>
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_HAS_GTHREADS
 #ifndef _GLIBCXX_HAVE_TLS
 namespace
 {
@@ -94,4 +94,4 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
 
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
index 8238817c2e92657f673be8e58b9db32a1d7b2d68..c62cb71bf990648debc3751ef6e2a548e1a4106a 100644 (file)
@@ -29,7 +29,7 @@
 #include <cerrno>
 #include <cxxabi_forced.h>
 
-#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1)
+#ifdef _GLIBCXX_HAS_GTHREADS
 
 #if defined(_GLIBCXX_USE_GET_NPROCS)
 # include <sys/sysinfo.h>
@@ -218,4 +218,4 @@ namespace this_thread
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace std
 
-#endif // _GLIBCXX_HAS_GTHREADS && _GLIBCXX_USE_C99_STDINT_TR1
+#endif // _GLIBCXX_HAS_GTHREADS
index d1be74493c9df81a9615ba82484adb7e7bbbdec9..f28f2f6a4e86a947c3cbb65254762b9d8f422165 100644 (file)
@@ -26,6 +26,6 @@ test01()
 
   // std::numeric_limits<int64_t>::max() == 9223372036854775807;
   auto h = 9223372036854775808h;
-  // { dg-error "cannot be represented" "" { target *-*-* } 898 }
+  // { dg-error "cannot be represented" "" { target *-*-* } 908 }
 }
 // { dg-prune-output "in constexpr expansion" } // needed for -O0
index 2638afebadc84d64743ded1cae441d3675abb70a..37949434c3c5c37a0a0906ab2f2326fbf343648a 100644 (file)
@@ -30,4 +30,4 @@ void test01()
   test_type d; // { dg-error "required from here" }
 }
 
-// { dg-error "rep cannot be a duration" "" { target *-*-* } 318 }
+// { dg-error "rep cannot be a duration" "" { target *-*-* } 316 }
index 5b561e19db3bd0f43df3a384d97fdb5e0c8365a7..ecd3c81530b0dff232d2889e3cd5c0b86bc76293 100644 (file)
@@ -31,5 +31,5 @@ void test01()
   test_type d;                 // { dg-error "required from here" }
 }
 
-// { dg-error "must be a specialization of ratio" "" { target *-*-* } 319 }
+// { dg-error "must be a specialization of ratio" "" { target *-*-* } 317 }
 // { dg-prune-output "not a member" }
index a66ea1ab172b7e5bc7c0a61016ea34c09655897a..d2c16675096fea3e216cce64380c202bc75537ce 100644 (file)
@@ -32,4 +32,4 @@ void test01()
   test_type d;  // { dg-error "required from here" }
 }
 
-// { dg-error "period must be positive" "" { target *-*-* } 321 }
+// { dg-error "period must be positive" "" { target *-*-* } 319 }
index 4589bccc9f77e77d92c7e9df6c1f89ee9c3795f8..7e876e87985e4c828b64e04e666a17e5ed4e28fb 100644 (file)
@@ -45,7 +45,7 @@ test04()
   std::ratio<1,0> r1 __attribute__((unused)); // { dg-error "required from here" }
 }
 
-// { dg-error "denominator cannot be zero" "" { target *-*-* } 265 }
-// { dg-error "out of range" "" { target *-*-* } 266 }
-// { dg-error "overflow in constant expression" "" { target *-*-* } 61 }
+// { dg-error "denominator cannot be zero" "" { target *-*-* } 263 }
+// { dg-error "out of range" "" { target *-*-* } 264 }
+// { dg-error "overflow in constant expression" "" { target *-*-* } 59 }
 // { dg-prune-output "not a member" }
index 1979257dadeb97f69f686c4892b9e7b7baeeb16f..2bd9247b8aa6a86c8f6d746467d47b2bde45fd70 100644 (file)
@@ -41,10 +41,10 @@ test02()
 // { dg-error "required from here" "" { target *-*-* } 28 }
 // { dg-error "expected initializer" "" { target *-*-* } 35 }
 // { dg-error "expected initializer" "" { target *-*-* } 37 }
-// { dg-error "overflow in addition" "" { target *-*-* } 452 }
+// { dg-error "overflow in addition" "" { target *-*-* } 450 }
+// { dg-error "overflow in multiplication" "" { target *-*-* } 95 }
 // { dg-error "overflow in multiplication" "" { target *-*-* } 97 }
 // { dg-error "overflow in multiplication" "" { target *-*-* } 99 }
-// { dg-error "overflow in multiplication" "" { target *-*-* } 101 }
-// { dg-error "overflow in constant expression" "" { target *-*-* } 108 }
+// { dg-error "overflow in constant expression" "" { target *-*-* } 106 }
 // { dg-prune-output "out of range" }
 // { dg-prune-output "not usable in a constant expression" }