Index: clang-tools-extra/clangd/SourceCode.cpp =================================================================== --- clang-tools-extra/clangd/SourceCode.cpp +++ clang-tools-extra/clangd/SourceCode.cpp @@ -58,8 +58,8 @@ // A codepoint takes two UTF-16 code unit if it's astral (outside BMP). // 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(U8[I]); - if (LLVM_LIKELY(!(C & 0x100))) { // ASCII or extended ASCII character. + unsigned short C = static_cast(U8[I]); + if (LLVM_LIKELY(C <= 255)) { // ASCII or extended ASCII character. if (CB(1, 1)) return true; ++I;