]> granicus.if.org Git - icu/log
icu
5 years agoICU-20796 update C API Change Report 872/head release-65-1
Steven R. Loomis [Wed, 2 Oct 2019 17:25:22 +0000 (10:25 -0700)]
ICU-20796 update C API Change Report

5 years agoICU-20845 UMutex not trivially but constexpr constructible
Markus Scherer [Tue, 1 Oct 2019 23:33:53 +0000 (16:33 -0700)]
ICU-20845 UMutex not trivially but constexpr constructible

5 years agoICU-20813 Fix Multi-line comment in umachine.h
Steven R. Loomis [Wed, 25 Sep 2019 17:45:08 +0000 (10:45 -0700)]
ICU-20813 Fix Multi-line comment in umachine.h

- This comment failed on gcc. Split it into two lines.

5 years agoICU-20453 Add more warning types to CI build.
Shane F. Carr [Tue, 10 Sep 2019 04:14:43 +0000 (04:14 +0000)]
ICU-20453 Add more warning types to CI build.

See #824

5 years agoICU-20796 Updated ICU4J API change report for ICU 65 GA
Yoshito Umaoka [Fri, 27 Sep 2019 22:15:35 +0000 (18:15 -0400)]
ICU-20796 Updated ICU4J API change report for ICU 65 GA

5 years agoICU-20796 Updating double-conversion from upstream master.
Shane Carr [Wed, 25 Sep 2019 20:59:44 +0000 (13:59 -0700)]
ICU-20796 Updating double-conversion from upstream master.

5 years agoICU-20796 integrate CLDR release-36-beta
Peter Edberg [Fri, 27 Sep 2019 06:22:07 +0000 (23:22 -0700)]
ICU-20796 integrate CLDR release-36-beta

5 years agoICU-20836 ICU4C header file plurrule.h needs to include utypes.h before checking...
Jeff Genovy [Thu, 26 Sep 2019 22:45:51 +0000 (15:45 -0700)]
ICU-20836 ICU4C header file plurrule.h needs to include utypes.h before checking U_SHOW_CPLUSPLUS_API.

5 years agoICU-20831 clone capitalizationBrkIter for actual use
Peter Edberg [Thu, 26 Sep 2019 01:17:03 +0000 (18:17 -0700)]
ICU-20831 clone capitalizationBrkIter for actual use

5 years agoICU-20831 Make *fCapitalizationBrkIter const, eliminating a data race in SimpleDateFo...
Robin Leroy [Tue, 24 Sep 2019 15:38:26 +0000 (17:38 +0200)]
ICU-20831 Make *fCapitalizationBrkIter const, eliminating a data race in SimpleDateFormat::format.

5 years agoICU-20832 use uint32_t instead of uint16_t to avoid overflows for very long strings
Adam Sitnik [Wed, 25 Sep 2019 06:06:10 +0000 (08:06 +0200)]
ICU-20832 use uint32_t instead of uint16_t to avoid overflows for very long strings

5 years agoICU-20814 new tool for checking API tags vs. ifdef guards; add FORCE guards, and...
Markus Scherer [Thu, 12 Sep 2019 00:25:34 +0000 (17:25 -0700)]
ICU-20814 new tool for checking API tags vs. ifdef guards; add FORCE guards, and move some guards, to make this work

5 years agoICU-20796 integrate CLDR release-36-alpha3
Peter Edberg [Fri, 20 Sep 2019 22:00:44 +0000 (15:00 -0700)]
ICU-20796 integrate CLDR release-36-alpha3

5 years agoICU-20825 Add ARM64 to distrelease.ps1 script, and run in the CI builds
Jeff Genovy [Tue, 17 Sep 2019 01:20:13 +0000 (18:20 -0700)]
ICU-20825 Add ARM64 to distrelease.ps1 script, and run in the CI builds

5 years agoICU-20796 BRS65GA Update version numbers and README
Daniel Ju [Tue, 17 Sep 2019 17:46:01 +0000 (10:46 -0700)]
ICU-20796 BRS65GA Update version numbers and README

5 years agoICU-20823 ICU time zone data update for 2019c
Yoshito Umaoka [Fri, 13 Sep 2019 22:26:31 +0000 (18:26 -0400)]
ICU-20823 ICU time zone data update for 2019c

5 years agoICU-20811 Add fields required for locale inheritance to additive mode.
Shane Carr [Mon, 9 Sep 2019 21:53:27 +0000 (14:53 -0700)]
ICU-20811 Add fields required for locale inheritance to additive mode.

5 years agoICU-20796 BRS 65 update C API guard macros (manual version) (#827)
Peter Edberg [Wed, 11 Sep 2019 23:27:29 +0000 (16:27 -0700)]
ICU-20796 BRS 65 update C API guard macros (manual version) (#827)

5 years agoICU-20815 Fixed a build problem with test jar causing release build target to fail.
yumaoka [Wed, 11 Sep 2019 17:24:21 +0000 (13:24 -0400)]
ICU-20815 Fixed a build problem with test jar causing release build target to fail.

5 years agoICU-20804 OOM not handled in selectForMask
Jeff Genovy [Sat, 31 Aug 2019 08:40:35 +0000 (01:40 -0700)]
ICU-20804 OOM not handled in selectForMask

5 years agoICU-20396 add RelativeDateTimeFormatter test for af
Peter Edberg [Wed, 28 Aug 2019 07:47:34 +0000 (00:47 -0700)]
ICU-20396 add RelativeDateTimeFormatter test for af

5 years agoICU-20749 add ອາແມນ to laodict.txt
Peter Edberg [Wed, 28 Aug 2019 03:47:57 +0000 (20:47 -0700)]
ICU-20749 add ອາແມນ to laodict.txt

5 years agoICU-20795 ICU4C 65.1 API promotion - locid.h gh-pages release-65-rc
Steven R. Loomis [Tue, 10 Sep 2019 17:56:09 +0000 (10:56 -0700)]
ICU-20795 ICU4C 65.1 API promotion - locid.h

- fixup some functions in locid.h that were incorrectly guarded as draft
- Error was in:
   - 5a3ea669aaf3f2c3984e1a10b3998d4b736621bf
   - https://github.com/unicode-org/icu/pull/808

5 years agoICU-20795 ICU4C 65.1 API promotion draft
Steven R. Loomis [Tue, 3 Sep 2019 23:09:26 +0000 (16:09 -0700)]
ICU-20795 ICU4C 65.1 API promotion draft

- includes new APIChangeReport.md
- the 'simplification' section is no longer new
- uses tools from [ICU-20162] #807

Includes non-promotion fixes:
- utrace.h: UTRACE_UDATA_BUNDLE

5 years agoICU-20693 Basic Eclipse settings
David Beaumont [Tue, 27 Aug 2019 18:45:16 +0000 (18:45 +0000)]
ICU-20693 Basic Eclipse settings

See #772

5 years agoICU-20162 use maven to build icu4c api change tool
Steven R. Loomis [Tue, 3 Sep 2019 20:32:03 +0000 (13:32 -0700)]
ICU-20162 use maven to build icu4c api change tool

- removes three .jar files from git-lfs
- make calls ant calls maven
- have travis verify buildability
- support APIChangeReport.md (markdown)
- 'signature simplification' is no longer new, do not mark it as new.
- change (c) to © in output

5 years agoICU-20795 BRS 65 update urename.h
Peter Edberg [Sun, 8 Sep 2019 04:27:55 +0000 (21:27 -0700)]
ICU-20795 BRS 65 update urename.h

5 years agoICU-20801 integrate CLDR release-36-alpha2, update MeasureUnits (#809)
Peter Edberg [Wed, 4 Sep 2019 05:33:27 +0000 (22:33 -0700)]
ICU-20801 integrate CLDR release-36-alpha2, update MeasureUnits (#809)

5 years agoICU-20795 BRS65 ICU4C Samples: case sample should use DLL runtime to prevent assertio...
Jeff Genovy [Fri, 6 Sep 2019 09:20:52 +0000 (02:20 -0700)]
ICU-20795 BRS65 ICU4C Samples: case sample should use DLL runtime to prevent assertion failures.

5 years agoICU-20795 BRS test without data task: Adds a status check after PluralRules
gnrunge [Fri, 6 Sep 2019 17:01:41 +0000 (10:01 -0700)]
ICU-20795 BRS test without data task: Adds a status check after PluralRules
instance creation. Test causes segmentation fault later if instance creation
fails.

5 years agoICU-20795 BRS test without data task: Adds a status check after Locale instance
gnrunge [Thu, 5 Sep 2019 22:41:31 +0000 (15:41 -0700)]
ICU-20795 BRS test without data task: Adds a status check after Locale instance
creation. Test causes segmentation fault if it tries to continue beyond failed
instance creation.
segmentation fault if instance creation fails

5 years agoICU-20795 add LocaleMatcher to API docs index
Markus Scherer [Thu, 5 Sep 2019 20:36:51 +0000 (13:36 -0700)]
ICU-20795 add LocaleMatcher to API docs index

5 years agoICU-20807 BRS65: Environment test failure in cintltst-timezone
Jeff Genovy [Thu, 5 Sep 2019 05:56:32 +0000 (22:56 -0700)]
ICU-20807 BRS65: Environment test failure in cintltst-timezone

The test fails for "America/Argentina/ComodRivadavia", which has length
of 32, the same as the buffer. The results in the string being not
terminated with a NUL.

This increases the buffer size used by the test, and also checks for the
string not terminated warning.

5 years agoICU-20793 ignore binary file from git
younies [Wed, 4 Sep 2019 17:37:24 +0000 (17:37 +0000)]
ICU-20793 ignore binary file from git

See #816

5 years agoICU-20795 BRS65 ICU4J 65 API signature file
Yoshito Umaoka [Wed, 4 Sep 2019 22:23:36 +0000 (18:23 -0400)]
ICU-20795 BRS65 ICU4J 65 API signature file

Deleted ICU4J 55 API signature file

5 years agoICU-20795 BRS65 ICU4J serialization test data
Yoshito Umaoka [Wed, 4 Sep 2019 22:38:27 +0000 (18:38 -0400)]
ICU-20795 BRS65 ICU4J serialization test data

- Added 65.1 serialization test data
- Deleted 60.1 serialization test data

5 years agoICU-20795 BRS65 ICU4J API status promotion
Yoshito Umaoka [Wed, 4 Sep 2019 17:51:14 +0000 (13:51 -0400)]
ICU-20795 BRS65 ICU4J API status promotion

- Updating API status version for ICU4J 65 release
- Fixed a few minor API doc issues in DecimalFormat and LocaleMatcher
- Update ICU4J API change report

5 years agoICU-13745 fix undefined behavior: GregorianCalendar::setGregorianChange()
Steven R. Loomis [Thu, 29 Aug 2019 00:04:27 +0000 (17:04 -0700)]
ICU-13745 fix undefined behavior: GregorianCalendar::setGregorianChange()

- Julian days outside of INT32_MIN..INT32_MAX are normalized
- Add a test case

5 years agoICU-11976 test & fix ByteArrayWrapper.hashCode()
Markus Scherer [Fri, 30 Aug 2019 23:26:59 +0000 (16:26 -0700)]
ICU-11976 test & fix ByteArrayWrapper.hashCode()

5 years agoICU-20795 BRS65 Clean up import statements
Yoshito Umaoka [Fri, 30 Aug 2019 20:50:32 +0000 (16:50 -0400)]
ICU-20795 BRS65 Clean up import statements

5 years agoICU-20693 Fix weird bug in Maven pom file and add comments
David Beaumont [Sat, 31 Aug 2019 20:46:00 +0000 (22:46 +0200)]
ICU-20693 Fix weird bug in Maven pom file and add comments

5 years agoICU-20802 Need to use LocalMemory in uloc_openKeywordList, not LocalPointer
Jeff Genovy [Sat, 31 Aug 2019 03:44:42 +0000 (20:44 -0700)]
ICU-20802 Need to use LocalMemory in uloc_openKeywordList, not LocalPointer

5 years agoICU-13647 fix SearchIterator docs sample: getMatchedLength() not getMatchLength()
Markus Scherer [Fri, 30 Aug 2019 23:55:52 +0000 (16:55 -0700)]
ICU-13647 fix SearchIterator docs sample: getMatchedLength() not getMatchLength()

5 years agoICU-20269 Update the CI badges in the top-level README file.
Jeff Genovy [Thu, 29 Aug 2019 04:44:37 +0000 (21:44 -0700)]
ICU-20269 Update the CI badges in the top-level README file.

5 years agoICU-20518 update u_isbase() reference to Unicode Standard Base character
Markus Scherer [Fri, 30 Aug 2019 22:59:13 +0000 (15:59 -0700)]
ICU-20518 update u_isbase() reference to Unicode Standard Base character

5 years agoICU-20802 OOM not handled in uloc_openKeywordList.
Jeff Genovy [Fri, 30 Aug 2019 19:03:16 +0000 (12:03 -0700)]
ICU-20802 OOM not handled in uloc_openKeywordList.

Also change to use LocalPointer and nullptr instead of NULL.

5 years agoICU-13649 UnicodeString docs: mention std::string clear() to make remove() easier...
Markus Scherer [Fri, 30 Aug 2019 22:35:18 +0000 (15:35 -0700)]
ICU-13649 UnicodeString docs: mention std::string clear() to make remove() easier to find

5 years agoICU-20368 OOM not handled in NumberFormatterImpl::macrosToMicroGenerator
Jeff Genovy [Fri, 30 Aug 2019 05:22:12 +0000 (22:22 -0700)]
ICU-20368 OOM not handled in NumberFormatterImpl::macrosToMicroGenerator

5 years agoICU-20577 Restore C MeasureFormat ability to adopt non-decimal number formatter ...
Peter Edberg [Thu, 29 Aug 2019 07:02:17 +0000 (00:02 -0700)]
ICU-20577 Restore C MeasureFormat ability to adopt non-decimal number formatter (#789)

5 years agoICU-12086 ICU-12165 Currency.getName() param isChoiceFormat can be null, make it...
Markus Scherer [Fri, 30 Aug 2019 19:17:02 +0000 (12:17 -0700)]
ICU-12086 ICU-12165 Currency.getName() param isChoiceFormat can be null, make it so, document, use null in library code

5 years agoICU-20589 Fix EraRulesTest#testAPIs failure on 1 May 2019
Victor Chang [Fri, 3 May 2019 12:27:26 +0000 (13:27 +0100)]
ICU-20589 Fix EraRulesTest#testAPIs failure on 1 May 2019

5 years agoICU-20795 Added comment to ICU4C Readme.html about U_SHOW_CPLUSPLUS_API.
Jeff Genovy [Thu, 29 Aug 2019 23:42:18 +0000 (16:42 -0700)]
ICU-20795 Added comment to ICU4C Readme.html about U_SHOW_CPLUSPLUS_API.

5 years agoICU-20693 Removing unused code, fixing IDE warnings and preparing for unit tests
David Beaumont [Fri, 30 Aug 2019 14:21:32 +0000 (14:21 +0000)]
ICU-20693 Removing unused code, fixing IDE warnings and preparing for unit tests

See #773

5 years agoICU-20701 Add more PluralRules tests for locales with keywords
Peter Edberg [Fri, 30 Aug 2019 07:42:41 +0000 (00:42 -0700)]
ICU-20701 Add more PluralRules tests for locales with keywords

5 years agoICU-20795 BRS65RC Update version numbers and readme files, regenerate JARs
Daniel Ju [Thu, 29 Aug 2019 22:26:00 +0000 (15:26 -0700)]
ICU-20795 BRS65RC Update version numbers and readme files, regenerate JARs

5 years agoICU-13764 Add a MacOSX CI build with Warnings-as-Errors
Jeff Genovy [Thu, 29 Aug 2019 20:20:13 +0000 (13:20 -0700)]
ICU-13764 Add a MacOSX CI build with Warnings-as-Errors

5 years agoICU-20620 cap UNUM_MAX_FRACTION_DIGITS setting at 999
Peter Edberg [Wed, 28 Aug 2019 06:19:19 +0000 (23:19 -0700)]
ICU-20620 cap UNUM_MAX_FRACTION_DIGITS setting at 999

5 years agoICU-20732 Adds instruction how to develop an ICU fuzzer target and how to
Norbert Runge [Thu, 25 Jul 2019 21:55:54 +0000 (14:55 -0700)]
ICU-20732 Adds instruction how to develop an ICU fuzzer target and how to
reproduce fuzzer findings.

ICU-20732 Addresses review comments.

Update fuzzer_targets.md

5 years agoICU-20799 delete calendarToAdopt upon error
Frank Tang [Thu, 29 Aug 2019 19:26:11 +0000 (12:26 -0700)]
ICU-20799 delete calendarToAdopt upon error

ICU-20799 add unit tests

ICU-20799 initialize error and add comments.

5 years agoICU-20555 Fix Windows build failures with long paths: Use PowerShell when command...
Jeff Genovy [Tue, 27 Aug 2019 23:57:50 +0000 (16:57 -0700)]
ICU-20555 Fix Windows build failures with long paths: Use PowerShell when command length exceeds CMD's limit.

5 years agoICU-20693 Adding Ant support for configuration of ICU data builds.
David Beaumont [Wed, 28 Aug 2019 11:14:31 +0000 (11:14 +0000)]
ICU-20693 Adding Ant support for configuration of ICU data builds.

See #771

5 years agoICU-20680 Add comments about UPRV_UNREACHABLE to u_UCharsToChars and CEIBuffer::get...
Jeff Genovy [Wed, 28 Aug 2019 19:19:32 +0000 (12:19 -0700)]
ICU-20680 Add comments about UPRV_UNREACHABLE to u_UCharsToChars and CEIBuffer::get[Previous].

5 years agoICU-20794 Fix typo in ucurr.h
Jeff Genovy [Thu, 25 Jul 2019 07:37:59 +0000 (00:37 -0700)]
ICU-20794 Fix typo in ucurr.h

5 years agoICU-20606 Add 32-bit Windows binaries to CI for Distrelease.
Jeff Genovy [Wed, 28 Aug 2019 01:27:51 +0000 (18:27 -0700)]
ICU-20606 Add 32-bit Windows binaries to CI for Distrelease.

5 years agoICU-20789 Clean-up the VS "clean" target for the Makedata project.
Jeff Genovy [Sat, 24 Aug 2019 01:01:41 +0000 (18:01 -0700)]
ICU-20789 Clean-up the VS "clean" target for the Makedata project.

5 years agoICU-20680 revert use of UPRV_UNREACHABLE in places actually reached in production...
Peter Edberg [Wed, 28 Aug 2019 04:29:51 +0000 (21:29 -0700)]
ICU-20680 revert use of UPRV_UNREACHABLE in places actually reached in production code

5 years agoICU-20782 Enable Windows icucheck.bat script for ARM/ARM64.
Jeff Genovy [Tue, 27 Aug 2019 23:29:12 +0000 (16:29 -0700)]
ICU-20782 Enable Windows icucheck.bat script for ARM/ARM64.

5 years agoICU-20693 New LDML to ICU tooling.
David Beaumont [Sat, 24 Aug 2019 15:14:52 +0000 (15:14 +0000)]
ICU-20693 New LDML to ICU tooling.

See #721

5 years agoICU-20782 Extend CI build timeout for Windows ARM/ARM64.
Jeff Genovy [Wed, 21 Aug 2019 17:16:15 +0000 (10:16 -0700)]
ICU-20782 Extend CI build timeout for Windows ARM/ARM64.

5 years agoICU-20782 Add support for cross-compiling Windows ARM/ARM64 data DLL from the x64...
Jeff Genovy [Wed, 21 Aug 2019 04:52:06 +0000 (21:52 -0700)]
ICU-20782 Add support for cross-compiling Windows ARM/ARM64 data DLL from the x64 bits.

5 years agoICU-20782 Enable Windows desktop ARM and ARM64 builds of ICU4C.
Jeff Genovy [Wed, 14 Aug 2019 07:41:26 +0000 (00:41 -0700)]
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.

5 years agoICU-20784 Do not override clang compiler internal builtins
Jose Dapena Paz [Thu, 25 Jul 2019 14:41:56 +0000 (16:41 +0200)]
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.

5 years agoICU-20783 use C++ covariant return types
Markus Scherer [Fri, 23 Aug 2019 03:00:25 +0000 (20:00 -0700)]
ICU-20783 use C++ covariant return types

5 years agoICU-20783 C++ covariant return types: clone(), freeze() & friends
Markus Scherer [Thu, 22 Aug 2019 00:13:18 +0000 (17:13 -0700)]
ICU-20783 C++ covariant return types: clone(), freeze() & friends

5 years agoICU-20646 make Edits::copyErrorTo() const
Markus Scherer [Wed, 21 Aug 2019 23:11:54 +0000 (16:11 -0700)]
ICU-20646 make Edits::copyErrorTo() const

5 years agoICU-20776 Checks for nullness in UMutex::lock()
Filip Filmar [Thu, 15 Aug 2019 01:32:43 +0000 (18:32 -0700)]
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.

5 years agoICU-20768 Remove fixed DLL base addresses when building Windows DLLs.
Jeff Genovy [Tue, 20 Aug 2019 00:28:51 +0000 (17:28 -0700)]
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.

5 years agoICU-20618 Regex nested lookaround expressions, clean up active match region handling.
Andy Heninger [Wed, 31 Jul 2019 23:53:35 +0000 (16:53 -0700)]
ICU-20618 Regex nested lookaround expressions, clean up active match region handling.

5 years agoICU-13533 Fix address sanitizer failures found with no-data ICU testing.
Andy Heninger [Wed, 3 Jan 2018 04:45:29 +0000 (04:45 +0000)]
ICU-13533 Fix address sanitizer failures found with no-data ICU testing.

5 years agoICU-9695 port LocaleMatcher to C++
Markus Scherer [Fri, 16 Aug 2019 23:35:49 +0000 (23:35 +0000)]
ICU-9695 port LocaleMatcher to C++

5 years agoICU-20623 Add java compability parse mode into DecimalFormat
Victor Chang [Mon, 13 Aug 2018 15:49:10 +0000 (16:49 +0100)]
ICU-20623 Add java compability parse mode into DecimalFormat

This internal parse mode is introduced for Android libcore.

5 years agoICU-20601 Wrap ICU test compound macros in do { } while.
Fredrik Roubert [Wed, 14 Aug 2019 21:06:44 +0000 (23:06 +0200)]
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 480bec3ea652886f46d4afad0d7446542d2fbf05.

5 years agoICU-20601 Wrap ICU implementation compound macros in do { } while.
Fredrik Roubert [Wed, 14 Aug 2019 21:05:37 +0000 (23:05 +0200)]
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 480bec3ea652886f46d4afad0d7446542d2fbf05.

5 years agoICU-20601 Wrap public ICU API compound macros in do { } while.
Fredrik Roubert [Wed, 22 May 2019 20:16:39 +0000 (13:16 -0700)]
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.

5 years agoICU-20758 Add a StringPiece constructor for any string view type.
Fredrik Roubert [Fri, 3 May 2019 18:07:27 +0000 (11:07 -0700)]
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.

5 years agoICU-20601 Add missing semicolons.
Fredrik Roubert [Tue, 13 Aug 2019 21:17:39 +0000 (23:17 +0200)]
ICU-20601 Add missing semicolons.

These are the same changes for the C++ code as was done for the C code
by commit aa60d4292ef27d1437088efedee0e4fc1fd3ad90.

5 years agoICU-20601 Remove superfluous semicolons (-Wextra-semi-stmt).
Fredrik Roubert [Tue, 13 Aug 2019 20:00:43 +0000 (22:00 +0200)]
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 17606e0345c7baaf5331bc0298c1c4e086b812e3.

5 years agoICU-20627 Adding getAvailableLocalesByType, ICU4C and ICU4J.
Shane Carr [Thu, 15 Aug 2019 01:56:22 +0000 (01:56 +0000)]
ICU-20627 Adding getAvailableLocalesByType, ICU4C and ICU4J.

5 years agoICU-20759 Add ucal_getDefaultTimeZone C API for host OS timezone detection.
Jeff Genovy [Fri, 14 Jun 2019 08:07:40 +0000 (01:07 -0700)]
ICU-20759 Add ucal_getDefaultTimeZone C API for host OS timezone detection.

5 years agoICU-20517 Removing dead code in rbnf.cpp
Shane Carr [Thu, 8 Aug 2019 23:44:39 +0000 (16:44 -0700)]
ICU-20517 Removing dead code in rbnf.cpp

5 years agoICU-13596 Clarifying error code type in numfmt.h parse()
Shane Carr [Tue, 13 Aug 2019 08:06:43 +0000 (01:06 -0700)]
ICU-13596 Clarifying error code type in numfmt.h parse()

5 years agoICU-20562 Adding toDecimalNumber method to C++ FormattedNumber.
Shane Carr [Wed, 14 Aug 2019 22:47:41 +0000 (15:47 -0700)]
ICU-20562 Adding toDecimalNumber method to C++ FormattedNumber.

5 years agoICU-20422 Redefining U_NO_THROW to U_NOEXCEPT
Shane Carr [Fri, 9 Aug 2019 00:21:46 +0000 (17:21 -0700)]
ICU-20422 Redefining U_NO_THROW to U_NOEXCEPT

5 years agoICU-20771 Fix incorrect documentation tag for DateTimePatternGenerator
Nikita Iashchenko [Wed, 14 Aug 2019 12:42:34 +0000 (13:42 +0100)]
ICU-20771 Fix incorrect documentation tag for DateTimePatternGenerator

5 years agoICU-20524 Adding variables for relative file replacement directory.
Shane Carr [Tue, 13 Aug 2019 09:51:18 +0000 (02:51 -0700)]
ICU-20524 Adding variables for relative file replacement directory.

Also fixes some bugs with file replacement.

5 years agoICU-20712 Add support for building Windows UWP ARM/ARM64 data DLLs.
Jeff Genovy [Fri, 19 Jul 2019 20:54:02 +0000 (13:54 -0700)]
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

5 years agoICU-20685 Improving docs for UErrorCode.
Shane Carr [Fri, 2 Aug 2019 23:59:51 +0000 (16:59 -0700)]
ICU-20685 Improving docs for UErrorCode.

5 years agoICU-20764 Allow top-level include and exclude in data filter rules.
Shane Carr [Tue, 13 Aug 2019 07:51:26 +0000 (00:51 -0700)]
ICU-20764 Allow top-level include and exclude in data filter rules.

5 years agoICU-20423 Removing deprecated method toNumberFormatter()
Shane Carr [Thu, 8 Aug 2019 23:59:04 +0000 (16:59 -0700)]
ICU-20423 Removing deprecated method toNumberFormatter()

5 years agoICU-20394 Changing DecimalFormatFields to not allocate as many objects
Shane Carr [Fri, 9 Aug 2019 00:41:55 +0000 (17:41 -0700)]
ICU-20394 Changing DecimalFormatFields to not allocate as many objects