Skip to content

Commit be2e77b

Browse files
c8efMixedMatched
authored andcommitted
[flang] use specialized scan/verify version for char (llvm#161767)
The specialized version has a time complexity of `O(n)`.
1 parent cdf6914 commit be2e77b

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

flang-rt/lib/runtime/character.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -789,7 +789,7 @@ void RTDEF(LenTrim)(Descriptor &result, const Descriptor &string, int kind,
789789

790790
std::size_t RTDEF(Scan1)(const char *x, std::size_t xLen, const char *set,
791791
std::size_t setLen, bool back) {
792-
return ScanVerify<char, CharFunc::Scan>(x, xLen, set, setLen, back);
792+
return ScanVerify<false>(x, xLen, set, setLen, back);
793793
}
794794
std::size_t RTDEF(Scan2)(const char16_t *x, std::size_t xLen,
795795
const char16_t *set, std::size_t setLen, bool back) {
@@ -873,7 +873,7 @@ void RTDEF(Trim)(Descriptor &result, const Descriptor &string,
873873

874874
std::size_t RTDEF(Verify1)(const char *x, std::size_t xLen, const char *set,
875875
std::size_t setLen, bool back) {
876-
return ScanVerify<char, CharFunc::Verify>(x, xLen, set, setLen, back);
876+
return ScanVerify<true>(x, xLen, set, setLen, back);
877877
}
878878
std::size_t RTDEF(Verify2)(const char16_t *x, std::size_t xLen,
879879
const char16_t *set, std::size_t setLen, bool back) {

0 commit comments

Comments
 (0)