From 8ba7f29e3dd0640f3b40f60f57d1f491c6d35a74 Mon Sep 17 00:00:00 2001 From: Jonathan Wakely Date: Thu, 26 Jul 2018 15:01:55 +0100 Subject: [PATCH] Remove dependency on _GLIBCXX_USE_C99_STDINT_TR1 By adding fallback definitions of std::intmax_t and std::uintmax_t it's possible to define without _GLIBCXX_USE_C99_STDINT_TR1. This in turn allows most of 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 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 --- libstdc++-v3/ChangeLog | 43 ++++++++++++++++++++++ libstdc++-v3/include/bits/atomic_futex.h | 4 +- libstdc++-v3/include/bits/unique_lock.h | 4 -- libstdc++-v3/include/c_global/cstdint | 10 +++-- libstdc++-v3/include/std/chrono | 28 +++++++++----- libstdc++-v3/include/std/condition_variable | 6 +-- libstdc++-v3/include/std/future | 4 +- libstdc++-v3/include/std/mutex | 3 -- libstdc++-v3/include/std/ratio | 6 +-- libstdc++-v3/include/std/shared_mutex | 3 -- libstdc++-v3/include/std/thread | 4 +- libstdc++-v3/src/c++11/chrono.cc | 4 -- libstdc++-v3/src/c++11/condition_variable.cc | 4 +- libstdc++-v3/src/c++11/futex.cc | 6 +-- libstdc++-v3/src/c++11/future.cc | 4 +- libstdc++-v3/src/c++11/mutex.cc | 4 +- libstdc++-v3/src/c++11/thread.cc | 4 +- .../20_util/duration/literals/range_neg.cc | 2 +- .../20_util/duration/requirements/typedefs_neg1.cc | 2 +- .../20_util/duration/requirements/typedefs_neg2.cc | 2 +- .../20_util/duration/requirements/typedefs_neg3.cc | 2 +- .../20_util/ratio/cons/cons_overflow_neg.cc | 6 +-- .../20_util/ratio/operations/ops_overflow_neg.cc | 6 +-- 23 files changed, 97 insertions(+), 64 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f0855a6..a3665ee 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,46 @@ +2018-07-26 Jonathan Wakely + + * 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 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 PR libstdc++/77691 diff --git a/libstdc++-v3/include/bits/atomic_futex.h b/libstdc++-v3/include/bits/atomic_futex.h index ad9437d..ecf5b02 100644 --- a/libstdc++-v3/include/bits/atomic_futex.h +++ b/libstdc++-v3/include/bits/atomic_futex.h @@ -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 diff --git a/libstdc++-v3/include/bits/unique_lock.h b/libstdc++-v3/include/bits/unique_lock.h index e0e7400..59140da 100644 --- a/libstdc++-v3/include/bits/unique_lock.h +++ b/libstdc++-v3/include/bits/unique_lock.h @@ -86,7 +86,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // XXX calling thread owns mutex } -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 template 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 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() diff --git a/libstdc++-v3/include/c_global/cstdint b/libstdc++-v3/include/c_global/cstdint index 9c0ca70..556f42c 100644 --- a/libstdc++-v3/include/c_global/cstdint +++ b/libstdc++-v3/include/c_global/cstdint @@ -41,10 +41,9 @@ # include #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 , etc. + using intmax_t = __INTMAX_TYPE__; + using uintmax_t = __UINTMAX_TYPE__; #endif // _GLIBCXX_USE_C99_STDINT_TR1 +} // namespace std #endif // C++11 diff --git a/libstdc++-v3/include/std/chrono b/libstdc++-v3/include/std/chrono index d6d9dcae..da03fdc 100644 --- a/libstdc++-v3/include/std/chrono +++ b/libstdc++-v3/include/std/chrono @@ -41,8 +41,6 @@ #include #include // 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::digits >= 64, + "Representation type for nanoseconds must have at least 64 bits"); +# define _GLIBCXX_CHRONO_INT64_T long long +#endif + /// nanoseconds - typedef duration nanoseconds; + typedef duration<_GLIBCXX_CHRONO_INT64_T, nano> nanoseconds; /// microseconds - typedef duration microseconds; + typedef duration<_GLIBCXX_CHRONO_INT64_T, micro> microseconds; /// milliseconds - typedef duration milliseconds; + typedef duration<_GLIBCXX_CHRONO_INT64_T, milli> milliseconds; /// seconds - typedef duration seconds; + typedef duration<_GLIBCXX_CHRONO_INT64_T> seconds; /// minutes - typedef duration> minutes; + typedef duration<_GLIBCXX_CHRONO_INT64_T, ratio< 60>> minutes; /// hours - typedef duration> hours; + typedef duration<_GLIBCXX_CHRONO_INT64_T, ratio<3600>> hours; + +#undef _GLIBCXX_CHRONO_INT64_T /// time_point template @@ -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 diff --git a/libstdc++-v3/include/std/condition_variable b/libstdc++-v3/include/std/condition_variable index 88ab775..3f690c8 100644 --- a/libstdc++-v3/include/std/condition_variable +++ b/libstdc++-v3/include/std/condition_variable @@ -45,7 +45,7 @@ #include #include -#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 diff --git a/libstdc++-v3/include/std/future b/libstdc++-v3/include/std/future index 937c05e..843adbf 100644 --- a/libstdc++-v3/include/std/future +++ b/libstdc++-v3/include/std/future @@ -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 diff --git a/libstdc++-v3/include/std/mutex b/libstdc++-v3/include/std/mutex index 9318a8d..477aa86 100644 --- a/libstdc++-v3/include/std/mutex +++ b/libstdc++-v3/include/std/mutex @@ -50,8 +50,6 @@ # include #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 diff --git a/libstdc++-v3/include/std/ratio b/libstdc++-v3/include/std/ratio index 9593a1a..829a583 100644 --- a/libstdc++-v3/include/std/ratio +++ b/libstdc++-v3/include/std/ratio @@ -36,9 +36,7 @@ #else #include -#include - -#ifdef _GLIBCXX_USE_C99_STDINT_TR1 +#include // 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 diff --git a/libstdc++-v3/include/std/shared_mutex b/libstdc++-v3/include/std/shared_mutex index 6a81e75..dce97f4 100644 --- a/libstdc++-v3/include/std/shared_mutex +++ b/libstdc++-v3/include/std/shared_mutex @@ -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 diff --git a/libstdc++-v3/include/std/thread b/libstdc++-v3/include/std/thread index 13acd6a..407de1b 100644 --- a/libstdc++-v3/include/std/thread +++ b/libstdc++-v3/include/std/thread @@ -44,7 +44,7 @@ #include #include -#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 diff --git a/libstdc++-v3/src/c++11/chrono.cc b/libstdc++-v3/src/c++11/chrono.cc index 8d4e830..199c748 100644 --- a/libstdc++-v3/src/c++11/chrono.cc +++ b/libstdc++-v3/src/c++11/chrono.cc @@ -25,8 +25,6 @@ #include #include -#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 diff --git a/libstdc++-v3/src/c++11/condition_variable.cc b/libstdc++-v3/src/c++11/condition_variable.cc index 2ad7e04..c500c71 100644 --- a/libstdc++-v3/src/c++11/condition_variable.cc +++ b/libstdc++-v3/src/c++11/condition_variable.cc @@ -25,7 +25,7 @@ #include #include -#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 diff --git a/libstdc++-v3/src/c++11/futex.cc b/libstdc++-v3/src/c++11/futex.cc index f5000aa..278a5a8 100644 --- a/libstdc++-v3/src/c++11/futex.cc +++ b/libstdc++-v3/src/c++11/futex.cc @@ -23,7 +23,7 @@ // . #include -#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 #include @@ -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 diff --git a/libstdc++-v3/src/c++11/future.cc b/libstdc++-v3/src/c++11/future.cc index 553c65e..01b6146 100644 --- a/libstdc++-v3/src/c++11/future.cc +++ b/libstdc++-v3/src/c++11/future.cc @@ -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 diff --git a/libstdc++-v3/src/c++11/mutex.cc b/libstdc++-v3/src/c++11/mutex.cc index b62bf87..2df8dc1 100644 --- a/libstdc++-v3/src/c++11/mutex.cc +++ b/libstdc++-v3/src/c++11/mutex.cc @@ -24,7 +24,7 @@ #include -#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 diff --git a/libstdc++-v3/src/c++11/thread.cc b/libstdc++-v3/src/c++11/thread.cc index 8238817..c62cb71 100644 --- a/libstdc++-v3/src/c++11/thread.cc +++ b/libstdc++-v3/src/c++11/thread.cc @@ -29,7 +29,7 @@ #include #include -#if defined(_GLIBCXX_HAS_GTHREADS) && defined(_GLIBCXX_USE_C99_STDINT_TR1) +#ifdef _GLIBCXX_HAS_GTHREADS #if defined(_GLIBCXX_USE_GET_NPROCS) # include @@ -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 diff --git a/libstdc++-v3/testsuite/20_util/duration/literals/range_neg.cc b/libstdc++-v3/testsuite/20_util/duration/literals/range_neg.cc index d1be744..f28f2f6 100644 --- a/libstdc++-v3/testsuite/20_util/duration/literals/range_neg.cc +++ b/libstdc++-v3/testsuite/20_util/duration/literals/range_neg.cc @@ -26,6 +26,6 @@ test01() // std::numeric_limits::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 diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc index 2638afe..3794943 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg1.cc @@ -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 } diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc index 5b561e1..ecd3c81 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg2.cc @@ -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" } diff --git a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc index a66ea1a..d2c1667 100644 --- a/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc +++ b/libstdc++-v3/testsuite/20_util/duration/requirements/typedefs_neg3.cc @@ -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 } diff --git a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc index 4589bcc..7e876e8 100644 --- a/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc +++ b/libstdc++-v3/testsuite/20_util/ratio/cons/cons_overflow_neg.cc @@ -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" } diff --git a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc index 1979257..2bd9247 100644 --- a/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc +++ b/libstdc++-v3/testsuite/20_util/ratio/operations/ops_overflow_neg.cc @@ -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" } -- 2.7.4