[Bug libstdc++/93972] New: ranges::lexicographical_compare gives wrong answer for signed integers
redi at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Feb 28 17:57:00 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93972
Bug ID: 93972
Summary: ranges::lexicographical_compare gives wrong answer for
signed integers
Product: gcc
Version: 10.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: redi at gcc dot gnu.org
CC: ppalka at gcc dot gnu.org
Target Milestone: ---
// -std=gnu++2a
#include <algorithm>
#include <assert.h>
int main()
{
int i[] = { -1 };
int j[] = { 1 };
assert( std::ranges::lexicographical_compare(i, j) );
}
a.out: range.cc:8: int main(): Assertion
`std::ranges::lexicographical_compare(i, j)' failed.
Aborted (core dumped)
It's not valid to use memcmp for signed integers.
More information about the Gcc-bugs
mailing list