diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2018-11-13 23:44:39 +0000 |
---|---|---|
committer | Jonathan Wakely <redi@gcc.gnu.org> | 2018-11-13 23:44:39 +0000 |
commit | b76a1b3604f8e645402a68c3352e1bc360a5b8f9 (patch) | |
tree | 35de69fbaf7487ceb26653c54292743a4f774b6d | |
parent | 6c4a1d38baf7585617cc5d2b7f26c4fc2a2d926a (diff) | |
download | gcc-b76a1b3604f8e645402a68c3352e1bc360a5b8f9.zip gcc-b76a1b3604f8e645402a68c3352e1bc360a5b8f9.tar.gz gcc-b76a1b3604f8e645402a68c3352e1bc360a5b8f9.tar.bz2 |
Fix error when selecting number of memory pools
* src/c++17/memory_resource.cc (select_num_pools): Fix off-by-one
error when block_size is equal to one of the values in the array.
From-SVN: r266092
-rw-r--r-- | libstdc++-v3/ChangeLog | 3 | ||||
-rw-r--r-- | libstdc++-v3/src/c++17/memory_resource.cc | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 03aaeca..4ea9dbf 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,5 +1,8 @@ 2018-11-13 Jonathan Wakely <jwakely@redhat.com> + * src/c++17/memory_resource.cc (select_num_pools): Fix off-by-one + error when block_size is equal to one of the values in the array. + * src/c++17/memory_resource.cc (_Pool::deallocate): Restore attributes to parameters that are only used in assertions. diff --git a/libstdc++-v3/src/c++17/memory_resource.cc b/libstdc++-v3/src/c++17/memory_resource.cc index cb91e51..605bdd5 100644 --- a/libstdc++-v3/src/c++17/memory_resource.cc +++ b/libstdc++-v3/src/c++17/memory_resource.cc @@ -892,7 +892,7 @@ namespace pmr auto p = std::lower_bound(std::begin(pool_sizes), std::end(pool_sizes), opts.largest_required_pool_block); const int n = p - std::begin(pool_sizes); - if (p == std::end(pool_sizes) || *p == opts.largest_required_pool_block) + if (p == std::end(pool_sizes)) return n; return n + 1; } |