summaryrefslogtreecommitdiff
path: root/external
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2021-05-11 23:34:24 +0200
committerEike Rathke <erack@redhat.com>2021-05-12 15:27:04 +0200
commitc2a3a1f1ad3b48b294203da6b4aff125d2cee229 (patch)
tree5f03f9b31b6f6b8d86716cb7154c4e9be9d8d8ed /external
parent6b1d5bafdc722d07d3dc4980764275a6caa707ba (diff)
Update to ICU 69.1
Change-Id: I32836175a877349777dcbb6eb7b0d813aa31199a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115479 Reviewed-by: Eike Rathke <erack@redhat.com> Tested-by: Jenkins
Diffstat (limited to 'external')
-rw-r--r--external/icu/UnpackedTarball_icu.mk4
-rw-r--r--external/icu/icu4c-khmerbreakengine.patch.128
-rw-r--r--external/icu/ubsan.patch.138
3 files changed, 14 insertions, 56 deletions
diff --git a/external/icu/UnpackedTarball_icu.mk b/external/icu/UnpackedTarball_icu.mk
index a59d6e8b97d7..2e455a7dcc24 100644
--- a/external/icu/UnpackedTarball_icu.mk
+++ b/external/icu/UnpackedTarball_icu.mk
@@ -36,12 +36,12 @@ $(eval $(call gb_UnpackedTarball_add_patches,icu,\
external/icu/c++20-comparison.patch \
external/icu/ubsan.patch.1 \
external/icu/Wdeprecated-copy-dtor.patch \
- external/icu/icu4c-khmerbreakengine.patch.1 \
external/icu/strict_ansi.patch \
external/icu/icu4c-windows-cygwin-cross.patch.1 \
+ external/icu/icu4c-emscripten-cross.patch.1 \
+ external/icu/icu4c-khmerbreakengine.patch.1 \
external/icu/icu4c-$(if $(filter ANDROID,$(OS)),android,rpath).patch.1 \
$(if $(filter-out ANDROID,$(OS)),external/icu/icu4c-icudata-stdlibs.patch.1) \
- external/icu/icu4c-emscripten-cross.patch.1 \
))
$(eval $(call gb_UnpackedTarball_add_file,icu,source/data/brkitr/khmerdict.dict,external/icu/khmerdict.dict))
diff --git a/external/icu/icu4c-khmerbreakengine.patch.1 b/external/icu/icu4c-khmerbreakengine.patch.1
index 272d0b8ab204..0ce46ac473ec 100644
--- a/external/icu/icu4c-khmerbreakengine.patch.1
+++ b/external/icu/icu4c-khmerbreakengine.patch.1
@@ -1,6 +1,6 @@
diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
---- icu.org/source/common/dictbe.cpp 2020-04-22 22:04:20.000000000 +0200
-+++ icu/source/common/dictbe.cpp 2020-05-11 18:55:07.702282061 +0200
+--- icu.org/source/common/dictbe.cpp 2021-04-08 02:10:27.000000000 +0200
++++ icu/source/common/dictbe.cpp 2021-05-11 22:41:25.504455054 +0200
@@ -32,7 +32,19 @@
******************************************************************
*/
@@ -216,7 +216,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
// Dictionary leaves text after longest prefix, not longest word. Back up.
if (count <= 0) {
utext_setNativeIndex(text, start);
-@@ -815,53 +990,30 @@
+@@ -803,53 +978,30 @@
* KhmerBreakEngine
*/
@@ -282,7 +282,7 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
UTRACE_EXIT_STATUS(status);
}
-@@ -874,180 +1026,204 @@
+@@ -862,176 +1014,204 @@
int32_t rangeStart,
int32_t rangeEnd,
UVector32 &foundBreaks ) const {
@@ -357,13 +357,9 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
- goto foundBest;
- }
- do {
-- int32_t wordsMatched = 1;
- if (words[(wordsFound + 1) % KHMER_LOOKAHEAD].candidates(text, fDictionary, rangeEnd) > 0) {
-- if (wordsMatched < 2) {
-- // Followed by another dictionary word; mark first word as a good candidate
-- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
-- wordsMatched = 2;
-- }
+- // Followed by another dictionary word; mark first word as a good candidate
+- words[wordsFound % KHMER_LOOKAHEAD].markCurrent();
+ utext_setNativeIndex(text, rangeStart);
+ int32_t numCodePts = rangeEnd - rangeStart;
+ // bestSnlp[i] is the snlp of the best segmentation of the first i
@@ -639,8 +635,8 @@ diff -ur icu.org/source/common/dictbe.cpp icu/source/common/dictbe.cpp
#if !UCONFIG_NO_NORMALIZATION
diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
---- icu.org/source/common/dictbe.h 2020-04-22 22:04:20.000000000 +0200
-+++ icu/source/common/dictbe.h 2020-05-11 19:08:24.754634732 +0200
+--- icu.org/source/common/dictbe.h 2021-04-08 02:10:27.000000000 +0200
++++ icu/source/common/dictbe.h 2021-05-11 22:37:49.753857647 +0200
@@ -34,7 +34,8 @@
* threads without synchronization.</p>
*/
@@ -757,8 +753,8 @@ diff -ur icu.org/source/common/dictbe.h icu/source/common/dictbe.h
/**
diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionarydata.cpp
---- icu.org/source/common/dictionarydata.cpp 2020-04-22 22:04:20.000000000 +0200
-+++ icu/source/common/dictionarydata.cpp 2020-05-11 18:50:43.703113749 +0200
+--- icu.org/source/common/dictionarydata.cpp 2021-04-08 02:10:27.000000000 +0200
++++ icu/source/common/dictionarydata.cpp 2021-05-11 22:37:49.754857645 +0200
@@ -44,7 +44,7 @@
int32_t UCharsDictionaryMatcher::matches(UText *text, int32_t maxLength, int32_t limit,
@@ -806,8 +802,8 @@ diff -ur icu.org/source/common/dictionarydata.cpp icu/source/common/dictionaryda
if (values != NULL) {
values[wordCount] = bt.getValue();
diff -ur icu.org/source/common/dictionarydata.h icu/source/common/dictionarydata.h
---- icu.org/source/common/dictionarydata.h 2020-04-22 22:04:20.000000000 +0200
-+++ icu/source/common/dictionarydata.h 2020-05-11 18:50:43.704113746 +0200
+--- icu.org/source/common/dictionarydata.h 2021-04-08 02:10:27.000000000 +0200
++++ icu/source/common/dictionarydata.h 2021-05-11 22:37:49.754857645 +0200
@@ -21,6 +21,7 @@
#include "unicode/utext.h"
#include "unicode/udata.h"
diff --git a/external/icu/ubsan.patch.1 b/external/icu/ubsan.patch.1
index 1d7006347bd3..1c10f8cefcc2 100644
--- a/external/icu/ubsan.patch.1
+++ b/external/icu/ubsan.patch.1
@@ -1,41 +1,3 @@
---- a/source/common/rbbitblb.cpp
-+++ a/source/common/rbbitblb.cpp
-@@ -1402,12 +1402,13 @@
- U_ASSERT (sd->fAccepting <= 255);
- U_ASSERT (sd->fLookAhead <= 255);
- U_ASSERT (0 <= sd->fTagsIdx && sd->fTagsIdx <= 255);
-- row->r8.fAccepting = sd->fAccepting;
-- row->r8.fLookAhead = sd->fLookAhead;
-- row->r8.fTagsIdx = sd->fTagsIdx;
-+ RBBIStateTableRow8 *row8 = reinterpret_cast<RBBIStateTableRow8 *>(row);
-+ row8->fAccepting = sd->fAccepting;
-+ row8->fLookAhead = sd->fLookAhead;
-+ row8->fTagsIdx = sd->fTagsIdx;
- for (col=0; col<catCount; col++) {
- U_ASSERT (sd->fDtran->elementAti(col) <= kMaxStateFor8BitsTable);
-- row->r8.fNextState[col] = sd->fDtran->elementAti(col);
-+ row8->fNextState[col] = sd->fDtran->elementAti(col);
- }
- } else {
- U_ASSERT (sd->fAccepting <= 0xffff);
-@@ -1603,12 +1603,13 @@
- UnicodeString *rowString = (UnicodeString *)fSafeTable->elementAt(state);
- RBBIStateTableRow *row = (RBBIStateTableRow *)(table->fTableData + state*table->fRowLen);
- if (use8BitsForSafeTable()) {
-- row->r8.fAccepting = 0;
-- row->r8.fLookAhead = 0;
-- row->r8.fTagsIdx = 0;
-+ RBBIStateTableRow8 *row8 = reinterpret_cast<RBBIStateTableRow8 *>(row);
-+ row8->fAccepting = 0;
-+ row8->fLookAhead = 0;
-+ row8->fTagsIdx = 0;
- for (col=0; col<catCount; col++) {
- U_ASSERT(rowString->charAt(col) <= kMaxStateFor8BitsTable);
-- row->r8.fNextState[col] = static_cast<uint8_t>(rowString->charAt(col));
-+ row8->fNextState[col] = static_cast<uint8_t>(rowString->charAt(col));
- }
- } else {
- row->r16.fAccepting = 0;
diff -ur icu.org/source/tools/genrb/rbutil.c icu/source/tools/genrb/rbutil.c
--- icu.org/source/tools/genrb/rbutil.c 2020-10-28 22:21:12.000000000 +0100
+++ icu/source/tools/genrb/rbutil.c 2020-11-16 19:50:44.005119253 +0100