No Issue - Fixes for building with LLVM 19 included with FreeBSD 13.5. Fix a conflict with libc++ 19 and the old Mozilla (re)alloc macros. LLVM 18+ does not allow std::char_traits<unsigned char> so avoid it. https://bugzilla.mozilla.org/show_bug.cgi?id=1849070 Partial NSS upgrade to replace ByteString with a class. https://bugzilla.mozilla.org/show_bug.cgi?id=1851092

This commit is contained in:
Brian Smith 2025-05-05 13:12:42 -05:00 • committed by roytam1
commit e8b3077d4f
3 changed files with 48 additions and 7 deletions

View file

@ -746,8 +746,9 @@ static inline auto FindUnicodeExtensionType(JSLinearString* unicodeExtension,
UnicodeKey key) {
JS::AutoCheckCannotGC nogc;
return unicodeExtension->hasLatin1Chars()
? FindUnicodeExtensionType(unicodeExtension->latin1Chars(nogc),
unicodeExtension->length(), key)
? FindUnicodeExtensionType(
reinterpret_cast<const char*>(unicodeExtension->latin1Chars(nogc)),
unicodeExtension->length(), key)
: FindUnicodeExtensionType(unicodeExtension->twoByteChars(nogc),
unicodeExtension->length(), key);
}
@ -858,7 +859,9 @@ static BaseNamePartsResult BaseNameParts(const CharT* baseName, size_t length) {
static inline auto BaseNameParts(JSLinearString* baseName) {
JS::AutoCheckCannotGC nogc;
return baseName->hasLatin1Chars()
? BaseNameParts(baseName->latin1Chars(nogc), baseName->length())
? BaseNameParts(
reinterpret_cast<const char*>(baseName->latin1Chars(nogc)),
baseName->length())
: BaseNameParts(baseName->twoByteChars(nogc), baseName->length());
}