Commit Graph

30383 Commits

Author SHA1 Message Date
Markus Scherer
3b16ae86c6 ICU-20292 u_charFromName() prevent code point integer overflow, and limit to at most 8 hex digits 2018-12-12 14:08:37 -08:00
Jeff Genovy
3db38553ad ICU-20279 Remove MSVC specific macro _ARM64_
Remove unneeded check for MSVC internal _ARM64_ macro in normlzr.cpp
2018-12-12 13:55:07 -08:00
Shane Carr
c30cd07c7e ICU-20299 Adds Python 2.7 support to data build script. 2018-12-12 12:56:00 -08:00
Victor Chang
95b9d5ec87 ICU-20307 Add reldatefmt.h and compactdecimalformat.h into test/hdrtst/cxxfiles.txt 2018-12-12 06:48:57 -08:00
Victor Chang
6caa276083 ICU-20295 Fix wrong java doc of "{#link" in TimeZoneFormat 2018-12-12 06:45:37 -08:00
Shane Carr
70341459e3 ICU-10923 Fixing broken dependency names in BUILDRULES.py.
Fixes warnings and a flaky test.
2018-12-10 23:49:04 -08:00
Shane Carr
a2a39e69d0 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.
2018-12-07 16:51:18 -08:00
Shane Carr
a4dd8b3702 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.
2018-12-07 16:12:38 -08:00
Frank Tang
de4031b783 ICU-11053 Fix locale parsing which has _ timezone 2018-12-05 19:16:13 -08:00
Shane Carr
bb2b390b87 ICU-20186 Adding test for leading and trailing spaces in DecimalFormat. 2018-12-05 15:37:38 -08:00
Steven R. Loomis
00b360227b 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
2018-12-05 14:32:36 -08:00
Mat Booth
02d2f0dcf3 ICU-20287 ICU4J source tarball does not contain maven pom templates 2018-12-05 12:54:20 -05:00
Shane Carr
cd4644c4a0 ICU-20293 Adds common base class to implement C API validation methods. 2018-12-04 15:57:06 -08:00
Andy Heninger
e1e5f363a0 ICU-20288 add line_cj.txt to RBBI Monkey test. 2018-11-30 10:57:21 -08:00
Andy Heninger
11da8d646d ICU-11919 OlsonTimeZone, fix for Thread Sanitizer failure in cloneAsThawed(). 2018-11-29 11:09:50 -08:00
Markus Scherer
ea7c030961 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++
2018-11-28 23:13:07 +01:00
Shane Carr
1e4a8d3c29 ICU-20186 Adding test for semicolon behavior and spacing in DecimalFormat. 2018-11-26 18:49:32 -06:00
Jeff Genovy
e291a39c0d ICU-20281 Reenable the VS2015 build bot. Use manual install of Py3. 2018-11-21 13:14:04 -08:00
Fredrik Roubert
6f932b744d 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.
2018-11-20 19:24:33 +01:00
Jeff Genovy
8a3e1b8d36 ICU-10923 Disable the VS2015 build until the Azure VM image has a working Python 3. 2018-11-19 17:19:01 -08:00
Andy Heninger
47d455a725 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.
2018-11-19 17:17:09 -08:00
Shane Carr
c0799c141b 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.
2018-11-19 16:21:36 -07:00
Shane Carr
ee9c0b944c 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
2018-11-19 13:43:35 -07:00
Fredrik Roubert
2d3901ae5d ICU-20271 Use C++11 operator new = delete to disallow heap allocation. 2018-11-19 13:59:36 +01:00
Andy Heninger
6c781b1428 ICU-10183 Use std::mutex by default; clean up related dependency check issues. 2018-11-18 16:28:40 -08:00
Shane Carr
74bbf9e381 ICU-13267 Implementing MEASURE_UNIT field.
Adds plumbing to trim whitespace near the FormattedNumber API boundary.
That plumbing requires a change to dependencies.txt.
2018-11-15 21:37:32 -07:00
Dongyuan Liu
46a888be87 ICU-13441 For zh/ja, tailor linebreak classes for quotations such as “ 201C and ” 201D 2018-11-14 19:53:12 -08:00
Andy Heninger
776b9d7f2b ICU-20185 Remove U_USER_ATOMICS_H, U_USER_MUTEX_H, U_USER_MUTEX_CPP 2018-11-13 14:48:48 -08:00
Fredrik Roubert
f38c928960 ICU-20202 Merge #ifdef __cplusplus blocks.
For historical reasons (commit 3b12074b40),
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 1bad36b91a).
2018-11-13 22:58:27 +01:00
Andy Heninger
d6c3b271fe ICU-20084 IntlTest, add WHERE macro; remove redundant TEST macros. 2018-11-13 11:08:35 -08:00
Jeff Genovy
7756ee0446 ICU-20239 Add VS2015 build line to the Azure CI builds. 2018-11-12 16:44:44 -08:00
Markus Scherer
98f9170004 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
2018-11-12 16:05:57 -08:00
Jeff Genovy
be7c5dbcb0 ICU-20215 Conver the VSTS/Azure CI builds definitions to a YML file in the repo (similar to .travis.yml) 2018-11-11 16:30:01 -08:00
Jeff Genovy
401cdb46ef ICU-20238 Autodetect Visual Studio version, and autodetect the installed Windows 10 SDK version. 2018-11-08 16:46:36 -08:00
Shane Carr
e2882d961f ICU-13267 Minor documentation and test changes. 2018-11-08 17:13:39 -07:00
Shane Carr
11a559f319 ICU-13267 Refactoring field position testing logic into helper function.
Makes future field position logic easier to test.
2018-11-08 17:13:29 -07:00
Shane Carr
ba21ff79c4 ICU-13701 Syncs C and J increment rounding. Checks for nickel sooner. 2018-11-08 17:13:17 -07:00
Shane Carr
a1cc16ccd3 ICU-13701 Refactoring DecimalQuantity: removing lOptPos/rOptPos.
Combined ICU4C and ICU4J.
2018-11-08 02:43:31 -07:00
Markus Scherer
59006770ed ICU-20250 faster MutableCodePointTrie.build(): use a hashtable to find equal blocks in earlier parts of the compacted data & index arrays 2018-11-07 14:29:24 -08:00
Fredrik Roubert
93e84caa65 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.
2018-11-07 17:58:14 +01:00
Fredrik Roubert
710212c495 ICU-20249 An internal helper class for stack allocated UResourceBundle. 2018-11-07 17:57:50 +01:00
Andy Heninger
92d0d1447f ICU-20172 Add ICU4C dependency checker to Travis CI 2018-11-06 17:50:37 -08:00
Jeff Genovy
9a5b7af83d ICU-13180 Support skiping building the UWP projects with a command line MSBuild option. 2018-11-06 16:02:03 -08:00
Markus Scherer
cee3c150ab ICU-20255 revert to reflection for methods not yet in Android API level 21..23 2018-11-06 08:05:37 -08:00
Fredrik Roubert
9877b633a2 ICU-20169 Use LocalULanguageTagPointer also inside of ultag_parse(). 2018-11-06 13:28:54 +01:00
Fredrik Roubert
9de0383cfa 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.
2018-11-05 13:37:10 +01:00
Andy Heninger
a96dc7faa5 ICU-10183 revert mutexes to platform code while sorting dependencies from std::mutex. 2018-11-02 15:59:03 -07:00
Andy Heninger
1bad36b91a ICU-20202 MemoryPool and uloc_key_type structs inherit from UMemory. Fixes dependencies on global operator new(). 2018-11-02 15:38:31 -07:00
Shane Carr
53d8c8f3d1 ICU-20246 Fixing another integer overflow in number parsing. 2018-10-31 13:37:09 -07:00
Andy Heninger
f71796d5e5 ICU-10183 Mutexes, add C++11 std::mutex based implementation. 2018-10-31 13:07:19 -07:00