| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent e16964e commit 2cb9f7a
40 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -118,7 +118,7 @@ The externally maintained libraries used by Node.js are: | |||
| 118 | 118 | """ | |
| 119 | 119 | COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later) | |
| 120 | 120 | ||
| 121 | - Copyright © 1991-2019 Unicode, Inc. All rights reserved. | ||
| 121 | + Copyright © 1991-2020 Unicode, Inc. All rights reserved. | ||
| 122 | 122 | Distributed under the Terms of Use in https://www.unicode.org/copyright.html. | |
| 123 | 123 | ||
| 124 | 124 | Permission is hereby granted, free of charge, to any person obtaining | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,6 +1,6 @@ | |||
| 1 | 1 | COPYRIGHT AND PERMISSION NOTICE (ICU 58 and later) | |
| 2 | 2 | ||
| 3 | - Copyright © 1991-2019 Unicode, Inc. All rights reserved. | ||
| 3 | + Copyright © 1991-2020 Unicode, Inc. All rights reserved. | ||
| 4 | 4 | Distributed under the Terms of Use in https://www.unicode.org/copyright.html. | |
| 5 | 5 | ||
| 6 | 6 | Permission is hereby granted, free of charge, to any person obtaining | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,8 +1,8 @@ | |||
| 1 | 1 | ICU sources - auto generated by shrink-icu-src.py | |
| 2 | 2 | ||
| 3 | 3 | This directory contains the ICU subset used by --with-intl=full-icu | |
| 4 | - It is a strict subset of ICU 65 source files with the following exception(s): | ||
| 5 | - * deps/icu-small/source/data/in/icudt65l.dat.bz2 : compressed data file | ||
| 4 | + It is a strict subset of ICU 66 source files with the following exception(s): | ||
| 5 | + * deps/icu-small/source/data/in/icudt66l.dat.bz2 : compressed data file | ||
| 6 | 6 | ||
| 7 | 7 | ||
| 8 | 8 | To rebuild this directory, see ../../tools/icu/README.md | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1340,7 +1340,31 @@ Locale::getUnicodeKeywordValue(StringPiece keywordName, | |||
| 1340 | 1340 | void | |
| 1341 | 1341 | Locale::setKeywordValue(const char* keywordName, const char* keywordValue, UErrorCode &status) | |
| 1342 | 1342 | { | |
| 1343 | - uloc_setKeywordValue(keywordName, keywordValue, fullName, ULOC_FULLNAME_CAPACITY, &status); | ||
| 1343 | + if (U_FAILURE(status)) { | ||
| 1344 | + return; | ||
| 1345 | + } | ||
| 1346 | + int32_t bufferLength = uprv_max((int32_t)(uprv_strlen(fullName) + 1), ULOC_FULLNAME_CAPACITY); | ||
| 1347 | + int32_t newLength = uloc_setKeywordValue(keywordName, keywordValue, fullName, | ||
| 1348 | + bufferLength, &status) + 1; | ||
| 1349 | + /* Handle the case the current buffer is not enough to hold the new id */ | ||
| 1350 | + if (status == U_BUFFER_OVERFLOW_ERROR) { | ||
| 1351 | + U_ASSERT(newLength > bufferLength); | ||
| 1352 | + char* newFullName = (char *)uprv_malloc(newLength); | ||
| 1353 | + if (newFullName == nullptr) { | ||
| 1354 | + status = U_MEMORY_ALLOCATION_ERROR; | ||
| 1355 | + return; | ||
| 1356 | + } | ||
| 1357 | + uprv_strcpy(newFullName, fullName); | ||
| 1358 | + if (fullName != fullNameBuffer) { | ||
| 1359 | + // if full Name is already on the heap, need to free it. | ||
| 1360 | + uprv_free(fullName); | ||
| 1361 | + } | ||
| 1362 | + fullName = newFullName; | ||
| 1363 | + status = U_ZERO_ERROR; | ||
| 1364 | + uloc_setKeywordValue(keywordName, keywordValue, fullName, newLength, &status); | ||
| 1365 | + } else { | ||
| 1366 | + U_ASSERT(newLength <= bufferLength); | ||
| 1367 | + } | ||
| 1344 | 1368 | if (U_SUCCESS(status) && baseName == fullName) { | |
| 1345 | 1369 | // May have added the first keyword, meaning that the fullName is no longer also the baseName. | |
| 1346 | 1370 | initBaseName(status); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -2088,6 +2088,13 @@ uint8_t Normalizer2Impl::getPreviousTrailCC(const uint8_t *start, const uint8_t | |||
| 2088 | 2088 | // minDecompNoCP etc. and smallFCD[] are intended to help with any loss of performance, | |
| 2089 | 2089 | // at least for ASCII & CJK. | |
| 2090 | 2090 | ||
| 2091 | + // Ticket 20907 - The optimizer in MSVC/Visual Studio versions below 16.4 has trouble with this | ||
| 2092 | + // function on Windows ARM64. As a work-around, we disable optimizations for this function. | ||
| 2093 | + // This work-around could/should be removed once the following versions of Visual Studio are no | ||
| 2094 | + // longer supported: All versions of VS2017, and versions of VS2019 below 16.4. | ||
| 2095 | + #if (defined(_MSC_VER) && (defined(_M_ARM64)) && (_MSC_VER < 1924)) | ||
| 2096 | + #pragma optimize( "", off ) | ||
| 2097 | + #endif | ||
| 2091 | 2098 | // Gets the FCD value from the regular normalization data. | |
| 2092 | 2099 | uint16_t Normalizer2Impl::getFCD16FromNormData(UChar32 c) const { | |
| 2093 | 2100 | uint16_t norm16=getNorm16(c); | |
@@ -2121,6 +2128,9 @@ uint16_t Normalizer2Impl::getFCD16FromNormData(UChar32 c) const { | |||
| 2121 | 2128 | } | |
| 2122 | 2129 | return norm16; | |
| 2123 | 2130 | } | |
| 2131 | + #if (defined(_MSC_VER) && (defined(_M_ARM64)) && (_MSC_VER < 1924)) | ||
| 2132 | + #pragma optimize( "", on ) | ||
| 2133 | + #endif | ||
| 2124 | 2134 | ||
| 2125 | 2135 | // Dual functionality: | |
| 2126 | 2136 | // buffer!=NULL: normalize | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -346,6 +346,13 @@ ubidi_writeReverse(const UChar *src, int32_t srcLength, | |||
| 346 | 346 | return u_terminateUChars(dest, destSize, destLength, pErrorCode); | |
| 347 | 347 | } | |
| 348 | 348 | ||
| 349 | + // Ticket 20907 - The optimizer in MSVC/Visual Studio versions below 16.4 has trouble with this | ||
| 350 | + // function on Windows ARM64. As a work-around, we disable optimizations for this function. | ||
| 351 | + // This work-around could/should be removed once the following versions of Visual Studio are no | ||
| 352 | + // longer supported: All versions of VS2017, and versions of VS2019 below 16.4. | ||
| 353 | + #if (defined(_MSC_VER) && (defined(_M_ARM64)) && (_MSC_VER < 1924)) | ||
| 354 | + #pragma optimize( "", off ) | ||
| 355 | + #endif | ||
| 349 | 356 | U_CAPI int32_t U_EXPORT2 | |
| 350 | 357 | ubidi_writeReordered(UBiDi *pBiDi, | |
| 351 | 358 | UChar *dest, int32_t destSize, | |
@@ -638,3 +645,6 @@ ubidi_writeReordered(UBiDi *pBiDi, | |||
| 638 | 645 | ||
| 639 | 646 | return u_terminateUChars(saveDest, destCapacity, destCapacity-destSize, pErrorCode); | |
| 640 | 647 | } | |
| 648 | + #if (defined(_MSC_VER) && (defined(_M_ARM64)) && (_MSC_VER < 1924)) | ||
| 649 | + #pragma optimize( "", on ) | ||
| 650 | + #endif | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments