CompareToBlankPadding was doing signed compare on architecture where
char is signed. This caused 'abc'//char(128) > 'abc' to evaluate
to false at runtime instead of true.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Comment Actions
Other than my comment about repeated code, all build, tests, and looks good.
flang/runtime/character.cpp | ||
---|---|---|
25–30 | You could avoid some repeated code here: UNSIGNED_CHAR ux = *reinterpret_cast<const UNSIGNED_CHAR *>(x); if (ux < blank) { return -1; } if (ux > blank) { |
You could avoid some repeated code here: