Romain Geissler [Sun, 28 Oct 2018 22:50:51 +0000 (22:50 +0000)]
ICU-20244 Fix gcc stringop-overflow warning/error in uloc.cpp.
Shane Carr [Fri, 25 Jan 2019 03:44:17 +0000 (19:44 -0800)]
ICU-11725 Promoting tech-previews in DecimalFormat to @draft.
- Changes Java DecimalFormat boolean get* methods to is*.
- Makes the new draft methods non-virtual.
- Removes obsolete template class in header file.
- Adds proper U_HIDE tags in unum.h and decimfmt.h
Shane Carr [Wed, 13 Feb 2019 21:16:15 +0000 (13:16 -0800)]
ICU-20121 Fixing docs tags in FormattedList.
Shane Carr [Wed, 13 Feb 2019 22:37:30 +0000 (14:37 -0800)]
ICU-20138 Adding matchesField as draft and removing getConstraintType.
Shane F. Carr [Wed, 13 Feb 2019 19:40:16 +0000 (11:40 -0800)]
ICU-10923 Remove unused variable AVAILABLE_FEATURES.
Markus Scherer [Tue, 12 Feb 2019 06:13:46 +0000 (22:13 -0800)]
ICU-20187 drop support for long-obsolete locale ID variants
Markus Scherer [Wed, 13 Feb 2019 22:35:10 +0000 (14:35 -0800)]
ICU-20111 move text layout properties data into a new ulayout.icu data file
Frank Tang [Tue, 23 Oct 2018 01:17:55 +0000 (09:17 +0800)]
ICU-20328 Implement LocaleBuilder
Design Doc: https://goo.gl/Qf12p3
Jeff Genovy [Mon, 11 Feb 2019 05:33:00 +0000 (21:33 -0800)]
ICU-20416 Various OOM fixes for calendar.cpp
Jeff Genovy [Fri, 18 Jan 2019 19:45:44 +0000 (11:45 -0800)]
ICU-20100 Change the name of the TimeZone::getDisplayName daylight parameter.
The TimeZone::getDisplayName "daylight" parameter conflicts with an existing macro in the CRT "time.h" header.
Tobias Stoeckmann [Sat, 19 Jan 2019 13:24:56 +0000 (14:24 +0100)]
ICU-20362 segfault/leftover files with long lines
If a file with an input line larger than INT32_MAX (i.e. 2 GB) contains
an UTF8 character after that limit, escapesrc crashes on 64 bit systems
or does not remove incomplete files on 32 bit systems.
The issue is that an unchecked cast from size_t to int32_t can turn
negative, which results in negative offsets during array access.
This will eventually lead to an out of boundary read, which most likely
crashes the tool.
This patch sets a fixed limit on 1 GB to make sure that no side effects
occur if the line is exactly INT32_MAX or a few bytes less. It should
still be way more than anyone would really need.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Tobias Stoeckmann [Sat, 19 Jan 2019 15:54:18 +0000 (16:54 +0100)]
ICU-20363 Out of boundary write on empty file.
If gencnval encounters an empty input file the function resolveAlias
triggers an out of boundary write due to uniqueAliasArr pointing to
a 0 byte reserved memory address.
This patch protects the code in question with a check for
knownAliasesCount being not 0.
Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
Nebojsa Ciric [Tue, 12 Feb 2019 19:23:22 +0000 (11:23 -0800)]
ICU-11991 Fixed memory leak in parse.cpp
Squashed commits for merge.
Shane Carr [Mon, 11 Feb 2019 23:53:31 +0000 (15:53 -0800)]
ICU-20342 Adding FormattedDateInterval in C and C++.
- Adds first "span" field category
- Re-implements DateIntervalFormat#fallbackFormat to use FieldPositionHandler
- New temporary wiring in SimpleFormatter
Daniel Ju [Tue, 5 Feb 2019 22:02:15 +0000 (14:02 -0800)]
ICU-13789 ICU-20387 ICU4C PerfTest does not build, Upgrade various *.vcxproj files
Jeff Genovy [Fri, 8 Feb 2019 19:31:12 +0000 (11:31 -0800)]
ICU-20382 ICU4C: pkgdata and genccode support ARM32 but not ARM64 on Windows platforms.
Shane Carr [Sat, 9 Feb 2019 06:08:16 +0000 (22:08 -0800)]
ICU-13256 Implementing FormattedRelativeDateTime in C, C++, and Java.
- Adds additional logic to NumberStringBuilder.
- Extends logic of number::impl::Field type.
- Adds tests for RBNF support.
- Adds tests from ftang's original PR.
Shane F. Carr [Fri, 8 Feb 2019 23:10:59 +0000 (15:10 -0800)]
ICU-20332 Adding duration-person unit data and APIs to C and J.
- Rebuilds ICU4J data jars.
- Includes a workaround in data loading to be fixed with ICU-20400.
Shane F. Carr [Mon, 28 Jan 2019 05:29:12 +0000 (21:29 -0800)]
ICU-20378 Changing APIs for UFieldCategory to int32_t.
Andy Heninger [Wed, 5 Dec 2018 21:34:34 +0000 (13:34 -0800)]
ICU-12017 Improve line break around numbers.
Andy Heninger [Sat, 2 Feb 2019 00:05:46 +0000 (16:05 -0800)]
ICU-20385 Regex, fix pattern compile problem with look-behind patterns that cannot match.
Andy Heninger [Thu, 7 Feb 2019 02:01:04 +0000 (18:01 -0800)]
ICU-20401 rbbi break rules, update comments to match current UAX versions.
Markus Scherer [Tue, 8 Jan 2019 01:41:08 +0000 (17:41 -0800)]
ICU-20330 simplify LocaleMatcher code:
- widen API from LocalePriorityList to Iterable
- merge getBestMatch(multiple locales) and getBestMatch(single locale) into one function
- process desired locales incrementally, create fewer objects
- reject poor matches early: use bestDistance-demotion for threshold
- add API for java.util.Locale, convert incrementally
- new feature: tracks indexes of supported and desired locales which eliminates conversion of result objects in wrappers around getBestMatch() as shown by the java.util.Locale API here
- simpler data structures, more serialization-friendly (easier to port to C++)
- e.g., use a BytesTrie each for likelySubtags & locale distance, instead of layers of TreeMap
- un-hardcode locale matcher data; use modern resource bundle functions
- split builder code & runtime code into separate classes
- move LSR to simple top-level value class, cache regionIndex in LSR
- simpler handling of private use languages and pseudolocales
- simplify RegionMapper
- LocaleDistance builder: move the node distance into the DistanceTable, remove DistanceNode
- support distance rules with region codes, not just with variables
- enforce & use distance rule constraints:
- no rule with *,supported or desired,*
- no rule with language * and script/region non-*
- distance trie collapse a (desired, supported)=(ANY, ANY) pair into a single *
- look up each desired language only once for all supported LSRs
- remove layers-of-Maps compaction (trie builder compacts)
- remove unused XML printing
- remove other unused code
- make XLocaleMatcherTest.testPerf() exercise locale distance lookup code
Shane Carr [Thu, 7 Feb 2019 00:03:10 +0000 (16:03 -0800)]
ICU-20138 Copy fErrorCode in FormattedValue subclass macro.
Shane Carr [Wed, 6 Feb 2019 22:38:36 +0000 (14:38 -0800)]
ICU-20360 Testing and fixing stack overflow in numparse.
Shane F. Carr [Fri, 8 Feb 2019 00:25:16 +0000 (16:25 -0800)]
ICU-20121 Changing C API method name to ulistfmt_formatStringsToResult.
Shane F. Carr [Tue, 5 Feb 2019 06:24:00 +0000 (22:24 -0800)]
ICU-20121 Initial UFormattedList implementation, C.
Shane F. Carr [Tue, 5 Feb 2019 02:47:04 +0000 (18:47 -0800)]
ICU-20121 Initial FormattedList implementation, C++.
Jeff Genovy [Thu, 7 Feb 2019 22:53:53 +0000 (14:53 -0800)]
ICU-20389 Add MSVC Debug build to the Azure CI builds.
Also increase the timeout for the debug build.
Markus Scherer [Thu, 7 Feb 2019 19:56:14 +0000 (11:56 -0800)]
ICU-20373 simpler state saving for Java string tries via long not object
Frank Tang [Fri, 21 Dec 2018 22:45:47 +0000 (14:45 -0800)]
ICU-20320 Fix the missing digit singleton extension
Add space
add test cases for Java and fix Java code
Frank Tang [Wed, 26 Dec 2018 21:48:17 +0000 (13:48 -0800)]
ICU-20321 Fix ultag_isUnicodeLocaleKey
Returns false when passingin alphanum digit.
Sync with UTS35
https://www.unicode.org/reports/tr35/#Unicode_locale_identifier
address review feedback add unit tests.
Fix Java too
add test cases to c++
Fix format
change test case
Shane Carr [Sat, 19 Jan 2019 07:34:23 +0000 (23:34 -0800)]
ICU-20337 Adding value getters to C++ MeasureUnit API.
ICU-20337 Restoring comments in MeasureUnitTest.java
Peter Edberg [Thu, 7 Feb 2019 00:40:35 +0000 (16:40 -0800)]
ICU-20306 Remove incorrect #ifndef U_HIDE_INTERNAL_API around UTEXT_MAGIC
Shane Carr [Thu, 7 Feb 2019 00:19:48 +0000 (16:19 -0800)]
ICU-10923 Fixing warning in testdata build file.
Markus Scherer [Wed, 6 Feb 2019 23:23:17 +0000 (15:23 -0800)]
ICU-20375 string tries: covariant clone() return types, and copy constructors
Markus Scherer [Thu, 7 Feb 2019 00:08:17 +0000 (16:08 -0800)]
ICU-13081 test self-move without clang warning
Daniel Ju [Tue, 5 Feb 2019 19:12:18 +0000 (11:12 -0800)]
ICU-20002 Modify Windows 'distrelease.ps1' for 32-bit (x86) builds
Markus Scherer [Wed, 6 Feb 2019 22:37:48 +0000 (14:37 -0800)]
ICU-20213 deprecate BreakIterator::createTitleInstance()
Andy Heninger [Wed, 6 Feb 2019 01:24:29 +0000 (17:24 -0800)]
ICU-20376 Add out-of-source build testing to Travis.
Markus Scherer [Wed, 6 Feb 2019 19:49:34 +0000 (11:49 -0800)]
ICU-13081 remove C++ moveFrom() functions: still draft, but obsolete since we require C++11 which has std::move()
Steven R. Loomis [Wed, 6 Feb 2019 00:33:26 +0000 (16:33 -0800)]
ICU-20395 Fix cldr-icu-readme.txt to not mention whitelist
Markus Scherer [Wed, 6 Feb 2019 00:52:29 +0000 (16:52 -0800)]
ICU-20376 makeconv prepend relative sourcedir to args; only ignore if nothing but a single dot
Peter Edberg [Wed, 6 Feb 2019 07:29:46 +0000 (23:29 -0800)]
ICU-20347 Update ICU4J test to reflect expected behavior
Peter Edberg [Wed, 6 Feb 2019 05:45:03 +0000 (21:45 -0800)]
ICU-20347 In ICU4J, parsing emoty string should set PARSE_ERROR as before; check ICU4J behavior
Shane F. Carr [Tue, 5 Feb 2019 02:47:04 +0000 (18:47 -0800)]
ICU-20138 Macros for C and C++ FormattedValue subclass boilerplate.
- Includes macros for implementation only. Headers should be spelled out.
Shane F. Carr [Tue, 5 Feb 2019 02:45:56 +0000 (18:45 -0800)]
ICU-20138 Adding FormattedValue helper implementation for FPI handlers.
- Changes FieldPositionIterator (FPI) to use tetrads in the UVector32.
Shane F. Carr [Mon, 4 Feb 2019 22:21:41 +0000 (14:21 -0800)]
ICU-20138 Implementing ufmtval_nextPosition and additional test infra.
- Adds test infra for multi-category formatted values.
- Adds helper method ConstrainedFieldPosition#matchesField, currently internal.
Peter Edberg [Wed, 6 Feb 2019 00:33:28 +0000 (16:33 -0800)]
ICU-20253 ICU4C RelativeDateTimeFormatter should fall back to OTHER case, as in ICU4J
Jeff Genovy [Mon, 15 Oct 2018 18:07:39 +0000 (11:07 -0700)]
ICU-20204 ICU4C: Use the CreateFileMapping API for both the UWP version and Win32 versions.
- CreateFileMappingW is marked for both desktop and UWP apps, so we can call that in both code paths.
- We can use the W version of the CreateFileMapping API instead of A version since we pass a NULL for the name anyways.
- We can call the same API CreateFile[A|W] from both the UWP and Win32 versions of the code, reducing one of the UWP forks.
- Add a work-around for older versions of the Windows 10 SDK UWP headers.
- Remove the code that was creating a custom security descriptor (but setting everything to NULL) and pass null to the API directly. This way we will get the default security descriptor instead of the NULL dacl.
- Change to use nullptr instead of NULL in C++ code.
Peter Edberg [Tue, 5 Feb 2019 21:32:52 +0000 (13:32 -0800)]
ICU-20374 need unum_close in new TestParseCases
Peter Edberg [Tue, 5 Feb 2019 19:34:29 +0000 (11:34 -0800)]
ICU-20374 Formattable::internalGetCharString should produce int string for types kLong or kInt64
Jeff Genovy [Sun, 3 Feb 2019 06:59:32 +0000 (22:59 -0800)]
ICU-20388 ICU4C: intltest fails with a "Debug Assertion Break" on MSVC when compiled for Debug.
Need to use free() with malloc() instead of uprv_free().
Jeff Genovy [Mon, 4 Feb 2019 22:29:09 +0000 (14:29 -0800)]
ICU-13847 ICU-20381 Improve handling of errors (Out-of-Memory) in DecimalFormat class.
- Use move assignment for fields->formatter (LocalizedNumberFormatter) instead of creating new heap object every time.
- Add test cases for DecimalFormat object in invalid state.
- Protect against self-assignment in assignment operator.
- Fix segmentation fault when attempting to compare valid and invalid DecimalFormat objects.
- Changes based on review feedback from Shane.
- Fix minor typos in the public header file.
Jeff Genovy [Sun, 3 Feb 2019 05:53:51 +0000 (21:53 -0800)]
ICU-20393 ICU4C: Scale move assignment operator leaks the fArbitrary member (96 bytes)
Norbert Runge [Fri, 1 Feb 2019 18:22:10 +0000 (10:22 -0800)]
ICU-20217 Replaces seed corpus zip files with the original txt files.
The problem is that Docker receives zip files only as LFS links when
cloning ICU from GitHub. Converting the txt files into zip files, which
is the required corpus format for the fuzzer, will be done by the oss-fuzz
build script.
ICU-20217 Adds fuzzer seed corpus files to the list of files that don't have
copyright notice.
Norbert Runge [Thu, 31 Jan 2019 22:22:38 +0000 (14:22 -0800)]
ICU-20386 Adds workaround to icu4c/source/data/Makefile.in: Help python to find
the buildtools directory it needs when running the ICU4C unit tests in an
out-of-source installation.
The change is a quick workaround for now for an issue that can have wide impact.
Daniel Ju [Tue, 29 Jan 2019 03:06:14 +0000 (19:06 -0800)]
ICU-20220 ICU4C: Use anonymous namespace instead of 'static' keyword in uspoof.cpp
Mihai Nita [Wed, 23 Jan 2019 19:20:06 +0000 (11:20 -0800)]
ICU-9622 Update documentation for MessageFormat and skeletons (#361)
Shane F. Carr [Mon, 28 Jan 2019 09:04:48 +0000 (01:04 -0800)]
ICU-20357 Adding std::unique_ptr conversions to LocalXyzPointer macro.
Norbert Runge [Fri, 25 Jan 2019 20:58:18 +0000 (12:58 -0800)]
ICU-20217 Adds additional ICU4C fuzzers.
Shane Carr [Thu, 24 Jan 2019 04:49:33 +0000 (20:49 -0800)]
ICU-20298 Adding improved locale filtering to buildtool.
- Integrates changes from cldrbug 11802 to ICU.
- Adds test suite for buildtool.
- Adds new filter type "union".
Shane Carr [Fri, 11 Jan 2019 07:42:43 +0000 (23:42 -0800)]
ICU-13839 Adding FormattedNumber API to PluralRules.
- Makes new dependency class for PluralRules+FormattedNumber.
Jeff Genovy [Sat, 26 Jan 2019 00:12:27 +0000 (16:12 -0800)]
ICU-20200 Fix mistaken move of MSB8012 warning suppression from shared props file to Library only props file.
Jeff Genovy [Tue, 22 Jan 2019 21:45:01 +0000 (13:45 -0800)]
ICU-20200 Treat select warnings as errors in the ICU4C library code (with MSVC).
Shane Carr [Wed, 23 Jan 2019 08:26:31 +0000 (00:26 -0800)]
ICU-10923 Adding unix-exec mode to buildtool and updating help page.
- Renames --format flag to --mode.
- Renames windirect to windows-exec.
Don [Mon, 24 Sep 2018 23:37:13 +0000 (16:37 -0700)]
ICU-20171 Fix buffer overrun in genccode
Shane Carr [Fri, 11 Jan 2019 21:47:33 +0000 (13:47 -0800)]
ICU-13800 Adding clone() on [Un]LocalizedNumber[Range]Formatter.
- Returns a LocalPointer that can be converted to std::unique_ptr.
Victor Chang [Fri, 25 Jan 2019 14:26:41 +0000 (14:26 +0000)]
ICU-20350 Fix DecimalFormatSymbols.setPatternForCurrencySpacing affecting the value across instances
Jeff Genovy [Wed, 16 Jan 2019 22:05:43 +0000 (14:05 -0800)]
ICU-20074 Revise UPRV_UNREACHABLE macro to always call abort().
Moved the macro from platform.h to uassert.h.
Removed any "unreachable" code that previously occurred after the UPRV_UNREACHABLE macro is used.
Changes based on review from Andy.
Co-authored-by: Daniel Ju <daju@microsoft.com>
Shane Carr [Fri, 25 Jan 2019 00:13:04 +0000 (16:13 -0800)]
ICU-20357 Adding LocalPointer conversion methods to/from std::unique_ptr
- Requires the right side to be an rvalue reference.
- Includes move constructor, move operator, and conversion operator.
Frank Tang [Tue, 15 Jan 2019 06:33:20 +0000 (22:33 -0800)]
ICU-20355 Fixing Java currency long name field.
- Adds test in ICU4C and ICU4J.
Shane Carr [Sat, 19 Jan 2019 08:11:03 +0000 (00:11 -0800)]
ICU-20283 Updating docs of old FormattedNumber field position methods.
Most users can use the new method, but these methods may still be useful when needing to interact with the FieldPosition-based APIs.
Shane Carr [Sat, 19 Jan 2019 06:30:12 +0000 (22:30 -0800)]
ICU-13657 Adding NumberFormatter skeleton factory method with UParseError.
- Includes small fixes to StringSegment and to tests.
Jeff Genovy [Tue, 22 Jan 2019 00:52:15 +0000 (16:52 -0800)]
ICU-20370 Fix error checking in uloc_getLCID function.
Jeff Genovy [Sat, 19 Jan 2019 09:08:25 +0000 (01:08 -0800)]
ICU-20206 ICU4C: Make USE_WINDOWS_LCID_MAPPING_API compile-time configurable.
Shane Carr [Sat, 19 Jan 2019 03:01:30 +0000 (19:01 -0800)]
ICU-13746 Removing number formatting APIs deprecated in ICU 62.
Includes both ICU4C and ICU4J.
Andy Heninger [Wed, 7 Nov 2018 23:12:13 +0000 (15:12 -0800)]
ICU-20089 Add ICU4C Docs build to Travis CI
Jeff Genovy [Tue, 22 Jan 2019 01:01:24 +0000 (17:01 -0800)]
ICU-20369 ICU4C: Report OOM errors in the utrie2_clone function.
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.
Shane Carr [Thu, 17 Jan 2019 22:57:42 +0000 (14:57 -0800)]
ICU-20358 Clean up grouping resolution in DecimalFormat#toPattern().
Jeff Genovy [Wed, 9 Jan 2019 06:16:31 +0000 (22:16 -0800)]
ICU-20323 Suppress MSYS2 GCC warning about std::atomic visibility (Windows).
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.
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
Shane Carr [Fri, 11 Jan 2019 08:43:20 +0000 (00:43 -0800)]
ICU-20183 Adding CurrencyUnit StringPiece constructor.
- Adds function uprv_memchr.
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.
Jeff Genovy [Fri, 11 Jan 2019 20:23:43 +0000 (12:23 -0800)]
ICU-20351 Warning cleanup changes for ICU4C under MSVC.
Jeff Genovy [Mon, 14 Jan 2019 22:46:29 +0000 (14:46 -0800)]
ICU-20353 Fix MSVC Warning/Error C4251 with CodePointMatcherWarehouse and MemoryPool.
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
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.
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.
Daniel Ju [Sat, 12 Jan 2019 00:08:49 +0000 (16:08 -0800)]
ICU-13653 Quiet warnings about output target when building with MSVC
Shane Carr [Fri, 11 Jan 2019 21:52:47 +0000 (13:52 -0800)]
ICU-13701 Removing obsolete logKnownIssue since bug is fixed.
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.
Shane Carr [Fri, 11 Jan 2019 05:23:37 +0000 (21:23 -0800)]
ICU-13701 Use exact string-to-double conversion in 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].
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).
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).
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.
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