]> granicus.if.org Git - icu/log
icu
6 years agoICU-20369 ICU4C: Report OOM errors in the utrie2_clone function.
Jeff Genovy [Tue, 22 Jan 2019 01:01:24 +0000 (17:01 -0800)]
ICU-20369 ICU4C: Report OOM errors in the utrie2_clone function.

6 years agoICU-20364 Cygwin builds need to set WINVER to 0x0601 for Windows 7, similar to MinGW...
Jeff Genovy [Wed, 23 Jan 2019 20:41:46 +0000 (12:41 -0800)]
ICU-20364 Cygwin builds need to set WINVER to 0x0601 for Windows 7, similar to MinGW builds.

6 years agoICU-20358 Clean up grouping resolution in DecimalFormat#toPattern(). 358/head
Shane Carr [Thu, 17 Jan 2019 22:57:42 +0000 (14:57 -0800)]
ICU-20358 Clean up grouping resolution in DecimalFormat#toPattern().

6 years agoICU-20323 Suppress MSYS2 GCC warning about std::atomic visibility (Windows).
Jeff Genovy [Wed, 9 Jan 2019 06:16:31 +0000 (22:16 -0800)]
ICU-20323 Suppress MSYS2 GCC warning about std::atomic visibility (Windows).

6 years agoICU-20334 Additional python3 compatibility changes to depstest.
Shane Carr [Fri, 18 Jan 2019 00:53:46 +0000 (16:53 -0800)]
ICU-20334 Additional python3 compatibility changes to depstest.

Also adds python3 depstest call to .travis.yml.

6 years agoICU-20334 Add python3 support to icu4c scripts
Luca Stefani [Fri, 4 Jan 2019 16:09:19 +0000 (17:09 +0100)]
ICU-20334 Add python3 support to icu4c scripts

Test: Execute every python script with python 2 and 3

6 years agoICU-20183 Adding CurrencyUnit StringPiece constructor.
Shane Carr [Fri, 11 Jan 2019 08:43:20 +0000 (00:43 -0800)]
ICU-20183 Adding CurrencyUnit StringPiece constructor.

- Adds function uprv_memchr.

6 years agoICU-20348 Fixing DecimalFormat set affix currency behavior.
Shane F. Carr [Mon, 14 Jan 2019 21:27:45 +0000 (13:27 -0800)]
ICU-20348 Fixing DecimalFormat set affix currency behavior.

- Includes minor changes to tests.

6 years agoICU-20351 Warning cleanup changes for ICU4C under MSVC.
Jeff Genovy [Fri, 11 Jan 2019 20:23:43 +0000 (12:23 -0800)]
ICU-20351 Warning cleanup changes for ICU4C under MSVC.

6 years agoICU-20353 Fix MSVC Warning/Error C4251 with CodePointMatcherWarehouse and MemoryPool.
Jeff Genovy [Mon, 14 Jan 2019 22:46:29 +0000 (14:46 -0800)]
ICU-20353 Fix MSVC Warning/Error C4251 with CodePointMatcherWarehouse and MemoryPool.

6 years agoICU-20352 Remove unneeded UWP includes for WRL and Windows.Globalization.h from putil.cpp
Jeff Genovy [Mon, 14 Jan 2019 21:53:44 +0000 (13:53 -0800)]
ICU-20352 Remove unneeded UWP includes for WRL and Windows.Globalization.h from putil.cpp

6 years agoICU-20217 Fix comment syntax in fuzzing dictonary for ICU regular expressions.
Norbert Runge [Mon, 14 Jan 2019 21:41:41 +0000 (13:41 -0800)]
ICU-20217 Fix comment syntax in fuzzing dictonary for ICU regular expressions.

6 years agoICU-20074 Define UPRV_UNREACHABLE macro for unreachable code
Daniel Ju [Wed, 9 Jan 2019 21:29:18 +0000 (13:29 -0800)]
ICU-20074 Define UPRV_UNREACHABLE macro for unreachable code
Replaced occurrences of U_ASSERT(FALSE) with new UPRV_UNREACHABLE macro.

6 years agoICU-13653 Quiet warnings about output target when building with MSVC
Daniel Ju [Sat, 12 Jan 2019 00:08:49 +0000 (16:08 -0800)]
ICU-13653 Quiet warnings about output target when building with MSVC

6 years agoICU-13701 Removing obsolete logKnownIssue since bug is fixed.
Shane Carr [Fri, 11 Jan 2019 21:52:47 +0000 (13:52 -0800)]
ICU-13701 Removing obsolete logKnownIssue since bug is fixed.

6 years agoICU-20217 Adds ICU fuzzer target originally from https://github.com/google/oss-fuzz...
Norbert Runge [Tue, 18 Dec 2018 23:07:38 +0000 (15:07 -0800)]
ICU-20217 Adds ICU fuzzer target originally from https://github.com/google/oss-fuzz/tree/master/projects/icu directly into ICU on GitHub.
Also, puts code under Unicode copyright notice. Code is from oss-fuzz project and was originally contributed by a Googler as well.

6 years agoICU-13701 Use exact string-to-double conversion in Java.
Shane Carr [Fri, 11 Jan 2019 05:23:37 +0000 (21:23 -0800)]
ICU-13701 Use exact string-to-double conversion in Java.

6 years agoICU-20138 Adding FormattedValue APIs in C, C++, and Java.
Shane Carr [Thu, 15 Nov 2018 07:38:54 +0000 (23:38 -0800)]
ICU-20138 Adding FormattedValue APIs in C, C++, and Java.

- Wires up FormattedNumber[Range] in applicable languages.
- Adds new header files and tests, with minor cleanup to old tests.
- Adds code to guarantee terminating NUL in FormattedNumber[Range].
- Cleanup of API docs for inherited methods in FormattedNumber[Range].

6 years agoICU-20325 Fix warnings about unknown pragma when building with GCC in MSYS2 (Windows).
Jeff Genovy [Wed, 9 Jan 2019 01:56:40 +0000 (17:56 -0800)]
ICU-20325 Fix warnings about unknown pragma when building with GCC in MSYS2 (Windows).

6 years agoICU-20324 Add MSYS2 (Windows) build bot to the Azure CI builds (GCC x86_64).
Jeff Genovy [Wed, 9 Jan 2019 01:50:25 +0000 (17:50 -0800)]
ICU-20324 Add MSYS2 (Windows) build bot to the Azure CI builds (GCC x86_64).

6 years agoICU-20315 Fix MSYS2 build break: Don't prepend the source dir if it is just a current...
Jeff Genovy [Sat, 22 Dec 2018 18:49:37 +0000 (10:49 -0800)]
ICU-20315 Fix MSYS2 build break: Don't prepend the source dir if it is just a current directory (.) path.

6 years agoICU-20329 XLocaleMatcher new test data format, parameterized test, more test cases
Markus Scherer [Fri, 4 Jan 2019 22:42:38 +0000 (14:42 -0800)]
ICU-20329 XLocaleMatcher new test data format, parameterized test, more test cases

6 years agoICU-20227 Regex API docs - add references to URegexpFlag where flags are mentioned...
Andy Heninger [Tue, 11 Dec 2018 23:57:57 +0000 (15:57 -0800)]
ICU-20227 Regex API docs - add references to URegexpFlag where flags are mentioned. Replace html with markdown.

6 years agoICU-20331 time zone data updates for tzdata2018i
Yoshito Umaoka [Wed, 2 Jan 2019 22:27:39 +0000 (17:27 -0500)]
ICU-20331 time zone data updates for tzdata2018i

6 years agoICU-20317 Cache the Cygwin Setup/Installer on AppVeyor CI builds to prevent flaky...
Jeff Genovy [Sat, 15 Dec 2018 19:48:16 +0000 (11:48 -0800)]
ICU-20317 Cache the Cygwin Setup/Installer on AppVeyor CI builds to prevent flaky failures.

6 years agoICU-12079 Full width digits become numeric for word break.
Andy Heninger [Tue, 4 Dec 2018 01:34:38 +0000 (17:34 -0800)]
ICU-12079 Full width digits become numeric for word break.

6 years agoICU-20309 UCONFIG_NO_CONVERSION block should include the doxygen doc for uregex_openC
Victor Chang [Tue, 11 Dec 2018 17:35:00 +0000 (17:35 +0000)]
ICU-20309 UCONFIG_NO_CONVERSION block should include the doxygen doc for uregex_openC

6 years agoICU-10923 Python logic for resource filters.
Shane Carr [Thu, 13 Dec 2018 07:55:13 +0000 (23:55 -0800)]
ICU-10923 Python logic for resource filters.

- Adds schema validation for config file
- Adds JSON comment stripping utility

6 years agoICU-20302 Fix wintz header file. (Thanks to Jungshik).
Jeff Genovy [Fri, 14 Dec 2018 08:56:51 +0000 (00:56 -0800)]
ICU-20302 Fix wintz header file. (Thanks to Jungshik).

6 years agoICU-20305 XLikelySubtags avoid illegal type conversion, fix some linter warnings
Markus Scherer [Fri, 14 Dec 2018 17:32:12 +0000 (09:32 -0800)]
ICU-20305 XLikelySubtags avoid illegal type conversion, fix some linter warnings

6 years agoICU-20302 Timezone detection fails on Windows 7. Also add a test case for Windows...
Jeff Genovy [Thu, 13 Dec 2018 03:42:48 +0000 (19:42 -0800)]
ICU-20302 Timezone detection fails on Windows 7. Also add a test case for Windows time zone detection failing.

6 years agoICU-10923 Adding --filterDir option to genrb.
Shane Carr [Wed, 12 Dec 2018 01:14:58 +0000 (17:14 -0800)]
ICU-10923 Adding --filterDir option to genrb.

- Reads, parses, and applies the filter file syntax.
- Removes unused keys from the resource bundle.
- Adds sample filter txt file with test in intltest.

6 years agoICU-20300 Changing buildtool nametuples to polymorphic classes.
Shane Carr [Thu, 13 Dec 2018 08:56:13 +0000 (00:56 -0800)]
ICU-20300 Changing buildtool nametuples to polymorphic classes.

6 years agoICU-9622 Adding support for date/time skeletons
Mihai Nita [Wed, 12 Dec 2018 18:22:04 +0000 (10:22 -0800)]
ICU-9622 Adding support for date/time skeletons

6 years agoICU-20308 Define a fixed suffix without the ICU version suffix
Victor Chang [Fri, 30 Nov 2018 18:52:28 +0000 (18:52 +0000)]
ICU-20308 Define a fixed suffix without the ICU version suffix

- Add a config macro U_DISABLE_VERSION_SUFFIX to disable version suffix

6 years agoICU-20292 u_charFromName() prevent code point integer overflow, and limit to at most...
Markus Scherer [Wed, 12 Dec 2018 06:05:08 +0000 (22:05 -0800)]
ICU-20292 u_charFromName() prevent code point integer overflow, and limit to at most 8 hex digits

6 years agoICU-20279 Remove MSVC specific macro _ARM64_
Jeff Genovy [Sun, 18 Nov 2018 22:06:21 +0000 (14:06 -0800)]
ICU-20279 Remove MSVC specific macro _ARM64_

Remove unneeded check for MSVC internal _ARM64_ macro in normlzr.cpp

6 years agoICU-20299 Adds Python 2.7 support to data build script.
Shane Carr [Sat, 8 Dec 2018 01:22:10 +0000 (17:22 -0800)]
ICU-20299 Adds Python 2.7 support to data build script.

6 years agoICU-20307 Add reldatefmt.h and compactdecimalformat.h into test/hdrtst/cxxfiles.txt
Victor Chang [Tue, 11 Dec 2018 15:59:15 +0000 (15:59 +0000)]
ICU-20307 Add reldatefmt.h and compactdecimalformat.h into test/hdrtst/cxxfiles.txt

6 years agoICU-20295 Fix wrong java doc of "{#link" in TimeZoneFormat
Victor Chang [Fri, 7 Dec 2018 20:50:30 +0000 (20:50 +0000)]
ICU-20295 Fix wrong java doc of "{#link" in TimeZoneFormat

6 years agoICU-10923 Fixing broken dependency names in BUILDRULES.py.
Shane Carr [Sat, 8 Dec 2018 04:06:22 +0000 (20:06 -0800)]
ICU-10923 Fixing broken dependency names in BUILDRULES.py.

Fixes warnings and a flaky test.

6 years agoICU-10923 Adding initial version of data file filtering.
Shane Carr [Thu, 6 Dec 2018 08:33:10 +0000 (00:33 -0800)]
ICU-10923 Adding initial version of data file filtering.

- Reads filters.json or .hjson from ICU_DATA_FILTER_FILE environment variable
- Adds DepTarget for dependency semantics, and warns for missing deps.
- Fixes certain tests that crash with sliced locale data.
- Includes support for 4 filter types.

6 years agoICU-10923 Refactoring in preparation for data file filtering.
Shane Carr [Wed, 5 Dec 2018 03:07:27 +0000 (19:07 -0800)]
ICU-10923 Refactoring in preparation for data file filtering.

- Adding SpaceSeparatedList abstraction.
- Adding ListRequest abstraction.
- Adding separate dep_files option to SingleExecutionRequest.
- Removing unused variable pkg_exclusions.
- Adding IndexTxtRequest abstraction.
- Moving curr/supplementalData.txt into its own target.
- Changing getters to properties on Config.
- Re-indenting and refactoring data/BUILDRULES.py
- Adding category to request tuples. Refactoring translit.

6 years agoICU-11053 Fix locale parsing which has _ timezone
Frank Tang [Wed, 5 Dec 2018 02:49:58 +0000 (10:49 +0800)]
ICU-11053 Fix locale parsing which has _ timezone

6 years agoICU-20186 Adding test for leading and trailing spaces in DecimalFormat.
Shane Carr [Tue, 27 Nov 2018 01:01:32 +0000 (17:01 -0800)]
ICU-20186 Adding test for leading and trailing spaces in DecimalFormat.

6 years agoICU-20247 use = instead of == in sh compare
Steven R. Loomis [Wed, 5 Dec 2018 19:41:44 +0000 (11:41 -0800)]
ICU-20247 use = instead of == in sh compare

* Note: the diff will show changes to "runstatedir". This is
a feature which ICU does not use, and it is not in any released
autoconf version. Perhaps some distributions patched autoconf
locally.

https://lists.gnu.org/archive/html/autoconf/2018-07/msg00006.html

6 years agoICU-20287 ICU4J source tarball does not contain maven pom templates
Mat Booth [Tue, 27 Nov 2018 18:06:50 +0000 (18:06 +0000)]
ICU-20287 ICU4J source tarball does not contain maven pom templates

6 years agoICU-20293 Adds common base class to implement C API validation methods.
Shane Carr [Tue, 4 Dec 2018 07:32:13 +0000 (23:32 -0800)]
ICU-20293 Adds common base class to implement C API validation methods.

6 years agoICU-20288 add line_cj.txt to RBBI Monkey test.
Andy Heninger [Fri, 30 Nov 2018 01:50:18 +0000 (17:50 -0800)]
ICU-20288 add line_cj.txt to RBBI Monkey test.

6 years agoICU-11919 OlsonTimeZone, fix for Thread Sanitizer failure in cloneAsThawed().
Andy Heninger [Tue, 27 Nov 2018 22:23:19 +0000 (14:23 -0800)]
ICU-11919 OlsonTimeZone, fix for Thread Sanitizer failure in cloneAsThawed().

6 years agoICU-20203 update ICU to Unicode 12 beta
Markus Scherer [Thu, 11 Oct 2018 23:04:05 +0000 (16:04 -0700)]
ICU-20203 update ICU to Unicode 12 beta
- data as of 2018-nov-26
- API constants for new blocks & scripts
- sync RBBIMonkeyTest.java test data with C++

6 years agoICU-20186 Adding test for semicolon behavior and spacing in DecimalFormat.
Shane Carr [Mon, 1 Oct 2018 23:18:39 +0000 (16:18 -0700)]
ICU-20186 Adding test for semicolon behavior and spacing in DecimalFormat.

6 years agoICU-20281 Reenable the VS2015 build bot. Use manual install of Py3.
Jeff Genovy [Wed, 21 Nov 2018 06:47:25 +0000 (22:47 -0800)]
ICU-20281 Reenable the VS2015 build bot. Use manual install of Py3.

6 years agoICU-20276 Accept empty strings in Locale::setUnicodeKeywordValue().
Fredrik Roubert [Mon, 19 Nov 2018 14:12:05 +0000 (15:12 +0100)]
ICU-20276 Accept empty strings in Locale::setUnicodeKeywordValue().

The API documentation is perfectly clear about this, an empty string for
the value means that the keyword should be removed:

  @param keywordValue value of the keyword to be set. If 0-length or
   NULL, will result in the keyword being removed. No error is given if
   that keyword does not exist.

6 years agoICU-10923 Disable the VS2015 build until the Azure VM image has a working Python 3.
Jeff Genovy [Mon, 19 Nov 2018 20:32:46 +0000 (12:32 -0800)]
ICU-10923 Disable the VS2015 build until the Azure VM image has a working Python 3.

6 years agoICU-20179 Remove platform-specific mutex and atomics implementations.
Andy Heninger [Thu, 1 Nov 2018 00:08:38 +0000 (17:08 -0700)]
ICU-20179 Remove platform-specific mutex and atomics implementations.

Remove all POSIX and Win32 specific mutex, atomic and threading implementations
in favor of C++11 std library functions.

Move the related (internal) ICU types and functions into the icu namespace.

6 years agoICU-20230 Implementing COMPACT field.
Shane Carr [Fri, 16 Nov 2018 04:58:24 +0000 (20:58 -0800)]
ICU-20230 Implementing COMPACT field.

Adds some plumbing to allow MutablePatternModifier to set fields, and otherwise builds upon the infrastructure from the previous commit to add the MEASURE_UNIT field.

6 years agoICU-10923 Rewriting data build orchestration in Python.
Shane Carr [Sat, 25 Aug 2018 06:39:10 +0000 (23:39 -0700)]
ICU-10923 Rewriting data build orchestration in Python.

- Creates new Python package in icu4c/data/buildtool
- Creates BUILRDULES.py in icu4c/data and icu4c/test/testdata, unified between Unix/Windows
- Removes most data build orchestration rules from makedata.mak, testdata.mak, data/Makefile.in, and test/testdata/Makefile.in
- Removes pool.res files and builds them on the fly instead

6 years agoICU-20271 Use C++11 operator new = delete to disallow heap allocation.
Fredrik Roubert [Thu, 15 Nov 2018 13:01:42 +0000 (14:01 +0100)]
ICU-20271 Use C++11 operator new = delete to disallow heap allocation.

6 years agoICU-10183 Use std::mutex by default; clean up related dependency check issues.
Andy Heninger [Mon, 12 Nov 2018 18:20:49 +0000 (10:20 -0800)]
ICU-10183 Use std::mutex by default; clean up related dependency check issues.

6 years agoICU-13267 Implementing MEASURE_UNIT field.
Shane Carr [Wed, 14 Nov 2018 05:42:27 +0000 (21:42 -0800)]
ICU-13267 Implementing MEASURE_UNIT field.

Adds plumbing to trim whitespace near the FormattedNumber API boundary.
That plumbing requires a change to dependencies.txt.

6 years agoICU-13441 For zh/ja, tailor linebreak classes for quotations such as “ 201C and ...
Dongyuan Liu [Thu, 18 Oct 2018 07:42:27 +0000 (15:42 +0800)]
ICU-13441 For zh/ja, tailor linebreak classes for quotations such as “ 201C and ” 201D

6 years agoICU-20185 Remove U_USER_ATOMICS_H, U_USER_MUTEX_H, U_USER_MUTEX_CPP
Andy Heninger [Wed, 31 Oct 2018 21:30:58 +0000 (14:30 -0700)]
ICU-20185 Remove U_USER_ATOMICS_H, U_USER_MUTEX_H, U_USER_MUTEX_CPP

6 years agoICU-20202 Merge #ifdef __cplusplus blocks.
Fredrik Roubert [Mon, 5 Nov 2018 13:32:38 +0000 (14:32 +0100)]
ICU-20202 Merge #ifdef __cplusplus blocks.

For historical reasons (commit 3b12074b4092241a7e73ec8c7ea6be75548b1b82),
all C++ code (even #include statements) in cmemory.h is contained in an
#ifdef block at the end of the file. A recent bugfix inadvertently added
an additional #ifdef __cplusplus block at the beginning of the file to
add a new #include statement so that C++ #include statements now are
found in two places (commit 1bad36b91afa1fb33a0d45902a163a923d6e860a).

6 years agoICU-20084 IntlTest, add WHERE macro; remove redundant TEST macros.
Andy Heninger [Tue, 6 Nov 2018 02:37:38 +0000 (18:37 -0800)]
ICU-20084 IntlTest, add WHERE macro; remove redundant TEST macros.

6 years agoICU-20239 Add VS2015 build line to the Azure CI builds.
Jeff Genovy [Mon, 12 Nov 2018 05:30:52 +0000 (21:30 -0800)]
ICU-20239 Add VS2015 build line to the Azure CI builds.

6 years agoICU-20250 make UnicodeSet(intprop=value) faster
Markus Scherer [Fri, 9 Nov 2018 20:54:22 +0000 (12:54 -0800)]
ICU-20250 make UnicodeSet(intprop=value) faster
- fastpath for UnicodeSet.add(new last range)
- fewer UnicodeSet memory allocations:
  initial internal list array, exponential array growth,
  allocate strings list/set only when first one is added
- faster CodePointTrie.getRange(): fewer calls to filter function
- revert UnicodeSet(intprop=value) from trie ranges to range starts + lookup
- cache per-int-prop range starts: fewer lookups

6 years agoICU-20215 Conver the VSTS/Azure CI builds definitions to a YML file in the repo ...
Jeff Genovy [Wed, 17 Oct 2018 07:03:12 +0000 (00:03 -0700)]
ICU-20215 Conver the VSTS/Azure CI builds definitions to a YML file in the repo (similar to .travis.yml)

6 years agoICU-20238 Autodetect Visual Studio version, and autodetect the installed Windows...
Jeff Genovy [Thu, 25 Oct 2018 02:28:43 +0000 (19:28 -0700)]
ICU-20238 Autodetect Visual Studio version, and autodetect the installed Windows 10 SDK version.

6 years agoICU-13267 Minor documentation and test changes.
Shane Carr [Thu, 8 Nov 2018 00:16:47 +0000 (16:16 -0800)]
ICU-13267 Minor documentation and test changes.

6 years agoICU-13267 Refactoring field position testing logic into helper function.
Shane Carr [Wed, 7 Nov 2018 01:07:49 +0000 (17:07 -0800)]
ICU-13267 Refactoring field position testing logic into helper function.

Makes future field position logic easier to test.

6 years agoICU-13701 Syncs C and J increment rounding. Checks for nickel sooner.
Shane Carr [Sat, 3 Nov 2018 05:19:53 +0000 (22:19 -0700)]
ICU-13701 Syncs C and J increment rounding. Checks for nickel sooner.

6 years agoICU-13701 Refactoring DecimalQuantity: removing lOptPos/rOptPos.
Shane Carr [Thu, 25 Oct 2018 04:25:39 +0000 (21:25 -0700)]
ICU-13701 Refactoring DecimalQuantity: removing lOptPos/rOptPos.

Combined ICU4C and ICU4J.

6 years agoICU-20250 faster MutableCodePointTrie.build(): use a hashtable to find equal blocks...
Markus Scherer [Fri, 2 Nov 2018 19:47:09 +0000 (12:47 -0700)]
ICU-20250 faster MutableCodePointTrie.build(): use a hashtable to find equal blocks in earlier parts of the compacted data & index arrays

6 years agoICU-20169 Replace uprv_malloc() / uprv_free() with MemoryPool.
Fredrik Roubert [Fri, 2 Nov 2018 16:50:34 +0000 (17:50 +0100)]
ICU-20169 Replace uprv_malloc() / uprv_free() with MemoryPool.

This resolves the immediate problem of brittle memory management
in the error handling code.

An obvious future improvement would be to replace the old C style
"plain struct with pointers" VariantListEntry, AttributeListEntry
and ExtensionListEntry with contemporary C++ style containers that
take care of ownership and memory management.

6 years agoICU-20249 An internal helper class for stack allocated UResourceBundle.
Fredrik Roubert [Wed, 31 Oct 2018 19:18:34 +0000 (20:18 +0100)]
ICU-20249 An internal helper class for stack allocated UResourceBundle.

6 years agoICU-20172 Add ICU4C dependency checker to Travis CI
Andy Heninger [Mon, 5 Nov 2018 19:16:41 +0000 (11:16 -0800)]
ICU-20172 Add ICU4C dependency checker to Travis CI

6 years agoICU-13180 Support skiping building the UWP projects with a command line MSBuild option.
Jeff Genovy [Tue, 23 Oct 2018 06:12:07 +0000 (23:12 -0700)]
ICU-13180 Support skiping building the UWP projects with a command line MSBuild option.

6 years agoICU-20255 revert to reflection for methods not yet in Android API level 21..23
Markus Scherer [Mon, 5 Nov 2018 23:21:08 +0000 (15:21 -0800)]
ICU-20255 revert to reflection for methods not yet in Android API level 21..23

6 years agoICU-20169 Use LocalULanguageTagPointer also inside of ultag_parse().
Fredrik Roubert [Fri, 2 Nov 2018 17:13:25 +0000 (18:13 +0100)]
ICU-20169 Use LocalULanguageTagPointer also inside of ultag_parse().

6 years agoICU-20202 Replace CodePointMatcherWarehouse with MemoryPool.
Fredrik Roubert [Mon, 29 Oct 2018 21:20:30 +0000 (22:20 +0100)]
ICU-20202 Replace CodePointMatcherWarehouse with MemoryPool.

The shared templated helper class MemoryPool can be used to replace the
local helper class CodePointMatcherWarehouse, reducing the amount of
specialized code needed.

6 years agoICU-10183 revert mutexes to platform code while sorting dependencies from std::mutex.
Andy Heninger [Fri, 2 Nov 2018 22:34:35 +0000 (15:34 -0700)]
ICU-10183 revert mutexes to platform code while sorting dependencies from std::mutex.

6 years agoICU-20202 MemoryPool and uloc_key_type structs inherit from UMemory. Fixes dependenci...
Andy Heninger [Fri, 2 Nov 2018 21:54:45 +0000 (14:54 -0700)]
ICU-20202 MemoryPool and uloc_key_type structs inherit from UMemory. Fixes dependencies on global operator new().

6 years agoICU-20246 Fixing another integer overflow in number parsing.
Shane Carr [Tue, 30 Oct 2018 06:52:44 +0000 (23:52 -0700)]
ICU-20246 Fixing another integer overflow in number parsing.

6 years agoICU-10183 Mutexes, add C++11 std::mutex based implementation.
Andy Heninger [Sat, 29 Sep 2018 00:02:04 +0000 (17:02 -0700)]
ICU-10183 Mutexes, add C++11 std::mutex based implementation.

6 years agoICU-20169 Use smart pointers in all locale code instead of u*_close().
Fredrik Roubert [Wed, 31 Oct 2018 14:07:05 +0000 (15:07 +0100)]
ICU-20169 Use smart pointers in all locale code instead of u*_close().

Doing this consistently first will make it easier to then clean up
resource management and error handling later.

6 years agoICU-20158 Pass ByteSink from Locale::forLanguageTag() to uloc_forLanguageTag().
Fredrik Roubert [Tue, 30 Oct 2018 22:35:03 +0000 (23:35 +0100)]
ICU-20158 Pass ByteSink from Locale::forLanguageTag() to uloc_forLanguageTag().

This eliminates the need for a scratch buffer in Locale::forLanguageTag()
and also the need for counting bytes required in uloc_forLanguageTag(),
something that ByteSink will now handle correctly.

6 years agoICU-20202 Replace char* kwdBuf with MemoryPool<CharString>.
Fredrik Roubert [Tue, 30 Oct 2018 21:12:07 +0000 (22:12 +0100)]
ICU-20202 Replace char* kwdBuf with MemoryPool<CharString>.

Instead of _appendLDMLExtensionAsKeywords() requiring to receive a pre-
allocated buffer of sufficient size to store all the temporary strings
it needs to store, have it use a MemoryPool<CharString> to allocate
storage space as needed.

Storing strings as individual CharString objects, instead of as NUL
delimited substrings in a contiguous memory area, also eliminates the
need for keeping track of string boundaries and NUL terminators.

6 years agoICU-20245 tzdata2018g updates
Yoshito Umaoka [Tue, 30 Oct 2018 12:50:34 +0000 (08:50 -0400)]
ICU-20245 tzdata2018g updates

6 years agoICU-20221 Add support for building with Cygwin/GCC to the AppVeyor CI builds.
Jeff Genovy [Fri, 26 Oct 2018 18:18:35 +0000 (11:18 -0700)]
ICU-20221 Add support for building with Cygwin/GCC to the AppVeyor CI builds.

6 years agoICU-20202 Replace UVector with MemoryPool in uloc_keytype.
Fredrik Roubert [Mon, 29 Oct 2018 21:50:27 +0000 (22:50 +0100)]
ICU-20202 Replace UVector with MemoryPool in uloc_keytype.

By moving the required call to uhash_close() into the destructor of
LocExtKeyData and using CharString instead of raw chunks of bytes
allocated with uprv_malloc(), it becomes easier to guarantee that
memory handling is correct, without leaks or overflows.

With the need for custom deleter functions removed, the code doesn't use
any of the additional functionality provided by UVector, it just needs a
simple way to keep track of allocated objects to delete them after it's
done using them, which MemoryPool does in a simpler and typesafe way.

6 years agoICU-20202 Replace UVector with MemoryPool in CalendarDataSink.
Fredrik Roubert [Mon, 29 Oct 2018 21:29:12 +0000 (22:29 +0100)]
ICU-20202 Replace UVector with MemoryPool in CalendarDataSink.

CalendarDataSink doesn't use any of the additional functionality
provided by UVector, it just needs a simple way to keep track of
allocated objects to delete them after it's done using them.

6 years agoICU-20231 Adding tests for accounting with variable currency widths.
Shane Carr [Wed, 24 Oct 2018 06:47:30 +0000 (23:47 -0700)]
ICU-20231 Adding tests for accounting with variable currency widths.

6 years agoICU-20159 Fixing gcc warnings in project and test code.
Shane Carr [Thu, 25 Oct 2018 01:48:55 +0000 (18:48 -0700)]
ICU-20159 Fixing gcc warnings in project and test code.

6 years agoICU-13701 Adding custom logic for nickel rounding, C and J.
Shane Carr [Fri, 26 Oct 2018 00:50:10 +0000 (17:50 -0700)]
ICU-13701 Adding custom logic for nickel rounding, C and J.

Avoids expensive arithmetic when performing nickel rounding for currencies such as CAD, CHF, and DKK.

6 years agoICU-20209 Fix build failures on Windows with std::atomic not in enclosing namespace std
Jeff Genovy [Fri, 19 Oct 2018 23:19:24 +0000 (16:19 -0700)]
ICU-20209 Fix build failures on Windows with std::atomic not in enclosing namespace std

Also: Change to use the ICU namespace macro instead, and skip doxygen as well.

6 years agoICU-20202 Replace CharStringPool with MemoryPool.
Fredrik Roubert [Mon, 29 Oct 2018 21:12:00 +0000 (22:12 +0100)]
ICU-20202 Replace CharStringPool with MemoryPool.

The shared templated helper class MemoryPool is a drop-in replacement
for the local helper class CharStringPool, with a simpler implementation
and an interface that allows parameters to be passed to the constructor.

6 years agoICU-20202 Add an internal helper class to own heap allocated objects.
Fredrik Roubert [Wed, 24 Oct 2018 20:45:25 +0000 (22:45 +0200)]
ICU-20202 Add an internal helper class to own heap allocated objects.

This will be used first to replace existing locally defined memory
management helper classes such as CharStringPool (uloc_tag.cpp) and
CodePointMatcherWarehouse (numparse_affixes.h), then in new code.

6 years agoICU-20235 Undefine OVERFLOW in case Microsoft math.h has defined it.
Fredrik Roubert [Fri, 26 Oct 2018 11:03:13 +0000 (13:03 +0200)]
ICU-20235 Undefine OVERFLOW in case Microsoft math.h has defined it.

6 years agoICU-20240 Fix Windows build failure in japancal.cpp
Jeff Genovy [Fri, 26 Oct 2018 00:13:23 +0000 (17:13 -0700)]
ICU-20240 Fix Windows build failure in japancal.cpp