]> granicus.if.org Git - icu/log
icu
6 years agoICU-20083 Merge pull request #70 from aheninger/ICU-20083
Andy Heninger [Wed, 22 Aug 2018 17:28:54 +0000 (10:28 -0700)]
ICU-20083 Merge pull request #70 from aheninger/ICU-20083

ICU-20083 Enable Address sanitizer in ICU4C builds.

6 years agoICU-20061 fix 'rm: cannot remove 'current'' warning during build (#65)
sav-ix [Tue, 21 Aug 2018 18:07:01 +0000 (21:07 +0300)]
ICU-20061 fix 'rm: cannot remove 'current'' warning during build (#65)

need to use force removal in order to not make noise in stderr.

6 years agoICU-20083 Enable Address Sanitizer for ICU4C Build.
Andy Heninger [Tue, 21 Aug 2018 19:56:10 +0000 (12:56 -0700)]
ICU-20083 Enable Address Sanitizer for ICU4C Build.

6 years agoICU-20051 fix 'goods=: command not found' warning during build (#64)
sav-ix [Tue, 21 Aug 2018 18:06:32 +0000 (21:06 +0300)]
ICU-20051 fix 'goods=: command not found' warning during build (#64)

a typo 'test/Makefile.in' made noise in stderr.

additionally brought similar code to the common view.

6 years agoICU-13696 Parse local currency ISO codes as case-insensitive. (#62)
Shane [Tue, 21 Aug 2018 00:41:36 +0000 (17:41 -0700)]
ICU-13696 Parse local currency ISO codes as case-insensitive. (#62)

6 years agoICU-20079 integer overflow & divide by zero sanitizer fixes. (#67)
Andy Heninger [Mon, 20 Aug 2018 23:40:46 +0000 (16:40 -0700)]
ICU-20079 integer overflow & divide by zero sanitizer fixes. (#67)

6 years agoICU-20001 Adding alignas to static-allocated memory.
Shane [Thu, 16 Aug 2018 02:01:10 +0000 (21:01 -0500)]
ICU-20001 Adding alignas to static-allocated memory.

Should fix possible crashes on ARM platforms. (#63)

6 years agoICU-20000 Workaround for BigDecimal.stripTrailingZeros() differences. (#57)
Fredrik Roubert [Thu, 16 Aug 2018 00:54:32 +0000 (02:54 +0200)]
ICU-20000 Workaround for BigDecimal.stripTrailingZeros() differences. (#57)

Different implementations of BigDecimal.stripTrailingZeros(), in
different versions of the JDK (and different versions of Android), have
differences in their handling of zero. To avoid this, ICU4J can return
BigDecimal.ZERO for any value that is equal to zero, instead of calling
BigDecimal.stripTrailingZeros() in this problematic case.

6 years agoICU-13530 Use LocalPointer instead of raw new in umutablecptrie.cpp (#59)
Jeff Genovy [Wed, 15 Aug 2018 21:16:08 +0000 (14:16 -0700)]
ICU-13530 Use LocalPointer instead of raw new in umutablecptrie.cpp (#59)

Use LocalPointer instead of raw new in umutablecptrie.cpp so that an ErrorCode will be set in the case of out-of-memory (OOM) failures.

6 years agoICU-20054 Revert "ICU-20054 Adding depstest *.pyc to gitignore"
Fredrik Roubert [Wed, 15 Aug 2018 09:05:29 +0000 (11:05 +0200)]
ICU-20054 Revert "ICU-20054 Adding depstest *.pyc to gitignore"

This reverts commit b3629170a80489a94a8f93d0008beb72584c6540.

Made obsolete by commit bfc0093b7f776f0137ddd7bc9ef98f118842dd6e.

6 years agoICU-13776 Use OpenType.DIRECT for loading the keyTypeData resources.
Fredrik Roubert [Mon, 13 Aug 2018 21:32:59 +0000 (23:32 +0200)]
ICU-13776 Use OpenType.DIRECT for loading the keyTypeData resources.

6 years agoICU-13530 add UCPTrie/CodePointTrie, switch normalization to use it (#48)
Markus Scherer [Tue, 14 Aug 2018 21:04:10 +0000 (14:04 -0700)]
ICU-13530 add UCPTrie/CodePointTrie, switch normalization to use it (#48)

* ICU-13530 copy C/C++ files UTrie2 -> UTrie3

X-SVN-Rev: 40754

* ICU-13530 UTrie3 new files copied from UTrie2: rename types/functions/macros

X-SVN-Rev: 40755

* ICU-13530 debug-print building each UTrie2

X-SVN-Rev: 40756

* ICU-13530 remove two-byte-UTF-8 errorValue block; move highValue from end of data array into header; add errorValue to header

X-SVN-Rev: 40762

* ICU-13530 UTrie3 U16_NEXT/PREV: errorValue for unpaired surrogates

X-SVN-Rev: 40763

* ICU-13530 no more separate values for lead surrogate code units

X-SVN-Rev: 40764

* ICU-13530 change from 11:5 trie bits to 10:6 for simpler UTF-8 code

X-SVN-Rev: 40766

* ICU-13530 UTrie2 build UTrie3 as well, print sizes

X-SVN-Rev: 40767

* ICU-13530 debug-print countSame, sumOverlaps, countInitial

X-SVN-Rev: 40768

* ICU-13530 debug-print whether trie is for CanonIterData

X-SVN-Rev: 40769

* ICU-13530 no index-shift for BMP data, no separate index-2 for 2-byte UTF-8; builder changes incomplete

X-SVN-Rev: 40777

* ICU-13530 remove errorValue and highStart from UNewTrie3

X-SVN-Rev: 40778

* ICU-13530 rewrite UTrie3 builder code

X-SVN-Rev: 40783

* ICU-13530 UTrie3 bug fixes

X-SVN-Rev: 40788

* ICU-13530 fully re-inline _UTRIE3_U8_NEXT()

X-SVN-Rev: 40790

* ICU-13530 find most common all-same data block for dataNullBlock and initialValue

X-SVN-Rev: 40792

* ICU-13530 UTrie3 iterator functions take start and return the end of a range, rather than callback call for each range

X-SVN-Rev: 40800

* ICU-13530 mask off unused data value bits before building a UTrie3 with values less than 32 bits wide

X-SVN-Rev: 40803

* ICU-13530 split utrie3builder.h out of utrie3.h

X-SVN-Rev: 40804

* ICU-13530 separate types UTrie3 vs. UTrie3Builder, implement builder as wrapper over C++ class Trie3Builder in .cpp

X-SVN-Rev: 40809

* ICU-13530 function to make a UTrie3Builder from a UTrie3

X-SVN-Rev: 40810

* ICU-13530 debug-print some data; some cleanup

X-SVN-Rev: 40865

* ICU-13530 BMP 10:6 but supplementary 10:6:4

X-SVN-Rev: 40984

* ICU-13530 move errorValue & highValue to the end of the data table, minimal padding to 4 bytes

X-SVN-Rev: 41011

* ICU-13530 index-1 table gap of index-2 null blocks

X-SVN-Rev: 41018

* ICU-13530 test with more than 128k compacted data

X-SVN-Rev: 41034

* ICU-13530 supplementary bits 11:5:4 saves a little space

X-SVN-Rev: 41039

* ICU-13530 supplementary bits 6:5:5:4 instead of gap: about same size but simpler

X-SVN-Rev: 41050

* ICU-13530 remove unnecessary utrie3_clone(built trie)

X-SVN-Rev: 41058

* ICU-13530 remove unnecessary UTrie3StringIterator

X-SVN-Rev: 41059

* ICU-13530 back to UTRIE3_GET...() macros *returning* data values

X-SVN-Rev: 41060

* ICU-13530 fast vs. small

X-SVN-Rev: 41066

* ICU-13530 always load NFC data, add simple normalization performance test

X-SVN-Rev: 41110

* ICU-13530 change normalization main trie to UTrie3 with special values for lead surrogates; forbid non-inert surrogate code *points* because unable to store values different from code *units*; runtime code work around that for code point lookup and iteration; adjust UTS 46 for normalization no longer mapping unpaired surrogates to U+FFFD

X-SVN-Rev: 41122

* ICU-13530 simplenormperf bug fix and NFC base line

X-SVN-Rev: 41126

* ICU-13530 move normalization getRange skipping lead surrogates to API getRangeSkipLead()

X-SVN-Rev: 41182

* ICU-13530 switch CanonIterData and gennorm2 Norms to UTrie3

X-SVN-Rev: 41183

* ICU-13530 remove unused overwrite parameter from setRange()

X-SVN-Rev: 41184

* ICU-13530 getRange skip lead -> fixed surrogates

X-SVN-Rev: 41219

* ICU-13530 minor cleanup

X-SVN-Rev: 41221

* ICU-13530 UTS 46 code map unpaired surrogates to U+FFFD before normalization

X-SVN-Rev: 41224

* ICU-13530 minor internal-docs cleanup

X-SVN-Rev: 41225

* ICU-13530 rename UTrie3 to UCPTrie, and other name changes

X-SVN-Rev: 41226

* ICU-13530 add 8-bit data option; add type-any & valueBits-any for fromBinary(); macros consistently source type then data width

X-SVN-Rev: 41234

* ICU-13530 scrub the API docs for the proposal

X-SVN-Rev: 41319

* ICU-13530 tag internal definitions as such, or move them to an internal header

X-SVN-Rev: 41320

* ICU-13530 Java API skeleton

X-SVN-Rev: 41326

* ICU-13530 API feedback: ValueWidth, MutableCodePointTrie, base CodePointMap, ...

X-SVN-Rev: 41382

* ICU-13530 add UCPTrie valueWidth field and padding, and combine data pointers into a union

X-SVN-Rev: 41408

* ICU-13530 switch some macros to using dataAccess parameter: separate index vs. data lookups, no macro variant for each value width

X-SVN-Rev: 41409

* ICU-13530 StringIterator is no longer a java.util.Iterator (bad fit)

X-SVN-Rev: 41455

* ICU-13530 CodePointTrie.java code complete

X-SVN-Rev: 41518

* ICU-13530 finish Java port incl test; keep C++ parallel

* ICU-13530 adjust API for feedback: rename HandleValue to FilterValue, change getRange+getRangeFixedSurr(bool allSurr) to enum RangeOption+getRange(enum option); change remaining C macros to use dataAccess for 16/32/8-bit value widths; fix/clarify some API docs

* ICU-13530 add javadoc

* ICU-13530 document UCPTrie binary data format

* ICU-13530 update .nrm formatVersion 3->4, document change in surrogate handling with new trie

* ICU-13530 re-hardcode NFC data

* move trie swapper code into new file; add new files to Windows project files; turn off trie debugging

* ICU-13530 minor cleanup

* ICU-13530 test more range starts; fix a C test leak

* ICU-13530 regenerate Java data from scratch

* ICU-13530 review feedback changes: API docs typos, more @internal, C++11 field initializers, fix potential leak in MutableCodePointTrie::fromUCPTrie()

* ICU-13530 rename interface FilterValue to ValueFilter

6 years agoICU-13413 Merge pull request #43 from yumaoka/icu4j-java7
Yoshito Umaoka [Tue, 14 Aug 2018 20:47:37 +0000 (16:47 -0400)]
ICU-13413 Merge pull request #43 from yumaoka/icu4j-java7

ICU-13413 Update the minimum Java runtime version to 7

6 years agoICU-12505 U_HAVE_STD_ATOMICS, reduce & simplify configure options. (#52)
Andy Heninger [Tue, 14 Aug 2018 01:25:05 +0000 (18:25 -0700)]
ICU-12505 U_HAVE_STD_ATOMICS, reduce & simplify configure options. (#52)

6 years agoICU-13413 More clean-ups for code redundant/unnecessary for Java 7 and up
Yoshito Umaoka [Tue, 14 Aug 2018 00:12:53 +0000 (20:12 -0400)]
ICU-13413 More clean-ups for code redundant/unnecessary for Java 7 and up

Simplified redundant code and removed unnecessary code path for Java 7 and later runtime in various places. Also cleaned up stale comments.

There is one test code change in com.ibm.icu.dev.test.localespi.NumberFormatTest - number keyword in test case was changed to Arab to arab. This test case was skipped with Java 6 runtime. It looks this code was note tested on Java 7 and later. @number=Arab does not work because it's case sensitive and must be all lower case letters.

6 years agoICU-20065 Merge pull request #54 from pedberg-icu/20065
pedberg-icu [Mon, 13 Aug 2018 22:35:59 +0000 (15:35 -0700)]
ICU-20065 Merge pull request #54 from pedberg-icu/20065

ICU-20065 Prevent crash on Collator::makeInstance fail when optimized…

6 years agoICU-13413 Updated eclipse plugin build/project files to use Java 7 as bootstrap java...
Yoshito Umaoka [Fri, 3 Aug 2018 22:18:18 +0000 (18:18 -0400)]
ICU-13413 Updated eclipse plugin build/project files to use Java 7 as bootstrap java version

6 years agoICU-13138 fix ICU data binary naming for builds with Static layout (#44)
sav-ix [Mon, 13 Aug 2018 16:18:20 +0000 (19:18 +0300)]
ICU-13138 fix ICU data binary naming for builds with Static layout (#44)

* ICU-13138 do not create symlink to Static ICU Data binary

For builds using mingw-w64 and MSVC with Static layout,
ICU installation folder contains '.dll' file, which is
a symbolic link to '.a' or '.lib' Data binary.

This have no sense anyway, since it can't be used as
binary with shared layout.

* ICU-13138 mingw: add lib prefix to Static Data binary name

For builds using mingw-w64 with Static layout, missing 'lib'
prefix in ICU Data binary name leads to Stubdata binary use
during ICU extras, samples and tests build. ICU Stubdata
binary also substitutes Data in installation directory.

The above leads to runtime errors of ICU tools, tests and
ICU-based software.

Thus need to add 'lib' prefix to ICU Data binary name during
Pkgdata run.

Task-number: ICU-13138
Task-number: ICU-13187

6 years agoICU-20065 Fix bad wording in comment
Peter Edberg [Mon, 13 Aug 2018 20:46:22 +0000 (13:46 -0700)]
ICU-20065 Fix bad wording in comment

6 years agoICU-13413 Updated ULocale class to directly calls Java 7 Locale methods
Yoshito Umaoka [Sat, 28 Jul 2018 05:14:46 +0000 (01:14 -0400)]
ICU-13413 Updated ULocale class to directly calls Java 7 Locale methods

Previously, ULocale had to work on Java 6, therefore, Java 7 specific Locale methods needed to be invoked by reflection. For the next release, we can directly call Java 7 Locale APIs, so rather complicated reflection implementation were replaced with simple API calls.

6 years agoICU-20043 ICU-13214 ICU-13764 MSVC W3 and W4 warning cleanup (#53)
Daniel Ju [Sat, 11 Aug 2018 01:05:58 +0000 (18:05 -0700)]
ICU-20043 ICU-13214 ICU-13764 MSVC W3 and W4 warning cleanup (#53)

Cleaned up all of the MSVC W3 warnings and most of the W4 warnings in the common and i18n projects.

6 years agoICU-20065 Prevent crash on Collator::makeInstance fail when optimized, add test
Peter Edberg [Sun, 12 Aug 2018 00:52:00 +0000 (17:52 -0700)]
ICU-20065 Prevent crash on Collator::makeInstance fail when optimized, add test

6 years agoICU-13413 Migrating some Utility class methods with Java 7 Objects class method
Yoshito Umaoka [Fri, 27 Jul 2018 21:20:55 +0000 (17:20 -0400)]
ICU-13413 Migrating some Utility class methods with Java 7 Objects class method

Previously, some developers accidentally introduced Java 7 Objects class utility methods. At that time, we once added Java 6 compatible implementation in com.ibm.icu.impl.Utility class. Now, we use Java 7 as the minimum supported Java version, so we can use Java 7 Objects class and methods.

There are some extra changes dropping generics type from constructor. For example from `ArrayList<String> output = new ArrayList<String>();` to `ArrayList<String> output = new ArrayList<>();`. The updated syntax is allowed since Java 7. We have eclipse project configured to normalize such expression, therefore, files touched by this commit were automatically updated. These changes are not directly related to Java 7 Objects method replacement.

6 years agoICU-7270 Line Break rule LB8 updated for UAX-14 conformance. (#41)
Andy Heninger [Thu, 9 Aug 2018 18:28:55 +0000 (11:28 -0700)]
ICU-7270 Line Break rule LB8 updated for UAX-14 conformance. (#41)

Includes all line break tailorings.
Corresponding updates to monkey test rules.
State table builder, fix missed table optimization, uncovered by new rule.

6 years agoICU-13413 Java 7 migration in build scripts and eclipse project files
Yoshito Umaoka [Fri, 27 Jul 2018 20:30:52 +0000 (16:30 -0400)]
ICU-13413 Java 7 migration in build scripts and eclipse project files

- Updated javac/javadoc source and target Java version to 1.7.
- Eclipse projects to use execution environment JavaSE-1.7.
- Replaced java6.bootclasspath with java7.bootclasspath.
- Removed pre-Java 7 conditional build targets.
- Deleted stylesheet for JDK6 build.

6 years agoICU-13686 ICU4C: Prevent double file separators on data file paths. (#42)
Jeff Genovy [Wed, 8 Aug 2018 19:13:42 +0000 (12:13 -0700)]
ICU-13686 ICU4C: Prevent double file separators on data file paths. (#42)

ICU very often ends up with double separators in the file paths used to open files. This change prevents extra slashes on data file paths.
- The feedback from Markus was that the suffix shouldn't really start with a separator.
- It turns out that the suffix can be used for either a file extension (like .dat or .res) or for an actual item name as well (like ibm-5348_P100-1997.cnv).
- If the suffix is an extension then we don't want to append the separator at all. We only want to append it if the suffix is an item name.
- Also use a StringPiece to save repeated implicit calls to uprv_strlen.

6 years agoICU-13814 Fix define for excluding renaming from VS IntelliSense, so F12 works. ...
Jeff Genovy [Wed, 8 Aug 2018 18:38:28 +0000 (11:38 -0700)]
ICU-13814 Fix define for excluding renaming from VS IntelliSense, so F12 works. (#22)

In the prior change for this ticket the logic was mixed up. For IntelliSense we actually want to turn *off* the renaming defines so that VS doesn't get confused when you press F12.

6 years agoICU-20007 Remove incorrect ICU4J doc of DecimalFormat.setGroupingUsed
Victor Chang [Tue, 7 Aug 2018 16:03:25 +0000 (17:03 +0100)]
ICU-20007 Remove incorrect ICU4J doc of DecimalFormat.setGroupingUsed

DecimalFormat.setGroupingUsed(true) no longer sets the grouping size to 3.
The java doc should be removed.

6 years agoICU-20054 Adding escapesrc output-*.cpp to .gitignore
Shane Carr [Thu, 2 Aug 2018 00:27:08 +0000 (17:27 -0700)]
ICU-20054 Adding escapesrc output-*.cpp to .gitignore

6 years agoICU-20054 Adding depstest *.pyc to gitignore
Shane Carr [Thu, 2 Aug 2018 00:13:37 +0000 (17:13 -0700)]
ICU-20054 Adding depstest *.pyc to gitignore

6 years agoICU-20054 Adding perf/perldriver/Common.pl to gitignore
Shane Carr [Wed, 1 Aug 2018 23:14:24 +0000 (16:14 -0700)]
ICU-20054 Adding perf/perldriver/Common.pl to gitignore

6 years agoICU-20053 Adding back double-conversion .gitignore
Shane Carr [Wed, 1 Aug 2018 22:51:36 +0000 (15:51 -0700)]
ICU-20053 Adding back double-conversion .gitignore

6 years agoICU-20055 Removing reference to UCONFIG_FORMAT_FASTPATHS_49 from uconfig.h
Shane Carr [Wed, 1 Aug 2018 23:23:02 +0000 (16:23 -0700)]
ICU-20055 Removing reference to UCONFIG_FORMAT_FASTPATHS_49 from uconfig.h

6 years agoICU-20062 Set the Python -B flag to inhibit the writing of .pyc files.
Fredrik Roubert [Mon, 6 Aug 2018 12:22:35 +0000 (14:22 +0200)]
ICU-20062 Set the Python -B flag to inhibit the writing of .pyc files.

This will prevent littering the source tree with spurious .pyc files.
The potential faster execution when re-running a script that has an
up-to-date .pyc file is negligible.

6 years agoICU-10464 Make installation of icu-config optional (#13)
Hugh McMaster [Tue, 24 Jul 2018 22:53:46 +0000 (08:53 +1000)]
ICU-10464 Make installation of icu-config optional (#13)

Signed-off-by: Hugh McMaster <hugh.mcmaster@outlook.com>
Originally ICU-20030

6 years agoICU-13685 c: add @preview (retry) (#8)
Steven R. Loomis [Tue, 7 Aug 2018 20:50:27 +0000 (13:50 -0700)]
ICU-13685  c: add @preview (retry) (#8)

* ICU-13685 - add a @preview tag in Doxygen

* Change @internal to @preview for existing tech preview sites

ICU-13685

6 years agoICU-13813 Windows icucheck.bat script does not handle if the tests crash while execut...
Jeff Genovy [Wed, 18 Jul 2018 19:15:43 +0000 (12:15 -0700)]
ICU-13813 Windows icucheck.bat script does not handle if the tests crash while executing. (#12)

Fix the `icucheck.bat` script (used to run the ICU4C tests on Windows) so that it handles the case where a test crashes while executing.

6 years agoICU-20003 add a PR template (#27)
Steven R. Loomis [Tue, 7 Aug 2018 20:05:38 +0000 (13:05 -0700)]
ICU-20003 add a PR template (#27)

* ICU-20003: add a PR template
Create a GItHub PR template

6 years agoICU-20032 re-enable Travis (#10)
Steven R. Loomis [Wed, 18 Jul 2018 18:46:23 +0000 (11:46 -0700)]
ICU-20032 re-enable Travis (#10)

- From https://github.com/aheninger/icu-trunk-exp by @aheninger

6 years agoICU-20016 Skip testing pseudolocale region codes for display names.
Fredrik Roubert [Tue, 10 Jul 2018 19:09:47 +0000 (21:09 +0200)]
ICU-20016 Skip testing pseudolocale region codes for display names.

At the moment, CLDR pseudolocale region codes don't have display names.
As long as that is so, ICU must not require them to exist in order to
not cause bogus test failures when building with pseudolocales.

6 years agoICU-20036 CurrencyPluralInfo class improve handling of OOM errors (#17)
Jeff Genovy [Mon, 6 Aug 2018 20:22:46 +0000 (13:22 -0700)]
ICU-20036 CurrencyPluralInfo class improve handling of OOM errors (#17)

ICU-20036 CurrencyPluralInfo class doesn't always check/handle OOM errors.

Changes include:
- Using LocalPointer instead of raw new/delete, in order to make the code cleaner.
- Using nullptr instead of NULL.
- Inspired by Andy's review feedback PluralRules changes, this change sets fPluralRules and fLocale to nullptr in the assignment operator in order to prevent possible double deletes in the failure case.
- More consistent about not checking for nullptr when calling delete.
- Using LocalUResourceBundlePointer in order to simply the code and not need manual deletes.
- Reduce memory usage by using the same LocalUResourceBundle with .getAlias() instead of allocating new ones.

6 years agoICU-20018 Remove hardcoded expectations on available locales.
Fredrik Roubert [Tue, 10 Jul 2018 21:00:43 +0000 (23:00 +0200)]
ICU-20018 Remove hardcoded expectations on available locales.

Both the number of installed locales and the name of the last locale
change with updates to and customizations of CLDR/ICU data so test
expectations on these values will cause bogus test failures.

6 years agoICU-20046 Improve OOM error checking in the RBNF class. (#24)
Jeff Genovy [Fri, 3 Aug 2018 20:30:03 +0000 (13:30 -0700)]
ICU-20046 Improve OOM error checking in the RBNF class. (#24)

- There are a few locations in the RBNF class that don't check for out-of-memory (OOM) failures.
- Using LocalPointer to clean up the manual deletes.
- Change to use nullptr instead of NULL.
- A few minor typo fixes as well.

6 years agoICU-13138 MinGW: add 'd' suffix to the names of binary files with Debug config (#28)
sav-ix [Fri, 3 Aug 2018 02:08:58 +0000 (05:08 +0300)]
ICU-13138 MinGW: add 'd' suffix to the names of binary files with Debug config (#28)

For builds using Cygwin and MSVC with Debug configuration, '.dll' and '.lib' binaries has 'd' suffix.

Doing the same for builds using MinGW and MinGW64, based on the code from MSVC toolchain.

Task-number: ICU-13138

6 years agoICU-20056 Adding test for minFrac with maxSig
Shane Carr [Thu, 2 Aug 2018 00:16:29 +0000 (17:16 -0700)]
ICU-20056 Adding test for minFrac with maxSig

6 years agoICU-20041 Improve handling of OOM failures in NumberingSystem class. (#19)
Jeff Genovy [Thu, 2 Aug 2018 23:23:07 +0000 (16:23 -0700)]
ICU-20041 Improve handling of OOM failures in NumberingSystem class. (#19)

ICU-20041 ICU4C NumberingSystem class doesn't handle out-of-memory (OOM) failures.

- Not all code paths in the NumberingSystem class check for OOM failures. This can lead to crashes in some cases as null pointers will be dereferenced without any checks.
- Change to use nullptr instead of NULL.
- Don't stomp on OOM errors when attempting to load resources. We should report back OOM to the caller.
- Use LocalPointer in order simplify the code and for automatic clean-up of memory.
- Use LocalUResourceBundlePointer as well to help simply things even more.

6 years agoICU-13810 Fix typo in datefmt.h macro. (#36)
Jeff Genovy [Thu, 2 Aug 2018 18:42:28 +0000 (11:42 -0700)]
ICU-13810 Fix typo in datefmt.h macro. (#36)

6 years agoICU-20044 Fix some OOM issues in the NumberFormat class. (#21)
Jeff Genovy [Thu, 2 Aug 2018 07:09:14 +0000 (00:09 -0700)]
ICU-20044 Fix some OOM issues in the NumberFormat class. (#21)

6 years agoICU-20042 Improve OOM handling in PluralRules class. (#20)
Jeff Genovy [Thu, 2 Aug 2018 06:33:03 +0000 (23:33 -0700)]
ICU-20042 Improve OOM handling in PluralRules class. (#20)

- PluralRules class doesn't handle out-of-memory (OOM) errors in some code paths.
- The clone and assignment operator (operator=) methods of construction don't take an error code  parameter, meaning that if an OOM error occurs during the constructor, it will not reported back to the caller, and the caller has no way to know that the object is in a half-constructed state.
- Using an internal status variable for these above cases.
- Changes to the various PluralRules helper classes to check for OOM as well.
- Using nullptr instead NULL.
- Using LocalPointer instead of raw new/delete in some cases.
- Need to set mRules to nullptr, otherwise we can end up with double deletes in the failure case. (Thanks to Andy for the review).
- Using default member initializers for class members to avoid dangling pointers. Also allows for using default constructors too.

6 years agoICU-20035 UnicodeSet constructor(s) and assignment operator should setToBogus when...
Jeff Genovy [Thu, 2 Aug 2018 06:10:47 +0000 (23:10 -0700)]
ICU-20035 UnicodeSet constructor(s) and assignment operator should setToBogus when out-of-memory (OOM) failure occurs. (#15)

6 years agoICU-20034 ICU4C Locale assignment operator should set the locale to bogus if OOM...
Jeff Genovy [Thu, 2 Aug 2018 05:44:39 +0000 (22:44 -0700)]
ICU-20034 ICU4C Locale assignment operator should set the locale to bogus if OOM occurs. (#14)

ICU-20034 ICU4C the Locale class's assignment operator should set the locale to "bogus" if an OOM error occurs when attempting to copy data over from the other locale.
Also need to check strdup, as that calls malloc and it can fail too.

6 years agoICU-20005 Clean-up and update the .gitattributes file. Merge pull request #16 from...
Jeff Genovy [Thu, 2 Aug 2018 05:19:41 +0000 (22:19 -0700)]
ICU-20005 Clean-up and update the .gitattributes file. Merge pull request #16 from jefgen/jefgen/20005

ICU-20005 Clean-up and update the .gitattributes file

6 years agoICU-20033 Add a top-level README.md (#11)
Steven R. Loomis [Thu, 2 Aug 2018 00:56:55 +0000 (17:56 -0700)]
ICU-20033 Add a top-level README.md (#11)

* ICU-20033: add a README.md

- add a basic README.md linking to icu4c and icu4j

PR-URL: https://github.com/unicode-org/icu/pull/11

6 years agoICU-20005 Update/clean-up the .gitattributes file after the automated conversion...
Jeff Genovy [Fri, 20 Jul 2018 00:15:51 +0000 (17:15 -0700)]
ICU-20005 Update/clean-up the .gitattributes file after the automated conversion from the scripts. Also add some comments for others, and use the diff helpers for better diffs.

6 years agoICU-13810 Merge pull request #29 from aheninger/ICU-13810-SQ
Andy Heninger [Wed, 1 Aug 2018 21:01:36 +0000 (14:01 -0700)]
ICU-13810 Merge pull request #29 from aheninger/ICU-13810-SQ

ICU-13810 Doxygen warning cleanup.

6 years agoICU-13829 Merge pull request #25 from gnrunge/icu4j_13829
gnrunge [Mon, 30 Jul 2018 21:00:01 +0000 (14:00 -0700)]
ICU-13829 Merge pull request #25 from gnrunge/icu4j_13829

ICU-13829 Languagematcher: Fixes straightforward code issues.

6 years agoICU-13810 Doxygen warning cleanup.
Andy Heninger [Tue, 31 Jul 2018 01:03:21 +0000 (18:03 -0700)]
ICU-13810 Doxygen warning cleanup.

6 years agoICU-13829 Removes duplicate import statement.
Norbert Runge [Fri, 27 Jul 2018 22:38:00 +0000 (15:38 -0700)]
ICU-13829 Removes duplicate import statement.

6 years agoICU-13829 Revert order of imports to conform with (almost all of) the other files...
Norbert Runge [Fri, 27 Jul 2018 22:18:13 +0000 (15:18 -0700)]
ICU-13829 Revert order of imports to conform with (almost all of) the other files in this directory.

6 years agoICU-13829 Languagematcher: Fixes straightforward code issues.
Norbert Runge [Tue, 24 Jul 2018 22:33:54 +0000 (15:33 -0700)]
ICU-13829 Languagematcher: Fixes straightforward code issues.

6 years agoICU-13778 DataTimePatternGenerator code refactor. Handle Out-of-Memory (OOM) errors... last-svn-commit
Jeff Genovy [Wed, 27 Jun 2018 19:25:52 +0000 (19:25 +0000)]
ICU-13778 DataTimePatternGenerator code refactor. Handle Out-of-Memory (OOM) errors, use LocalPointer to prevent memory leaks when OOM occurs, use an internal error code to better report errors during clone and copy construction, mark helper methods and parameters as const, use nullptr instead of NULL, minor spelling and formatting changes. (Note: All tests pass on Windows and Linux).

X-SVN-Rev: 41552

6 years agoICU-13814 Visual Studio IntelliSense should ignore the 'urename.h' content so that...
Jeff Genovy [Wed, 27 Jun 2018 19:02:09 +0000 (19:02 +0000)]
ICU-13814 Visual Studio IntelliSense should ignore the 'urename.h' content so that 'Go-to-Definition' (F12) will actually work in the IDE.

X-SVN-Rev: 41551

6 years agoICU-13851 case mapping data: when fetching delta make sure to read from start of...
Markus Scherer [Sun, 24 Jun 2018 21:12:22 +0000 (21:12 +0000)]
ICU-13851 case mapping data: when fetching delta make sure to read from start of exceptional values

X-SVN-Rev: 41550

6 years agoICU-13850 Fixing behavior of ICU4C DecimalFormat#setCurrency() to accept an empty...
Shane Carr [Sat, 23 Jun 2018 02:09:42 +0000 (02:09 +0000)]
ICU-13850 Fixing behavior of ICU4C DecimalFormat#setCurrency() to accept an empty string.

X-SVN-Rev: 41549

6 years agoICU-13766 Make UnicodeMapTest#TestUnicodeMapGeneralCategory smaller.
Fredrik Roubert [Thu, 21 Jun 2018 20:17:22 +0000 (20:17 +0000)]
ICU-13766 Make UnicodeMapTest#TestUnicodeMapGeneralCategory smaller.

There are 0x10FFFF code points and this test allocates memory for every
code point tested. Testing every single one of them is therefore memory
intensive and slow, without adding any real value to the test.

Instead an equivalent test coverage can be achieved by testing a much
smaller set of ranges of code points that cover all categories.

X-SVN-Rev: 41547

6 years agoICU-13840 Fixing memory overflow issue in number_decimalquantity.cpp and adding tests.
Shane Carr [Tue, 19 Jun 2018 21:52:52 +0000 (21:52 +0000)]
ICU-13840 Fixing memory overflow issue in number_decimalquantity.cpp and adding tests.

X-SVN-Rev: 41541

6 years agoICU-13823 ICU 62.1 BRS, update measurement unit constants for release-33-1-d03 (delet...
Peter Edberg [Fri, 15 Jun 2018 01:12:52 +0000 (01:12 +0000)]
ICU-13823 ICU 62.1 BRS, update measurement unit constants for release-33-1-d03 (deletes VES)

X-SVN-Rev: 41528

6 years agoICU-13593 Fix heap-buffer-overflow in TestIDNAMonkeyTest
Andy Heninger [Thu, 14 Jun 2018 23:12:42 +0000 (23:12 +0000)]
ICU-13593 Fix heap-buffer-overflow in TestIDNAMonkeyTest

X-SVN-Rev: 41526

6 years agoICU-13823 Integrate data from cldr/tags/release-33-1-d03 to ICU trunk for ICU62 final
Peter Edberg [Thu, 14 Jun 2018 22:33:37 +0000 (22:33 +0000)]
ICU-13823 Integrate data from cldr/tags/release-33-1-d03 to ICU trunk for ICU62 final

X-SVN-Rev: 41525

6 years agoICU-13835 Fixing C++17 compiler error.
Shane Carr [Thu, 14 Jun 2018 20:29:11 +0000 (20:29 +0000)]
ICU-13835 Fixing C++17 compiler error.

X-SVN-Rev: 41523

6 years agoICU-13818 Add virtual destructor for class TokenConsumer.
Fredrik Roubert [Wed, 13 Jun 2018 17:00:44 +0000 (17:00 +0000)]
ICU-13818 Add virtual destructor for class TokenConsumer.

X-SVN-Rev: 41519

6 years agoICU-13828 DecimalFormat Error Code handling cleanups.
Andy Heninger [Mon, 11 Jun 2018 03:56:58 +0000 (03:56 +0000)]
ICU-13828 DecimalFormat Error Code handling cleanups.

X-SVN-Rev: 41515

6 years agoICU-13826 Timezone detection fails on Windows on non-English systems.
Jeff Genovy [Sat, 9 Jun 2018 01:49:30 +0000 (01:49 +0000)]
ICU-13826 Timezone detection fails on Windows on non-English systems.

X-SVN-Rev: 41514

6 years agoICU-13822 Updated ICU4J data - removing VES.
Yoshito Umaoka [Wed, 6 Jun 2018 23:02:35 +0000 (23:02 +0000)]
ICU-13822 Updated ICU4J data - removing VES.

X-SVN-Rev: 41512

6 years agoICU-13822 Removed VES from currency-numeric data for 62 release. CLDR 33.1 decided...
Yoshito Umaoka [Wed, 6 Jun 2018 22:51:56 +0000 (22:51 +0000)]
ICU-13822 Removed VES from currency-numeric data for 62 release. CLDR 33.1 decided to defer this to later time.

X-SVN-Rev: 41511

6 years agoICU-13816 Windows compiler warning fix.
Andy Heninger [Mon, 4 Jun 2018 21:04:14 +0000 (21:04 +0000)]
ICU-13816 Windows compiler warning fix.

X-SVN-Rev: 41504

6 years agoICU-13807 ICU 62 No Data Testing fixes. Mostly to test code. release-62-rc
Andy Heninger [Fri, 1 Jun 2018 01:19:38 +0000 (01:19 +0000)]
ICU-13807 ICU 62 No Data Testing fixes. Mostly to test code.

X-SVN-Rev: 41500

6 years agoICU-13804 Fixing memory leak from r41497.
Shane Carr [Fri, 1 Jun 2018 01:02:49 +0000 (01:02 +0000)]
ICU-13804 Fixing memory leak from r41497.

X-SVN-Rev: 41499

6 years agoICU-13804 Fixing test failure from r41497.
Shane Carr [Fri, 1 Jun 2018 00:48:18 +0000 (00:48 +0000)]
ICU-13804 Fixing test failure from r41497.

X-SVN-Rev: 41498

6 years agoICU-13804 Making number parsing code more robust when given empty symbol strings.
Shane Carr [Fri, 1 Jun 2018 00:31:54 +0000 (00:31 +0000)]
ICU-13804 Making number parsing code more robust when given empty symbol strings.

X-SVN-Rev: 41497

6 years agoICU-13667 ICU 62rc BRS, edit ICU4C APIChangeReport.html for scale status, group chang...
Peter Edberg [Thu, 31 May 2018 23:11:53 +0000 (23:11 +0000)]
ICU-13667 ICU 62rc BRS, edit ICU4C APIChangeReport.html for scale status, group changes for (const enum&) > (enum)

X-SVN-Rev: 41496

6 years agoICU-13667 Making =delete APIdocs consistent in numberformatter.h
Shane Carr [Thu, 31 May 2018 22:04:08 +0000 (22:04 +0000)]
ICU-13667 Making =delete APIdocs consistent in numberformatter.h

X-SVN-Rev: 41495

6 years agoICU-13667 Fixes compilation errors related to UCONFIG_NO_XXX flag variations.
Norbert Runge [Thu, 31 May 2018 21:53:43 +0000 (21:53 +0000)]
ICU-13667 Fixes compilation errors related to UCONFIG_NO_XXX flag variations.

X-SVN-Rev: 41494

6 years agoICU-13667 Fixing incorrect version tag on scale() setter.
Shane Carr [Thu, 31 May 2018 21:32:35 +0000 (21:32 +0000)]
ICU-13667 Fixing incorrect version tag on scale() setter.

X-SVN-Rev: 41493

6 years agoICU-13667 ICU 62rc BRS, edit ICU4C APIChangeReport.html to remove const>const& and...
Peter Edberg [Thu, 31 May 2018 19:09:19 +0000 (19:09 +0000)]
ICU-13667 ICU 62rc BRS, edit ICU4C APIChangeReport.html to remove const>const& and =delete, add note about Rounder>Precision

X-SVN-Rev: 41492

6 years agoICU-13667 ICU 62rc BRS, update guard conditionals for non-stable API part 2 (common...
Peter Edberg [Wed, 30 May 2018 22:45:26 +0000 (22:45 +0000)]
ICU-13667 ICU 62rc BRS, update guard conditionals for non-stable API part 2 (common,io pass 1)

X-SVN-Rev: 41491

6 years agoICU-13667 Updating APIChangeReport.html with Rounder renamed to Precision.
Shane Carr [Wed, 30 May 2018 22:11:12 +0000 (22:11 +0000)]
ICU-13667 Updating APIChangeReport.html with Rounder renamed to Precision.

X-SVN-Rev: 41490

6 years agoICU-13667 Making new DecimalFormat constructor private.
Shane Carr [Wed, 30 May 2018 21:27:07 +0000 (21:27 +0000)]
ICU-13667 Making new DecimalFormat constructor private.

X-SVN-Rev: 41489

6 years agoICU-13667 Adding unumberformatter.h to the doxygen front page
Shane Carr [Wed, 30 May 2018 19:20:24 +0000 (19:20 +0000)]
ICU-13667 Adding unumberformatter.h to the doxygen front page

X-SVN-Rev: 41488

6 years agoICU-13667 LocalizedNumberFormatterAsFormat is in the old Format class hierarchy,...
Markus Scherer [Wed, 30 May 2018 19:15:02 +0000 (19:15 +0000)]
ICU-13667 LocalizedNumberFormatterAsFormat is in the old Format class hierarchy, add ClassID boilerplate; NoUnit move virtual destructor up into first-virtual position, right after constructors

X-SVN-Rev: 41487

6 years agoICU-13667 ICU 62rc BRS, update guard conditionals for non-stable API part 1 (i18n...
Peter Edberg [Wed, 30 May 2018 18:39:29 +0000 (18:39 +0000)]
ICU-13667 ICU 62rc BRS, update guard conditionals for non-stable API part 1 (i18n pass 1)

X-SVN-Rev: 41486

6 years agoICU-13667 Moves digits_t, DEFAULT_THRESHOLD, and copyErrorTo() outside of U_HIDE_INTE...
Norbert Runge [Wed, 30 May 2018 14:40:13 +0000 (14:40 +0000)]
ICU-13667 Moves digits_t, DEFAULT_THRESHOLD, and copyErrorTo() outside of U_HIDE_INTERNAL_API.

X-SVN-Rev: 41485

6 years agoICU-13667 ICU 62rc BRS, update ICU4C APIChangeReport.html, generated from r41483
Peter Edberg [Wed, 30 May 2018 04:37:30 +0000 (04:37 +0000)]
ICU-13667 ICU 62rc BRS, update ICU4C APIChangeReport.html, generated from r41483

X-SVN-Rev: 41484

6 years agoICU-8610 Responding to number skeleton code review feedback.
Shane Carr [Wed, 30 May 2018 03:34:41 +0000 (03:34 +0000)]
ICU-8610 Responding to number skeleton code review feedback.

X-SVN-Rev: 41483

6 years agoICU-13667 ICU 62rc BRS, update urename.h
Peter Edberg [Wed, 30 May 2018 03:34:29 +0000 (03:34 +0000)]
ICU-13667 ICU 62rc BRS, update urename.h

X-SVN-Rev: 41482

6 years agoICU-13667 ICU 62rc BRS, update measurement unit constants
Peter Edberg [Wed, 30 May 2018 01:22:52 +0000 (01:22 +0000)]
ICU-13667 ICU 62rc BRS, update measurement unit constants

X-SVN-Rev: 41481

6 years agoICU-13667 Fix Samples test script for ucnv project.
Jeff Genovy [Wed, 30 May 2018 00:49:34 +0000 (00:49 +0000)]
ICU-13667 Fix Samples test script for ucnv project.

X-SVN-Rev: 41480

6 years agoICU-13792 Integrate data from cldr/tags/release-33-1-d02 to ICU trunk for ICU62rc
Peter Edberg [Tue, 29 May 2018 22:33:10 +0000 (22:33 +0000)]
ICU-13792 Integrate data from cldr/tags/release-33-1-d02 to ICU trunk for ICU62rc

X-SVN-Rev: 41479

6 years agoICU-13667 BRS62 - Added ICU 62 serialization test data, removed ICU 57.
Yoshito Umaoka [Tue, 29 May 2018 21:26:24 +0000 (21:26 +0000)]
ICU-13667 BRS62 - Added ICU 62 serialization test data, removed ICU 57.

X-SVN-Rev: 41478

6 years agoICU-13667 BRS62 - added ICU4J 62 API signature file (and deleted ICU4J 52 API signatu...
Yoshito Umaoka [Tue, 29 May 2018 21:12:48 +0000 (21:12 +0000)]
ICU-13667 BRS62 - added ICU4J 62 API signature file (and deleted ICU4J 52 API signature file).

X-SVN-Rev: 41477