Commit Graph

21925 Commits

Author SHA1 Message Date
Jeff Genovy
d89c4909f8 ICU-20802 Need to use LocalMemory in uloc_openKeywordList, not LocalPointer 2019-08-31 00:30:12 -07:00
Markus Scherer
616b3c5647 ICU-13647 fix SearchIterator docs sample: getMatchedLength() not getMatchLength() 2019-08-30 23:12:29 -07:00
Markus Scherer
e9285d9675 ICU-20518 update u_isbase() reference to Unicode Standard Base character 2019-08-30 17:06:33 -07:00
Jeff Genovy
973a96785e ICU-20802 OOM not handled in uloc_openKeywordList.
Also change to use LocalPointer and nullptr instead of NULL.
2019-08-30 16:35:26 -07:00
Markus Scherer
c4f68c3790 ICU-13649 UnicodeString docs: mention std::string clear() to make remove() easier to find 2019-08-30 16:24:10 -07:00
Jeff Genovy
543495da74 ICU-20368 OOM not handled in NumberFormatterImpl::macrosToMicroGenerator 2019-08-30 16:00:06 -07:00
Peter Edberg
0801dd0bdd ICU-20577 Restore C MeasureFormat ability to adopt non-decimal number formatter (#789) 2019-08-30 15:53:05 -07:00
Markus Scherer
7237fc58b4 ICU-12086 ICU-12165 Currency.getName() param isChoiceFormat can be null, make it so, document, use null in library code 2019-08-30 14:47:19 -07:00
Victor Chang
6ff43608d2 ICU-20589 Fix EraRulesTest#testAPIs failure on 1 May 2019 2019-08-30 17:21:25 -04:00
Peter Edberg
f46b567ba3 ICU-20701 Add more PluralRules tests for locales with keywords 2019-08-30 10:06:21 -07:00
Daniel Ju
cfe093e945 ICU-20795 BRS65RC Update version numbers and readme files, regenerate JARs 2019-08-30 17:58:24 +02:00
Peter Edberg
62914d1f07 ICU-20620 cap UNUM_MAX_FRACTION_DIGITS setting at 999 2019-08-29 16:12:09 -07:00
Frank Tang
eeb759063b ICU-20799 delete calendarToAdopt upon error
ICU-20799 add unit tests

ICU-20799 initialize error and add comments.
2019-08-29 15:49:37 -07:00
Jeff Genovy
c28505caaa ICU-20555 Fix Windows build failures with long paths: Use PowerShell when command length exceeds CMD's limit. 2019-08-29 12:22:56 -07:00
Jeff Genovy
b702db31df ICU-20680 Add comments about UPRV_UNREACHABLE to u_UCharsToChars and CEIBuffer::get[Previous]. 2019-08-28 17:22:15 -07:00
Jeff Genovy
ed99298431 ICU-20794 Fix typo in ucurr.h 2019-08-28 13:24:48 -07:00
Jeff Genovy
1573018e5e ICU-20789 Clean-up the VS "clean" target for the Makedata project. 2019-08-28 12:32:42 -07:00
Peter Edberg
141884a85c ICU-20680 revert use of UPRV_UNREACHABLE in places actually reached in production code 2019-08-27 23:23:36 -07:00
Jeff Genovy
4b6eb7236a ICU-20782 Enable Windows icucheck.bat script for ARM/ARM64. 2019-08-27 18:29:12 -07:00
Jeff Genovy
f7abe8c1c1 ICU-20782 Add support for cross-compiling Windows ARM/ARM64 data DLL from the x64 bits. 2019-08-26 22:50:31 -07:00
Jeff Genovy
408752ec49 ICU-20782 Enable Windows desktop ARM and ARM64 builds of ICU4C.
This enables "classic" desktop builds of ICU4C for both ARM (32-bit)
and ARM64 (64-bit) on Windows.

All but the two samples "cal" and "date" in the "allinone" project now
have ARM and ARM64 project configurations, and build for Windows Desktop
ARM/ARM64.

Note: In order to build the ARM/ARM64 data DLL, you need to first build
x64/Release, as the ARM/ARM build uses the x64 bits in order to be able
to cross-compile for ARM/ARM64. This allows for completely building
ARM/ARM64 binaries using only x64 hardware.

The ARM/ARM64 builds require using a newer version of the Windows SDK
than 8.1, so they have a separate WindowsTargetPlatformVersion which
uses Windows 10 SDK version 10.0.16299.0 (aka RS3), which is the first
version of the Windows SDK to support building ARM64 desktop applications.

In addition this also greatly cleans-up the ICU4C ".vcxproj" files, in
order to remove redundant parts, fix inconsistencies, and make them more
readable. This introduces two new variables in the shared `*.props`
files: `IcuBinOutputDir` and `IcuLibOutputDir` in order to further
reduce the amount of duplicated lines in the individual ".vcxproj"
files themselves.
2019-08-26 22:50:31 -07:00
Jose Dapena Paz
407442dec7 ICU-20784 Do not override clang compiler internal builtins
In the case several internal builtins defined by clang were not available,
ICU was replacing them by a stub implementation. But that was breaking
detection of availability of same methods in other parts of Chromium
(specifically in base/location.h).

Instead of that, this change creates ICU specific macros that will
map to those builtins when available, or to stub implementation if
not.

I.e. for the case of __has_builtin, previous implementation was
defining __has_builtin(x) as 0 in case it was not declared. With
new implementation, there is a macro UPRV_HAS_BUILTIN that maps
to __has_builtin if available, or 0 if not.
2019-08-26 09:14:01 -07:00
Markus Scherer
d3315d98ef ICU-20783 use C++ covariant return types 2019-08-23 11:45:36 -07:00
Markus Scherer
f02b496494 ICU-20783 C++ covariant return types: clone(), freeze() & friends 2019-08-22 16:24:41 -07:00
Markus Scherer
deec7ef683 ICU-20646 make Edits::copyErrorTo() const 2019-08-22 13:25:01 -07:00
Filip Filmar
0a01b29005 ICU-20776 Checks for nullness in UMutex::lock()
Adds `U_ASSERT` check before using `m->lock()` to make allocation issues
more apparent at least in debug builds.

There is probably quite a few places like this, but let's try fixing
broken windows.
2019-08-21 11:21:24 -07:00
Jeff Genovy
c5ad4664f9 ICU-20768 Remove fixed DLL base addresses when building Windows DLLs.
Remove redundant FixedBaseAddress entries from the vcxproj files.
Make the pkgdata -b option a no-op, and output a message to the user.
2019-08-20 15:37:15 -07:00
Andy Heninger
327087150f ICU-20618 Regex nested lookaround expressions, clean up active match region handling. 2019-08-19 13:31:34 -07:00
Andy Heninger
5f837abd40 ICU-13533 Fix address sanitizer failures found with no-data ICU testing. 2019-08-19 13:29:32 -07:00
Markus Scherer
41c24b6c00 ICU-9695 port LocaleMatcher to C++ 2019-08-19 10:41:35 -07:00
Fredrik Roubert
b4b2378931 ICU-20601 Wrap ICU test compound macros in do { } while.
This does the same for the ICU test code as was done for the
public ICU API in commit 480bec3ea6.
2019-08-15 22:01:42 +02:00
Fredrik Roubert
4fb47b12a7 ICU-20601 Wrap ICU implementation compound macros in do { } while.
This does the same for the ICU implementation code as was done for the
public ICU API in commit 480bec3ea6.
2019-08-15 20:48:50 +02:00
Fredrik Roubert
480bec3ea6 ICU-20601 Wrap public ICU API compound macros in do { } while.
This is the normal way of making compound macros behave like statements
and allowing macro invocations that look like function calls to work
just like if they were function calls.

Before ICU 65, function-like, multi-statement ICU macros were just
defined as series of statements wrapped in { } blocks and the caller
could choose to either treat them as if they were actual functions and
end the invocation with a trailing ; creating an empty statement after
the block or else omit this trailing ; using the knowledge that the
macro would expand to { }.

To continue supporting code that depends on that old behaviour, on being
able to omit the trailing ; when invoking one of these macros, the new
surrounding do { } while is done through preprocessor defines that can
easily be overridden at compile time, when needed.
2019-08-15 19:17:25 +02:00
Fredrik Roubert
d8f14e22df ICU-20758 Add a StringPiece constructor for any string view type.
Using the C++ SFINAE (substitution failure is not an error) technique,
it's possible to provide an icu::StringPiece constructor that accepts
any string view type that might be available in the current compilation
unit, without adding any additional dependencies or configuration flags
to ICU.
2019-08-15 13:36:09 +02:00
Fredrik Roubert
c78d9fa137 ICU-20601 Add missing semicolons.
These are the same changes for the C++ code as was done for the C code
by commit aa60d4292e.
2019-08-15 12:30:21 +02:00
Fredrik Roubert
5d6d29b76a ICU-20601 Remove superfluous semicolons (-Wextra-semi-stmt).
These are the same changes for the C++ code as was done for the C code
by commit 17606e0345.
2019-08-15 12:30:21 +02:00
Shane Carr
1d2861bb0c ICU-20627 Adding getAvailableLocalesByType, ICU4C and ICU4J. 2019-08-14 20:45:27 -07:00
Jeff Genovy
9a3f15c2b3 ICU-20759 Add ucal_getDefaultTimeZone C API for host OS timezone detection. 2019-08-14 18:27:04 -07:00
Shane Carr
5e7ff44f91 ICU-20517 Removing dead code in rbnf.cpp 2019-08-14 17:49:52 -07:00
Shane Carr
3879315738 ICU-13596 Clarifying error code type in numfmt.h parse() 2019-08-14 17:49:04 -07:00
Shane Carr
4785f55622 ICU-20562 Adding toDecimalNumber method to C++ FormattedNumber. 2019-08-14 16:59:09 -07:00
Shane Carr
4e07b85279 ICU-20422 Redefining U_NO_THROW to U_NOEXCEPT 2019-08-14 10:32:48 -07:00
Nikita Iashchenko
89a618de70 ICU-20771 Fix incorrect documentation tag for DateTimePatternGenerator 2019-08-14 10:27:20 -07:00
Shane Carr
2b3e3e3ce6 ICU-20524 Adding variables for relative file replacement directory.
Also fixes some bugs with file replacement.
2019-08-14 00:25:26 -07:00
Jeff Genovy
d1293c50cb ICU-20712 Add support for building Windows UWP ARM/ARM64 data DLLs.
This also changes the pkgdata tool command line options to decouple the
ARM/ARM64 flags from the UWP flag, and adds a generic architecture
option (-a) for passing in the value of the linker "/MACHINE:" argument
on the command line. (Ex: -a ARM64).

Additionally this change also adds another option to pkgdata (-b) to 
set /DYNAMICBASE on the data DLL, which is required for the ARM64 builds.

Both of these changes also work towards future work in order to enable
full ARM64 desktop builds without UWP.

This change also removes a number of ifdefs/forks in the ICU code based
on U_PLATFORM_HAS_WINUWP_API, and changes them to use ICU_DATA_DIR_WINDOWS
instead. This is needed to unblock the usage of the data DLL in the
UWP scenario, but also helps to further reduce the divergence of the UWP
projects from regular Windows builds.

Related tickets:
  ICU4C: Remove fixed DLL base addresses when building Windows DLLs
  https://unicode-org.atlassian.net/browse/ICU-20768

  Add support to generate ICU data DLL for Windows arm64
  https://unicode-org.atlassian.net/browse/ICU-20670
2019-08-13 17:03:33 -07:00
Shane Carr
2390ce569e ICU-20685 Improving docs for UErrorCode. 2019-08-13 16:01:48 -07:00
Shane Carr
d983221543 ICU-20764 Allow top-level include and exclude in data filter rules. 2019-08-13 15:12:32 -07:00
Shane Carr
035eead0e8 ICU-20423 Removing deprecated method toNumberFormatter() 2019-08-13 13:06:52 -07:00
Shane Carr
f4fc9d06c2 ICU-20394 Changing DecimalFormatFields to not allocate as many objects 2019-08-13 13:06:20 -07:00
Shane Carr
513b0c20b0 ICU-13743 Adding number permutation test.
Adds a test suite in C++ and Java to test many permutations of options in NumberFormatter.
2019-08-12 23:34:51 -07:00
Shane Carr
b4d41b0561 ICU-20737 Removing Python dependency on distutils.
Deletes tstfiles.mk and merges the list into BUILDRULES.py
2019-08-12 15:12:48 -07:00
Shane Carr
afab3f992c ICU-13780 Removing DecimalFormat_ICU58 (finally). 2019-08-12 14:59:45 -07:00
Markus Scherer
527ff9f7ac ICU-20735 simpler state saving for C++ string tries 2019-08-12 14:49:10 -07:00
Jeff Genovy
8646872f68 ICU-20757 Fix typos in utrans.h header file. 2019-08-09 17:43:31 -07:00
Fredrik Roubert
aa60d4292e ICU-20601 Add missing semicolons.
The way these macros currently are defined, the code compiles also
without the final semicolons. But for consistency and in order to allow
the macro definitions to be updated also these macro invocations should
have final semicolons just like in the rest of this code base.
2019-08-09 14:38:52 +02:00
Fredrik Roubert
17606e0345 ICU-20601 Remove superfluous semicolons (-Wextra-semi-stmt). 2019-08-09 14:38:52 +02:00
Rohan Palaniappan
185fbba5a2 ICU-20747 Modify common_uwp to use onecore.lib instead of onecoreuap.lib 2019-08-07 17:06:13 -07:00
Jeff Genovy
e72290c45e ICU-13764 Add separate CI build that treats warnings as errors with clang.
This adds a separate CI build that enables -Werror for clang.

This also fixes all of the -Wall -Wextra warnings in the tests, and all the
-Wextra-semi warnings as well.
2019-07-30 22:10:02 -07:00
Andy Heninger
3ac2da2044 ICU-20048 Remove use of std::align() for compat with g++ 4.9. 2019-07-30 11:19:53 -07:00
Steven R. Loomis
fc487bf32b ICU-20493 Warn on global/static c’tors
- add -Wglobal-constructors to clang (only for libs)
- Note: ignore 'runstatedir' flap in configure
2019-07-26 15:16:13 -07:00
Andy Heninger
f793ad55e9 ICU-20729 Remove obsolete U_HAVE_STD_ATOMICS and similar @internal macros. 2019-07-24 16:37:40 -07:00
Jeff Genovy
16f2ba2180 ICU-20721 Fix typo in API docs about unumf_openForSkeletonAndLocale. 2019-07-24 11:52:19 -07:00
Shane Carr
1ef18dc761 ICU-20708 Fixing edge cases with negative infinity and NaN. 2019-07-23 15:03:49 -07:00
Jeff Genovy
69fb255169 ICU-20712 Add support for building ICU4C UWP with ARM64, add ARM32/ARM64 to CI.
This change adds support for building the ICU4C UWP projects for ARM64.
Additionally it adds CI builds for ARM32 and ARM64.

Co-Authored-By: Daniel Ju <daju@microsoft.com>
2019-07-23 13:29:36 -07:00
Jeff Genovy
b2170e4773 ICU-20718 Fix failing MSYS2 build due to current path confusion.
The Azure DevOps VM images that are used in the CI builds recently
updated the version of MSYS that is installed, which is causing the
MSYS builds to fail. It seems that this new version has issues with
using the shell cmd method in the makefiles to obtain the current path.

However, we can avoid this entirely by using the cygpath utility, which
also avoids the overhead of launching a new cmd instance just to get
the path. Unfortunately, it seems that older versions of MSYS don't
have this utility program included by default, though versions of 
MSYS 2 and up do have it included by default.

We can continue using the old approach for the older versions and use
the cygpath approach for new versions.
2019-07-22 17:04:06 -07:00
Shane Carr
bbf8c10e0d ICU-20716 Fixing some buffer overruns in genccode 2019-07-19 17:17:16 -07:00
Jeff Genovy
2cd213ac3b ICU-20689 Fix race condition in UMutex code, leading to random crashes. 2019-07-16 10:41:21 -07:00
Victor Chang
d56f291178 ICU-20659 Fix DTD link in XML data files
- http://www.unicode.org/repos/cldr/trunk/common/dtd/ldml.dtd returns
  HTTP 302 error and redirects to an html page, not a dtd content
  apparently.
- Clone the dtd files from CLDR release-35-1
  https://raw.githubusercontent.com/unicode-org/cldr/release-35-1/common/dtd/ldml.dtd
2019-07-11 09:19:29 -07:00
Shane Carr
a72b628a5d ICU-20593 Data slicing: allow more characters in res filter rules. 2019-07-09 18:27:10 -05:00
Shane Carr
77ca774840 ICU-20593 Various updates to resource tracing. 2019-07-09 15:40:01 -05:00
Shane Carr
e1b5f85e4a ICU-20593 Data slicing: Fix mixed file and resource filter. 2019-07-09 15:38:29 -05:00
yumaoka
33080a9072 ICU-20692 tzdata2019b update 2019-07-08 08:42:47 +09:00
Andy Heninger
6f0627b5d8 ICU-20672 Compiler Warning Cleanup. 2019-07-01 16:42:01 -07:00
Andy Heninger
5a23d83fa2 ICU-20650 Memory alignment of buffers used by sort functions. 2019-07-01 13:18:25 -07:00
Andy Heninger
0367d4c135 ICU-20048 remove uses of UAlignedMemory, replace with native C++11 constructs.
Also update the Travis CI configuration to use newer compilers, and the
dependency checker to be happy with the newer clang compiler.
2019-06-28 13:35:17 -07:00
Andy Heninger
fa240d49cc ICU-13637 Break Iterator Rule Updates for Indic Grapheme Clusters. 2019-06-27 17:17:26 -07:00
Norbert Runge
c43455749b ICU-20652 Corrects calculation of byte sequence length to prevent buffer
overflow.

ICU-20652 Add parenthesis, improve readability.
2019-06-27 17:11:40 -07:00
Norbert Runge
6e5755a2a8 ICU-20652 Adds two fuzzer target for collation (compare() and
RulebasedCollator().

ICU-20652 Adds test/fuzzer/Makefile (auto-generated upon ICU4C configuration)
to .gitignore.

ICU-20652 In response to PR#693 review, corrects allocation size of char16_t
buffer.
While at it, adds generated files to .gitignore.
2019-06-25 13:01:41 -07:00
Shane F. Carr
48df66704c ICU-20666 Adding insert/appendChar16 to FormattedStringBuilder. 2019-06-25 06:24:20 +05:30
Andy Heninger
5c23416308 ICU-13637 Documentation for doing break iterator updates. 2019-06-21 10:31:40 -07:00
Shane Carr
76db29c173 ICU-20622 Removing dead code in measfmt.cpp. 2019-06-18 14:50:17 -07:00
Norbert Runge
1606c4c586 ICU-20652 Adds Makefile.in, a fuzzer driver, and minor changes to in fuzzer
targets to test/fuzzer/ directory. This will enable compilation and
smoke test of fuzzer targets as part of the ICU continuous build.

ICU-20652 Fixed exit-on-error behaviour of fuzzer targets execution.
Minor clean-ups and improvements

ICU-20652 Modifies fuzzer/Makefile.in to fix Windows build issue.

ICU-20627 Adds explicit enablement of fuzzer targets build to ICU4C
configuration and Makefile.in. File 'configure' was created from
'configure.ac' by executing 'autoreconf'.

autoreconf added some new entries into 'configure' about runstatedir. Not sure
why it did this, they are not related to fuzzer.
2019-06-18 14:43:33 -07:00
Andy Heninger
84d56bc91b ICU-20404 Simplify word break rules. 2019-06-18 14:14:22 -07:00
Shane Carr
8667d0a106 ICU-20639 Add "mol" 3-letter language code to C++ map. 2019-06-18 13:47:27 -07:00
Frank Tang
13b3cbaab7 ICU-20149 allow duplicate unicode attribute 2019-06-17 23:51:21 -07:00
Christian O. Venegas
7ccc8a09d6 ICU-20566 Add missing ICU namespace macros for extra files
ICU now uses namespaces. When trying to use the scrptrun.h header, the
header cannot compile stand-alone as it is inheriting from UObject which
is namespaced now. Add namespace macros to properly inherit.

ICU-20566 Add scrptrun to the extra high level Makefile

The scrptrun project was not being added to the extra portion of the ICU
build. Add it as a sub project so it can always be built.

ICU-20566 Properly namespace the ScriptRun test

The ScriptRun class is now namespaced.  Update the test reference.

ICU-20566 Use int instead of void to compile

Clang will complain about having a void main without an int main to
invoke. Change void to int and return 0.
2019-06-17 20:16:03 -07:00
Shane Carr
2fa4c4d502 ICU-20660 Add usePoolBundle option to filters.json. 2019-06-17 19:54:28 -07:00
Shane Carr
3bdb509ac5 ICU-20661 Adding test that (U)Locale constructor accepts BCP47. 2019-06-17 19:54:06 -07:00
Shane Carr
a3956a8d8b ICU-20593 Data docs tweaks and fixing UDATA_DEBUG build. 2019-06-17 19:53:48 -07:00
Mihai Nita
6ce3295e4d ICU-20622 Fixing several MeasureFormat problems 2019-06-17 13:44:38 -07:00
Jeff Genovy
e56b19662c ICU-20647 Fix TimeZone leak in ucal_open if uloc_setKeywordValue fails. 2019-06-13 13:40:02 -07:00
Frank Tang
78f341ce7e ICU-20654 Add hour/minute for "this hour/minute"
Fix expectation in cintltest

add tests

ICU-20654 Add hour/minute for "this hour/minute"

See #674
2019-06-12 17:43:18 -07:00
Azamshul Azizy
5174ad5511 ICU-20631 Fix desired currency not set for some NumberFormat currency styles 2019-06-10 11:09:21 -07:00
Shane Carr
2b611dbf6e ICU-20593 Trace instrumentation for data loading.
- Adds hooks to utrace.h to record when ICU reads from locale data.
- Adds userguide page to document the new hooks.
2019-06-07 15:56:02 -07:00
Shane Carr
d1688fd8f1 ICU-20627 Fixing typo introduced by #670. 2019-06-07 14:07:38 -07:00
Jeff Genovy
d72aa91429 ICU-20658 Fix broken Data Filtering on Windows builds. 2019-06-07 10:43:29 -07:00
Krzysztof Kosiński
d01a33e1dc ICU-20608 Add platform defines for Emscripten. 2019-06-07 10:36:17 -07:00
Shane Carr
fc11a7a8cb ICU-20627 Adding alias locales to new structure in res_index. 2019-06-06 15:58:06 -07:00
Shane Carr
8cf9d43541 ICU-20593 ICU Data Build Tool documentation updates. 2019-06-05 13:48:37 -07:00
Shane Carr
d846d72bba ICU-20629 DTPG: Fixing uncaught exception in Java. 2019-06-04 16:10:10 -07:00
Frank Tang
6671947d3e ICU-20602 copyErrorTo() functions should be const 2019-05-30 17:17:52 -07:00
Frank Tang
6e6e65904e ICU-20641 Fixes undefined-shift
ICU-20641 Fixes undefined-shift See #663
2019-05-30 15:36:18 -07:00
Shane Carr
46c86b47cc ICU-20629 Fixing DTPG hour-format locale and region fallback logic.
Includes changes in C and J.  Makes region.cpp no longer depend on DecimalFormat.  See also: CLDR-13071, ICU-20640, ICU-9982.
2019-05-29 16:37:40 -07:00
Norbert Runge
633a975849 ICU-20638 Renames fuzzer target files to end with the .cpp suffix. Was .cc. 2019-05-29 16:06:10 -07:00
Shane Carr
f9ea5351b0 ICU-20625 Fixing uninitialized memory in DTPG detected by Valgrind. 2019-05-29 15:07:05 -07:00
Shane Carr
c8c3fbca28 ICU-20616 Allow bidi marks around the sign in exponent parsing. 2019-05-27 22:39:18 -07:00
Andy Heninger
afa9b9b48e ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model 2019-05-24 13:24:59 -07:00
Frank Tang
bb22fc1a27 ICU-20602 add LocaleBuilder::copyErrorTo
Check the status after the setter and test err.

Add more check for errors.

change comments
2019-05-22 18:03:12 -07:00
Frank Yung-Fong Tang
b7ffd7b6d0 ICU-20613 fix missing </ClInclude> 2019-05-21 16:03:20 -07:00
Alon Bar-Lev
a5bbd505d7 ICU-20578 headers: guard all C++ headers using U_SHOW_CPLUSPLUS_API
support including all files in C

cleanup and simplify the test/hdrtest

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2019-05-14 17:18:06 -07:00
Frank Tang
53dd621e3a ICU-12760 support UDISPCTX_TYPE_SUBSTITUTE_HANDLING
add tests

remove printf

fix localeDisplayName and add tests

fix fallback

remove get
2019-05-13 17:38:07 -07:00
Frank Tang
cb40d8b1a5 ICU-20595 Make icu::TimeZone::AdoptDefault thread safe
correct the mutex

Remove comments about not thread safe
2019-05-13 16:00:27 -07:00
Mihai Nita
c1ce6d9163 ICU-20591 Increased the date rowspan to include the argSkeletonText line 2019-05-08 16:09:08 -07:00
Shane F. Carr
06114c5108 ICU-20593 Consuming ignore_xml_deprecates option in BUILDRULES.py.
The option was added in b603285, but the option was not being used.
2019-05-08 13:58:53 -07:00
Andy Heninger
b772241b52 ICU-20520 UMutex refactoring.
- Use STATIC_NEW for mutex creation, to avoid order-of-destruction problems
    by avoiding destruction altogether, while avoiding memory leak reports.

  - Remove UConditionVar, replace with direct use of std::condition_variable
2019-05-07 13:50:49 -07:00
Shane Carr
702fdb6c33 ICU-20593 Renaming Python buildtool to icutools.databuilder. 2019-05-07 13:42:06 -07:00
Shane F. Carr
9704216ef7 ICU-20529 Generate res_index on partial resource trees. 2019-05-06 16:04:36 -07:00
Shane Carr
4b04d703ab ICU-20593 Buildtool: Implementing new "additive" mode. 2019-05-06 15:48:14 -07:00
Shane Carr
b603285082 ICU-20593 Buildtool: adding some options and improving exec mode. 2019-05-06 15:37:25 -07:00
Shane Carr
e27c075b92 ICU-20593 Genrb: Remove keys if bundle is empty after filtering. 2019-05-06 15:08:02 -07:00
Markus Scherer
f1d4aa72d1 ICU-20572 build & test with U_NO_DEFAULT_INCLUDE_UTF_HEADERS 2019-05-02 09:10:25 -07:00
Steven R. Loomis
075cefb2e2 ICU-20575 fix broken default locale mapping for C.UTF-8
Regression was in 1afef30549
PR #418 [ICU-20187]

- We dropped the mapping from "C" in uloc_canonicalize,
  but then putil did not handle cases where a codepage was
  set (such as C.UTF-8).

- Add an additional check in uprv_getDefaultLocaleID() for
  locales that end up as "C" or "POSIX" after removing codepage
  suffix.

- Also fix regression where aa@bb would become aa__BB__BB
  (incorrectly doubled __BB)
2019-04-25 14:59:32 -07:00
Alon Bar-Lev
0aa19c0d22 ICU-20530 Fix header issues based on test/hdrtst
Remove explicit extern "C++" scope.

Remove C++ macros in C mode.

Fix issues detected by make -C test/hdrtst.

Run test/hdrtest during CI to detect future breakage.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
2019-04-25 14:51:43 -07:00
Jeff Genovy
693adf3987 ICU-20558 Fix regression in DateTimePatternGenerator
This fixes a regression introduced by commit 
b12a927c93 for issue ICU-13778.

The above commit improved the error checking in the
DateTimePatternGenerator class, adding checks for errors/failures
where there previously was none at all. This was done in order to
catch catastrophic errors like out-of-memory (OOM), and properly
report them to the caller, rather than ignoring/hiding these errors.

However, in doing so it exposed a case where the code was depending
on ignoring errors in order to fall-back to the Gregorian calendar
when the default ICU locale is set to root.

This restores the previous behavior, by allowing the error of
U_MISSING_RESOURCE_ERROR to fall-though and continue without
reporting back an error to the caller.

Note: This regression was technically introduced in ICU 63, and
also effects ICU 64 as well.
2019-04-25 10:52:06 -07:00
Fredrik Roubert
711e7e003a ICU-20573 Handle NULL return value correctly, it means empty not error. 2019-04-25 13:05:14 +02:00
Andy Heninger
a97cfb01b9 ICU-20570 UInitOnce instances, add explicit initialization where it was missing. 2019-04-24 18:15:13 -07:00
Fredrik Roubert
4bd1ee008c ICU-20445 Pass ByteSink to ulocimp_addLikelySubtags(). 2019-04-23 19:45:28 +02:00
Jeff Genovy
974087aa0b ICU-20445 Need to export the CharStringByteSink class for Windows and OSX. 2019-04-23 19:45:28 +02:00
Andy Heninger
d685cacd9b ICU-20391 Fix regexp crash with nested look-behinds, from fuzz testing. 2019-04-17 22:17:47 -07:00
Shane F. Carr
14eb026570
ICU-20511 Merge release-64-2 to master 2019-04-17 14:15:59 -07:00
Shane Carr
08766f4c02 ICU-20511 Merge tag 'release-64-2' into 64-merge-branch 2019-04-17 13:37:22 -07:00
Steven R. Loomis
e2d8530616 ICU-20563 fix macosx rpath breakage in the data build
- in the rpath case, we do NOT want a trailing space in LD_SONAME

regression was introduced in ICU-20526 with
 83a0542b5b (master)
 b76cb6517e (in maint-64)

(cherry picked from commit 1c553b9cf2)
2019-04-17 12:03:05 -07:00
Steven R. Loomis
1c553b9cf2 ICU-20563 fix macosx rpath breakage in the data build
- in the rpath case, we do NOT want a trailing space in LD_SONAME

regression was introduced in ICU-20526 with
 83a0542b5b (master)
 b76cb6517e (in maint-64)
2019-04-17 11:48:23 -07:00
Jeff Genovy
633b6510c4 ICU-20513 Treat MSVC warnings C4910 and C4003 as errors in the library code for CI builds. 2019-04-15 13:18:02 -07:00
yumaoka
f508bc491e ICU-20554 Disabled current date sensitive Japanese era test cases for now. 2019-04-15 09:49:04 -04:00
Shane F. Carr
be25c277fd
ICU-20511 Merge release-64-2-rc to master 2019-04-12 16:57:29 -07:00
Andy Heninger
bdb1806580 ICU-20544 Regex, Fix assertion failure in positive look-behind 2019-04-12 15:27:40 -07:00
Shane Carr
5a4d26a900 ICU-20511 Merge tag 'release-64-2-rc' into 64-merge-branch
- Rebuilds jar files to resolve merge conflict
2019-04-11 15:29:44 -07:00
Shane F. Carr
cab01e522e
ICU-20511 Merge release-64-1 to master 2019-04-11 15:20:09 -07:00
Andy Heninger
7053363323 ICU-20544 Regex, fix min/max match length computation with negative look-behind patterns. 2019-04-10 22:38:25 -07:00
yumaoka
cc8946607a ICU-20515 Merging tz2019a changes. 2019-04-11 00:45:43 -04:00
Shane F. Carr
a268e3a299 ICU-20511 Merge branch 'master' into 64-merge-branch 2019-04-10 19:13:00 -07:00
Peter Edberg
5b3f1c01ed ICU-20550 jaEra: use all valid eras for calendar calculations (#614) 2019-04-10 19:02:24 -07:00
Shane Carr
ab657778e4 ICU-20543 Fix -Wundef in library and test code. 2019-04-10 18:52:16 -07:00
Peter Edberg
52d192e2b5 ICU-20537 jaEra: fix leak in SimpleDateFormat::applyPattern 2019-04-08 12:27:32 -07:00
Peter Edberg
2f06d1de55 ICU-20537 jaEra: DateIntvFmt load fmts with G, SimpDateFmt.applyPattern update Gannen use, fix tests 2019-04-08 08:35:48 -07:00
Shane Carr
6daab85db4 ICU-20429 Renaming [Number->Formatted]StringBuilder and refactoring.
- StringSegment, ICU4C:
  * Moved to top icu namespace
  * Compilation unit renamed to string_segment.
- NumberStringBuilder, C and J:
  * Moved to main icu namespace
  * Compilation unit renamed to formatted_string_builder
  * Renamed class to FormattedStringBuilder
- Moves nextPosition logic of NumberStringBuilder to helper class
2019-04-05 20:08:07 -05:00
Peter Edberg
c4eef82761 ICU-20515 64.2 BRS, integrate CLDR release-35-1-alpha 2019-04-05 15:59:29 -07:00
Steven R. Loomis
b76cb6517e ICU-20526 fix pkgdata where LD_SONAME has a trailing space
- added PKGDATA_TRAILING_SPACE to all of the pkgdataMakefile.in file.
- NOTE: Users who create their own pkgdata.inc / icupkg.inc files may need
   to recreate this PKGDATA_TRAILING_SPACE behavior.

- used the above variable, normally undefined, in mh-* files that need a trailing space

- Also, fixed use of system() in pkgdata.cpp per ICU-20538
This was causing pkgdata to return a zero status even on clang
failure, masking this issue.

(cherry picked from commit 83a0542b5b)
2019-04-05 10:53:59 -07:00
Markus Scherer
0565894534 ICU-20497 Unicode 12.1 2019-04-04 10:23:24 -07:00
Steven R. Loomis
83a0542b5b ICU-20526 fix pkgdata where LD_SONAME has a trailing space
- added PKGDATA_TRAILING_SPACE to all of the pkgdataMakefile.in file.
- NOTE: Users who create their own pkgdata.inc / icupkg.inc files may need
   to recreate this PKGDATA_TRAILING_SPACE behavior.

- used the above variable, normally undefined, in mh-* files that need a trailing space

- Also, fixed use of system() in pkgdata.cpp per ICU-20538
This was causing pkgdata to return a zero status even on clang
failure, masking this issue.
2019-04-03 16:43:42 -07:00
yumaoka
163793824f ICU-20535 Added Japanese new era Reiwa to cjdict.txt to support the sequence in word segmentation. 2019-04-03 18:46:12 -04:00
Shane F. Carr
732bf71451 ICU-20528 Fill in testdata/rules.mk when there is no Python. 2019-04-03 17:03:26 -05:00
Daniel Ju
d56461f8f0 ICU-20515 Update version numbers, regenerate JARs, regenerate configure 2019-04-03 14:56:46 -07:00
Jeff Genovy
e591af3fba ICU-20475 Japanese Calendar current era calculation should use local time instead of UTC. 2019-04-03 14:42:57 -07:00
Jeff Genovy
5e95b31ad0 ICU-20523 Fix typos in API docs for usearch_getMatchedLength 2019-04-02 11:19:59 -07:00
yumaoka
4aef276b16 ICU-20522 tzdata2019a updates 2019-04-02 11:36:39 -04:00
Jeff Genovy
71ee05ed17 ICU-13456 Build Clean in VS doesn't fully clean everything that it should 2019-03-27 14:16:22 -07:00
Markus Scherer
61c4a728cd ICU-20467 replace the LocaleMatcher implementation, load data from new bundle
- remove the old LocaleMatcher implementation code
- move the XLocaleMatcher code into LocaleMatcher, same for test
- remove unused internal methods
- stop comparing old vs. new performance
- generate langInfo.txt resource bundle file with precomputed likely-subtags and matcher data
- make genrb handle multi-line binary values
- load likely-subtags & distance data from new langInfo.res bundle
- test that built data == loaded data
- move data builders to tools, no more runtime dependency on builder code
2019-03-26 13:27:42 -07:00
Shane Carr
c86028c70c ICU-20439 Fix internal and draft headers. 2019-03-25 07:37:35 -07:00
Shane Carr
e318c0c374 ICU-20494 Fixes to very large magnitude exponents in number parsing.
- Do not depend on ArithmeticException string in ICU4J.
- Return correct string in ICU4C.
- Fix related issue in applyMaxInteger.
2019-03-25 07:17:36 -07:00
Jeff Genovy
b5ad35dda8 ICU-20516 Fix MSVC Warning C4003: not enough arguments for function-like macro invocation 2019-03-22 18:37:48 -07:00
Shane Carr
b596462d5a ICU-20508 Fixing -Wextra-semi in library code. 2019-03-22 15:29:45 -07:00
Shane Carr
f843aff9d2 ICU-20507 Adding virtual destructor to PathFilter 2019-03-22 13:51:19 -07:00
Shane F. Carr
13889bece1
ICU-20511 Merge maint/maint-64 to master 2019-03-22 11:16:43 -07:00
Shane Carr
e57c45c5c6 ICU-20473 Moving collation ucadata option to filter file. 2019-03-20 17:44:48 -07:00
yumaoka
15cb156e56 ICU-20439 Updated currency numeric code for YUD to 890. 2019-03-20 19:02:17 -04:00
Daniel Ju
a5e9e338df ICU-20439 BRS64GA Update urename.h 2019-03-20 10:03:57 -07:00
Daniel Ju
b056b7642a ICU-20439 BRS64GA Update version number and regenerate JAR files 2019-03-19 17:15:10 -07:00
Shane Carr
a5914e1916 ICU-20439 Updating ICU data from CLDR tag release-35-beta2. 2019-03-19 14:32:57 -07:00
Peter Edberg
0ac7104f0a ICU-20439 update config files and instructions for CLDR release-35-beta integration 2019-03-18 21:43:06 -07:00
Shane F. Carr
405129a6dd ICU-20439 Removing ICU patches. 2019-03-18 21:17:22 -07:00
Shane F. Carr
6c86dc108d ICU-20439 Updating double-conversion. 2019-03-18 21:17:22 -07:00
Shane Carr
2e846616c4 ICU-20499 Fixing code path for plural form in MutablePatternModifier. 2019-03-14 02:02:52 -07:00
Shane Carr
56ffae8a0b ICU-20489 Removing resfiles.mk files.
Builds res_index.txt based on directory glob minus aliases read from deprecates XML file.

In ICU 64, please use the ICU Data Build Tool instead of reslocal.mk for locale filtering.
2019-03-14 01:51:52 -07:00
Peter Edberg
2849784108 ICU-13440 replace obsolete TARGET_IPHONE_SIMULATOR conditional 2019-03-13 18:39:20 -07:00
Jeff Genovy
1e86849408 ICU-20491 ICU4C u_getDataDirectory on Windows shouldn't set path to current directory by default.
This change was introduced by the following commit e9946ec98e.

However, there's really no reason why the Windows UWP version should require the icudtl.dat file
to be in the same directory as the icuuc.dll file.
2019-03-13 13:25:33 -07:00
Frank Tang
2232a2b81e ICU-10291 Optimize IDNA toASCII loop 2019-03-13 12:13:42 -07:00
Peter Edberg
84e392e426 ICU-20439 64 BRS, integrate CLDR release-35-alpha4 2019-03-13 09:12:40 -07:00
Markus Scherer
98589d9cc7 ICU-20203 Unicode 12 final data (only trivial changes) 2019-03-13 08:57:05 -07:00
Shane F. Carr
acca4e15a2 ICU-20439 Updating cldr-icu-readme.txt to reflect changes in eac8f4b. 2019-03-13 01:30:29 -07:00
Peter Edberg
8943f89a84 ICU-20471 setFormatWidth to 0 should cause padding to be ignored 2019-03-12 15:17:42 -07:00
Shane Carr
bb4df2223d ICU-20463 Use copybrief for children that are older than parents. 2019-03-12 14:34:02 -07:00
Andy Heninger
bc4bb89af2 ICU-20488 mutex static constructor fixes.
Remove the dependencies from the ICU library code on static constructors
that were introduced by using std::mutex and condition variables. The
mutexes are lazily initialized by embedding them as local static variables
in getter functions, and relying on the C++ compiler/runtime to do thread
safe initialization of them.
2019-03-12 09:52:16 -07:00
Frank Tang
994edfe858 ICU-13709 fix shadow param inside #ifdef 2019-03-11 19:01:49 -07:00
Shane Carr
ffd8baf16d ICU-20484 Narrow currency symbol should fall back to short symbol, C and J.
- Includes fixes to tests.
2019-03-08 17:06:16 -08:00
Shane Carr
cda7ca7e83 ICU-20469 Adding user guide for number skeletons.
Also fixes a minor bug in the syntax and adds tests.
2019-03-08 16:32:47 -08:00
Andy Heninger
f7b36d39bc ICU-11908 NumberingSystem, fix the memory management of static cache of numsys names.
Add thread safe cache initialization.
2019-03-08 15:06:53 -08:00
Steven R. Loomis
3a28fb7216 ICU-20479 don’t leave junk in source directory on configure or make check
- see also ICU-20062
- add a `-B` option to the two python invocations on Windows
- set PYTHONDONTWRITEBYTECODE in configure.ac and icudefs.mk.in

Co-authored-by: Fredrik Roubert <roubert@google.com>
2019-03-08 14:28:27 -08:00
Shane Carr
852b63dd9f ICU-20472 Moving index res file request to tree category.
- Includes other minor cleanup of buildtool.
2019-03-07 20:46:13 -08:00
Shane Carr
c009f42ca1 ICU-20469 Adding userguide for FormattedValue and ICU Data Build Tool.
- Creates new directory structure to store userguide markdown files.
2019-03-07 11:55:40 -08:00
Andy Heninger
e559b30309 ICU-20359 Fix stack overflow in Regex Pattern Compile. 2019-03-07 10:31:30 -08:00
Jeff Genovy
3166381f88 ICU-20474 Shared library ProjectConfiguration Props file ignores command line preprocessor defines with MSBUILD. 2019-03-06 11:33:27 -08:00
Steven R. Loomis
67d218f247 ICU-20470 skip data/rules.mk regen for source tarball
- If icu/source/data/locales/root.txt missing, skip
  python rules.mk generation.
- Also, create build directories properly as needed
- Also includes noise changes to configure
  (configure was probably generated using unreleased
   autoconf 2.70 or 2.69 + patches)
- eac8f4b31a did not
  regen configure properly, so BUILDTOOL_OPTS is now
  ICU_DATA_BUILDTOOL_OPTS
2019-03-04 07:40:40 -08:00
Steven R. Loomis
07df49c9a9 ICU-20470 skip data/rules.mk regen for source tarball
- If icu/source/data/locales/root.txt missing, skip
  python rules.mk generation.
- Also, create build directories properly as needed
- Also includes noise changes to configure
  (configure was probably generated using unreleased
   autoconf 2.70 or 2.69 + patches)
- eac8f4b31a did not
  regen configure properly, so BUILDTOOL_OPTS is now
  ICU_DATA_BUILDTOOL_OPTS
2019-03-01 16:08:42 -08:00
Shane Carr
099ec53635 ICU-20438 Updating index page of C docs with new APIs and fixing links. 2019-02-28 14:48:46 -08:00
Norbert Runge
47ef6175f9 ICU-20438 Fixes issues found during BRS configuration test task. 2019-02-28 12:55:01 -08:00
Norbert Runge
b8364d38ed ICU-20438 Fixes issues found in the no-data testing of ICU4C (BRS health check)
ICU-20438 Review feedback worked in.
2019-02-28 09:59:48 -08:00
Shane Carr
eac8f4b31a ICU-20460 Adding mechanism to build unicore data into dat file. 2019-02-27 18:36:02 -08:00
Andy Heninger
666d1a9d8e ICU-20438 ICU 64 C API promotion and API Change Report generation. 2019-02-27 16:01:05 -08:00