diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2019-03-22 16:45:48 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2019-03-22 16:45:48 +0000 |
commit | eca5f9254bbb06364a0fc91fdf7bde820bd8d225 (patch) | |
tree | 7765e58343fb2fee8fe484383a97fbc3000d54b1 | |
parent | 5c3703c552d12e7e62febf4fe5deb837a1305f78 (diff) | |
download | gcc-eca5f9254bbb06364a0fc91fdf7bde820bd8d225.zip gcc-eca5f9254bbb06364a0fc91fdf7bde820bd8d225.tar.gz gcc-eca5f9254bbb06364a0fc91fdf7bde820bd8d225.tar.bz2 |
Avoid -Wconversion warnings when -Wsystem-headers is used
* include/bits/stl_algobase.h (__lg): Do arithmetic on type int to
avoid -Wconversion warnings.
From-SVN: r269876
-rw-r--r-- | libstdc++-v3/ChangeLog | 5 | ||||
-rw-r--r-- | libstdc++-v3/include/bits/stl_algobase.h | 12 |
2 files changed, 11 insertions, 6 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c867226..2a3021a 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2019-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_algobase.h (__lg): Do arithmetic on type int to + avoid -Wconversion warnings. + 2019-03-21 Thomas Rodgers <trodgers@redhat.com> * include/Makefile.am (std_header): Add ${std_srcdir}/execution. diff --git a/libstdc++-v3/include/bits/stl_algobase.h b/libstdc++-v3/include/bits/stl_algobase.h index 2b69e65..3b11394 100644 --- a/libstdc++-v3/include/bits/stl_algobase.h +++ b/libstdc++-v3/include/bits/stl_algobase.h @@ -1018,27 +1018,27 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // Precondition: __n > 0. inline _GLIBCXX_CONSTEXPR int __lg(int __n) - { return sizeof(int) * __CHAR_BIT__ - 1 - __builtin_clz(__n); } + { return (int)sizeof(int) * __CHAR_BIT__ - 1 - __builtin_clz(__n); } inline _GLIBCXX_CONSTEXPR unsigned __lg(unsigned __n) - { return sizeof(int) * __CHAR_BIT__ - 1 - __builtin_clz(__n); } + { return (int)sizeof(int) * __CHAR_BIT__ - 1 - __builtin_clz(__n); } inline _GLIBCXX_CONSTEXPR long __lg(long __n) - { return sizeof(long) * __CHAR_BIT__ - 1 - __builtin_clzl(__n); } + { return (int)sizeof(long) * __CHAR_BIT__ - 1 - __builtin_clzl(__n); } inline _GLIBCXX_CONSTEXPR unsigned long __lg(unsigned long __n) - { return sizeof(long) * __CHAR_BIT__ - 1 - __builtin_clzl(__n); } + { return (int)sizeof(long) * __CHAR_BIT__ - 1 - __builtin_clzl(__n); } inline _GLIBCXX_CONSTEXPR long long __lg(long long __n) - { return sizeof(long long) * __CHAR_BIT__ - 1 - __builtin_clzll(__n); } + { return (int)sizeof(long long) * __CHAR_BIT__ - 1 - __builtin_clzll(__n); } inline _GLIBCXX_CONSTEXPR unsigned long long __lg(unsigned long long __n) - { return sizeof(long long) * __CHAR_BIT__ - 1 - __builtin_clzll(__n); } + { return (int)sizeof(long long) * __CHAR_BIT__ - 1 - __builtin_clzll(__n); } _GLIBCXX_BEGIN_NAMESPACE_ALGO |