aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-ch.c
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2021-04-27 23:21:19 -0400
committerPatrick Palka <ppalka@redhat.com>2021-04-27 23:21:19 -0400
commitd91e7eab3a2c3957c2220ad71e62d9fc78cccb9b (patch)
tree357e278d650907024a969ccd8da67cd82fbe4185 /gcc/tree-ssa-loop-ch.c
parent8f54dd61e79842eebf678571b9987bda7502f3aa (diff)
downloadgcc-d91e7eab3a2c3957c2220ad71e62d9fc78cccb9b.zip
gcc-d91e7eab3a2c3957c2220ad71e62d9fc78cccb9b.tar.gz
gcc-d91e7eab3a2c3957c2220ad71e62d9fc78cccb9b.tar.bz2
libstdc++: Fix various bugs in ranges_algo.h [PR100187, ...]
This fixes some bugs with our ranges algorithms in uncommon situations, such as when the return type of a predicate is a non-copyable class type that's implicitly convertible to bool (PR100187), when a comparison predicate isn't invocable as an rvalue (PR100237), and when the return type of a projection function is non-copyable (PR100249). This also fixes PR100287, which reports that we're moving __first twice when constructing with it an empty subrange in ranges::partition. libstdc++-v3/ChangeLog: PR libstdc++/100187 PR libstdc++/100237 PR libstdc++/100249 PR libstdc++/100287 * include/bits/ranges_algo.h (__search_n_fn::operator()): Give the __value_comp lambda an explicit bool return type. (__is_permutation_fn::operator()): Give the __proj_scan local variable auto&& return type. Give the __comp_scan lambda an explicit bool return type. (__remove_fn::operator()): Give the __pred lambda an explicit bool return type. (__partition_fn::operator()): Don't std::move __first twice when returning an empty subrange. (__min_fn::operator()): Don't std::move __comp. (__max_fn::operator()): Likewise. (__minmax_fn::operator()): Likewise.
Diffstat (limited to 'gcc/tree-ssa-loop-ch.c')
0 files changed, 0 insertions, 0 deletions