AnakinZheng created this revision. AnakinZheng added reviewers: kadircet, sammccall. AnakinZheng added a project: clang. Herald added subscribers: cfe-commits, usaxena95, arphaman, jkorous, MaskRay, ilya-biryukov.
Previously this piece of code asserts when processing extended ASCII. Proposing a fix to extend the ascii handling code to take extended ascii as well. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D74731 Files: clang-tools-extra/clangd/SourceCode.cpp Index: clang-tools-extra/clangd/SourceCode.cpp =================================================================== --- clang-tools-extra/clangd/SourceCode.cpp +++ clang-tools-extra/clangd/SourceCode.cpp @@ -59,7 +59,7 @@ // Astral codepoints are encoded as 4 bytes in UTF-8, starting with 11110xxx. for (size_t I = 0; I < U8.size();) { unsigned char C = static_cast<unsigned char>(U8[I]); - if (LLVM_LIKELY(!(C & 0x80))) { // ASCII character. + if (LLVM_LIKELY(!(C & 0x100))) { // ASCII or extended ASCII character. if (CB(1, 1)) return true; ++I;
Index: clang-tools-extra/clangd/SourceCode.cpp =================================================================== --- clang-tools-extra/clangd/SourceCode.cpp +++ clang-tools-extra/clangd/SourceCode.cpp @@ -59,7 +59,7 @@ // Astral codepoints are encoded as 4 bytes in UTF-8, starting with 11110xxx. for (size_t I = 0; I < U8.size();) { unsigned char C = static_cast<unsigned char>(U8[I]); - if (LLVM_LIKELY(!(C & 0x80))) { // ASCII character. + if (LLVM_LIKELY(!(C & 0x100))) { // ASCII or extended ASCII character. if (CB(1, 1)) return true; ++I;
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits