aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-strlen.c
diff options
context:
space:
mode:
authorPatrick Palka <ppalka@redhat.com>2020-02-28 14:16:06 -0500
committerPatrick Palka <ppalka@redhat.com>2020-02-28 17:55:44 -0500
commitce33801fe4c2272b31c64288b34c67a61529ce37 (patch)
tree60a5ff84a1d13e63770f1fafbed63864e92043c2 /gcc/tree-ssa-strlen.c
parente82192021dd08291ee418cb33bb7af037952e963 (diff)
downloadgcc-ce33801fe4c2272b31c64288b34c67a61529ce37.zip
gcc-ce33801fe4c2272b31c64288b34c67a61529ce37.tar.gz
gcc-ce33801fe4c2272b31c64288b34c67a61529ce37.tar.bz2
libstdc++: Fix bogus use of memcmp in ranges::lexicographical_compare (PR 93972)
We were enabling the memcmp optimization in ranges::lexicographical_compare for signed integral types and for integral types wider than a byte. But memcmp gives the wrong answer for arrays of such types. This patch fixes this issue by refining the condition that enables the memcmp optimization. It's now consistent with the corresponding condition used in std::lexicographical_compare. libstdc++-v3/ChangeLog: PR libstdc++/93972 * include/bits/ranges_algo.h (__lexicographical_compare_fn::operator()): Fix condition for when to use memcmp, making it consistent with the corresponding condition used in std::lexicographical_compare. * testsuite/25_algorithms/lexicographical_compare/93972.cc: New test.
Diffstat (limited to 'gcc/tree-ssa-strlen.c')
0 files changed, 0 insertions, 0 deletions