aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2018-06-22 14:05:20 +0100
committerJonathan Wakely <redi@gcc.gnu.org>2018-06-22 14:05:20 +0100
commit0b4bc9a1e806d25bb9c290368f2650d4e6bb8d1c (patch)
tree77a371b72dd2234b08eab3d4b8b9efd4a13e7a1c
parent5885a1bd530e77cbe82578d07c59771e59a87c28 (diff)
downloadgcc-0b4bc9a1e806d25bb9c290368f2650d4e6bb8d1c.zip
gcc-0b4bc9a1e806d25bb9c290368f2650d4e6bb8d1c.tar.gz
gcc-0b4bc9a1e806d25bb9c290368f2650d4e6bb8d1c.tar.bz2
PR libstdc++/86280 fix undefined left shift on 32-bit targets
PR libstdc++/86280 * include/experimental/memory_resource (__resource_adaptor_common::_AlignMgr::_M_token_size): Use type large enough for result of left shift. From-SVN: r261888
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/experimental/memory_resource2
2 files changed, 6 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index 1c4e467..cf644b4 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,5 +1,10 @@
2018-06-22 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/86280
+ * include/experimental/memory_resource
+ (__resource_adaptor_common::_AlignMgr::_M_token_size): Use type large
+ enough for result of left shift.
+
PR libstdc++/86138
* include/bits/basic_string.tcc:
[__cplusplus > 201402 && !_GLIBCXX_USE_CXX11_ABI]
diff --git a/libstdc++-v3/include/experimental/memory_resource b/libstdc++-v3/include/experimental/memory_resource
index 8f5a8df..1965fdc 100644
--- a/libstdc++-v3/include/experimental/memory_resource
+++ b/libstdc++-v3/include/experimental/memory_resource
@@ -326,7 +326,7 @@ namespace pmr {
return 1;
if (_M_align <= (1ul << (sizeof(short) * __CHAR_BIT__)))
return sizeof(short);
- if (_M_align <= (1ul << (sizeof(int) * __CHAR_BIT__)))
+ if (_M_align <= (1ull << (sizeof(int) * __CHAR_BIT__)))
return sizeof(int);
return sizeof(char*);
}