Avoid -Woverflow warning in __numeric_limits_integer
This is the same fix as was done for std::numeric_limits in r183905. PR libstdc++/52119 * include/ext/numeric_traits.h (__glibcxx_min): Avoid integer overflow warning with -Wpedantic -Wsystem-headers. From-SVN: r270858
This commit is contained in:
parent
16df703871
commit
56e5b093de
@ -1,3 +1,9 @@
|
||||
2019-05-03 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/52119
|
||||
* include/ext/numeric_traits.h (__glibcxx_min): Avoid integer
|
||||
overflow warning with -Wpedantic -Wsystem-headers.
|
||||
|
||||
2019-05-02 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/90314
|
||||
|
@ -39,13 +39,13 @@ namespace __gnu_cxx _GLIBCXX_VISIBILITY(default)
|
||||
_GLIBCXX_BEGIN_NAMESPACE_VERSION
|
||||
|
||||
// Compile time constants for builtin types.
|
||||
// Sadly std::numeric_limits member functions cannot be used for this.
|
||||
// In C++98 std::numeric_limits member functions cannot be used for this.
|
||||
#define __glibcxx_signed(_Tp) ((_Tp)(-1) < 0)
|
||||
#define __glibcxx_digits(_Tp) \
|
||||
(sizeof(_Tp) * __CHAR_BIT__ - __glibcxx_signed(_Tp))
|
||||
|
||||
#define __glibcxx_min(_Tp) \
|
||||
(__glibcxx_signed(_Tp) ? (_Tp)1 << __glibcxx_digits(_Tp) : (_Tp)0)
|
||||
(__glibcxx_signed(_Tp) ? -__glibcxx_max(_Tp) - 1 : (_Tp)0)
|
||||
|
||||
#define __glibcxx_max(_Tp) \
|
||||
(__glibcxx_signed(_Tp) ? \
|
||||
|
Loading…
Reference in New Issue
Block a user