* Update `U_PF_IPHONE` to be 0 when building for macOS/macCatalyst.
* add macro definition for `attribute((visibility("hidden")))` for cases
where internal structs exist within exposed classes.
This cleans up inconsistent annotations between declared APIs in headers
vs defined implementations in cpp's. This better ensures the API's
referenceable in headers represent what is exposed and defined in the
ultimate binary library's symbol table.
This is the normal standard way in C, C++ as well as Java and there's no
longer any reason for ICU to be different. The various internal macros
providing custom boolean constants can all be deleted and code as well
as documentation can be updated to use lowercase true/false everywhere.
Removed logKnownIssue(ICU-21322) in plurults.cpp, ICU-21322 is done and the
entire if-statement was commented out.
Replaced CLDR-13700 with CLDR-13701 in several TODOs. 13700 is a duplicate of
13701.
Likewise for CLDR-14502 --> CLDR-14582.
PR#1999 from ICU 71 release missed some of the cases.
The makefile hardcodes paths to the build directory into icu-config. It doesn’t
need to do this and it unnecessarily breaks build reproducibility. This patch
makes a simple change to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adjust RuleBasedBreakIterator::BreakCache::populateNear() to retain the cache
the cache contents in additional cases where are still useful, resulting in
improved performance.
This change is related to PR #2039, which addressed the same problem. This one
retains the cache contents in more situations.
This helps to avoid missleading error message:
```
./source/configure: line 7981: syntax error near unexpected token 'newline'
./source/configure: line 7981: 'AX_CHECK_COMPILE_FLAG('
```
This patch also includes marking `=delete` on specific `normal` member functions, as opposed to compiler generated functions,
based on the description of such functions' surrounding comments.
first currency in the list now select the first legal tender currency in the
list. Or the first currency if the list has no legal tender currencies (which
is the previous behaviour).
ICU-21997 Removed an overlooked earlier unit test attempt.
ICU-21997 Shields C++ unit test from compilation when configuration flag
UCONFIG_NO_FORMATTING is set.
This variable was flagged by a chromium check that looks for variables named like constants that end up in the `.data` ELF section (rather than in `.rodata`).