Commit graph

31696 commits

Author SHA1 Message Date
Erik Torres
c088ca8d39 ICU-21598 Add CI builds that exercises the data filtering on windows
See #1820
2021-08-26 18:04:35 -05:00
Fredrik Roubert
0a1cfa398c ICU-20973 Use standard keywords true & false to initialize type bool.
Now when all equality operators return standard bool (commit 633438f),
it no longer makes any sense to use the ICU4C constants TRUE & FALSE
or local variables of type UBool for their return value.
2021-08-26 18:53:10 +02:00
Jeff Genovy
6d850be783 ICU-21710 Remove BOYER_MOORE dead code from usearch.cpp 2021-08-25 19:48:17 -07:00
Jeff Genovy
9ddda243d7 ICU-21705 ICU-21706 Fix crash if ICU's default locale has BCP47 Unicode Extensions, and fix ures_openDirect crash with NULL locale ID.
Add test case for ures_openDirect with NULL locale ID.
2021-08-25 19:47:15 -07:00
Fredrik Roubert
3534d337c6 ICU-20973 Rewrite polymorphic CacheKeyBase equality operators for C++20.
The existing polymorphic equality operators that use different types for
the `this` and `other` objects are ambiguous with C++20 resolution rules
that require equality for reversed arguments.

In order to resolve that, while also possibly making the implementation
somewhat simpler overall, the implementation classes (LocaleCacheKey
and DateFmtBestPatternKey) now get normal (non-polymorphic) equality
operators that are trivially non-ambiguous (and as a bonus also don't
need any type casts), while the dynamic type checking logic is moved
into protected helper functions, which in the end are invoked
(without any ambiguity) by friend operators in the base class.

This way, all equality testing of cache key objects ends up taking one
of these two possible paths:

1. Both sides of the equality operator are of the same implementation
   type (ie. LocaleCacheKey or DateFmtBestPatternKey):

   The type specific equality operator is called directly, comparing the
   relevant attributes of the two objects directly.

2. The two sides of the equality operator are either of different types
   or of some base class type:

   The friend equality operators of CacheKeyBase call the virtual helper
   function to figure out whether the two objects are actually of the
   same type and if they are and this type is an implementation type
   then does the necessary type cast to get to 1.
2021-08-26 00:12:04 +02:00
Shane F. Carr
c12c5b5a4c ICU-21215 Add default constructor to FormattedNumberRange 2021-08-25 13:34:48 -05:00
Shane F. Carr
8cd025bb9c ICU-21590 Add skeleton syntax for integer-width-trunc 2021-08-25 12:51:51 -05:00
Markus Scherer
486e2d36ac ICU-21648 limit backslash-uhhhh escapes to ASCII hex digits 2021-08-25 17:04:24 +00:00
Markus Scherer
ae3f2ae7ca ICU-21663 UnicodeSetIterator: make protected members private 2021-08-25 00:51:14 +00:00
Yoshito Umaoka
6046f7b9e7 ICU-21708 Update ant version in cldr-to-icu tool
dependabot reported ant 1.10.9 has a security problem and suggested to update to 1.10.11.
2021-08-24 13:46:57 -04:00
Markus Scherer
a36f06eaae ICU-21655 widen Java character APIs from char to int arguments 2021-08-24 17:39:59 +00:00
Yoshito Umaoka
280f0f2a25 ICU-21581 Update ICU4J LICENSE file 2021-08-24 09:58:19 -04:00
Shane F. Carr
e2acbdee22 ICU-21693 Fix FormattedNumber::toDecimalNumber on 0 2021-08-23 21:10:07 -05:00
Markus Scherer
41aa7159ea ICU-21635 Unicode 14 data files 20210820, line break LB30b.2
See #1807
2021-08-23 22:11:49 +00:00
Rich Gillam
4a9d2bd0b8 ICU-21584 Fixed Java7 build error in earlier fix. 2021-08-20 11:58:43 -07:00
Peter Edberg
7e07633997 ICU-21581 lingering exhaustive fail, need to separately skip sd_Deva month name exemplar test 2021-08-19 22:09:48 -07:00
Peter Edberg
f6d47953c0 ICU-21581 integrate CLDR release-40-alpha1 to ICU trunk 2021-08-19 15:27:38 -07:00
Shane F. Carr
4e01fba906 ICU-21358 Use sign position to format approximate numbers
See #1635
2021-08-19 16:18:19 -05:00
Peter Edberg
49dda34fb1 ICU-21581 integrate CLDR 40a0 to ICU trunk 2021-08-18 23:59:19 -07:00
Jeff Genovy
cef0959b2e ICU-21244 Fix the Valgrind status badge in the top-level Readme. 2021-08-18 16:23:17 -07:00
Fredrik Roubert
51c11da869 ICU-20973 Delete unnecessary deprecated TimeUnitFormat::operator!=().
An operator!=() is already defined by a base class so this class doesn't
need to define it again and not doing so avoids a C++20 ambiguity.

This simplifies the code.
2021-08-19 01:22:48 +02:00
Frank Tang
126af02948 ICU-21729 Fix setLanguageTag doc matching Java 2021-08-18 16:16:10 -07:00
Rich Gillam
1ec55bf021 ICU-21202 Fixed error in alias resolution in uresbund.cpp. 2021-08-18 10:12:20 -07:00
Jeff Genovy
849585c45f ICU-20973 Add C++20 build bots to Azure CI: Clang-13, GCC-11, MSVC with std:c++latest 2021-08-17 15:42:27 -07:00
Craig Cornelius
75a1514889 ICU-21581 BRS#18 Promote @draft ICU4J API elements from version 68 to @stable
See #1788
2021-08-17 09:08:32 -07:00
Fredrik Roubert
f6325d49ba ICU-20973 Update the Coding Guidelines with bool equality operators. 2021-08-17 00:35:00 +02:00
Fredrik Roubert
88896d005d ICU-20973 Update configure files from configure.ac using autoreconf. 2021-08-17 00:35:00 +02:00
Fredrik Roubert
dc1b8ca26e ICU-20973 Use the Clang -Wno-ambiguous-reversed-operator flag. 2021-08-17 00:35:00 +02:00
Fredrik Roubert
2166b512fc ICU-20973 Manually resolve C++20 reversed argument order ambiguity. 2021-08-17 00:35:00 +02:00
Fredrik Roubert
633438f8da ICU-20973 Change all equality operator return types from UBool to bool. 2021-08-17 00:35:00 +02:00
Gregorio Litenstein
ee7468a565 ICU-21064 Fix declspec macro conflict on clang. 2021-08-16 11:06:46 -07:00
Jeff Genovy
744ca71663 ICU-21707 Fix LocaleBuilder assumption that the default locale doesn't have any BCP47 extension tags.
Add test case for LocaleBuilder with default locale with extensions.

Use Locale::getRoot().clone() instead of new Locale();

Add CI build bot with LANG that has extension tags
2021-08-12 16:58:12 -07:00
Myles C. Maxfield
e2fafa5840 ICU-21694 ubidi.h sample code would not compile 2021-08-04 11:47:05 -07:00
Rich Gillam
b03b8be741 ICU-21639 Added an internal utility class to streamline preflighting and heap-allocating a char buffer for a locale ID
and changed several internal methods in ULocale to use it, so that they work correctly on locale IDs that are longer
than ULOC_FULLNAME_CAPACITY.
2021-08-02 13:15:29 -07:00
gnrunge
4368f69ef4 ICU-21581 BRS 70 front-load task scrub closed issues: replace ticket# ICU-11234,
which was closed as invalid, with its successor ticket ICU-21257.
2021-08-02 12:33:05 -07:00
gnrunge
24aa9a8964 ICU-21424 Migrate bldicures.py to Python 3 2021-07-30 09:50:51 -07:00
gnrunge
284a1c1a95 ICU-21581 BRS 70 front-load task: scrub logKnownIssue for ticket CLDR-14477,
which is completed.
2021-07-29 11:20:32 -07:00
Andy Heninger
c26aebe802 ICU-21662 Rename UVector::addElement().
This is the first step towards improving the error handling and out-of-memory
behavior of UVector::addElement(). A followup PR will add back a new addElement()
with corrected error handling, then additional followups will switch call sites
from the original (renamed) function to the new addElement().

This commit includes no logic or behavior changes; it only renames the existing functions.
2021-07-28 15:36:50 -07:00
DungSaga
60b8ff608e ICU-21688 escape angle bracket in non-HTML content
`<name>` should be escaped with backslash to prevent it from being rendered as a HTML tag
2021-07-28 12:05:56 -07:00
Rich Gillam
dcfdaca46c ICU-21647 Added support for narrow quarter names to DateFormatSymbols and SimpleDateFormat. 2021-07-28 11:14:36 -07:00
David Haney
9ff39368b2 ICU-21680 Add -std flag when generating dependency information 2021-07-27 08:40:09 -04:00
Craig Cornelius
4fff0085e5 ICU-21638 re-enable some of the ICU4J performance tests
See #1773
2021-07-26 14:11:32 -07:00
Peter Edberg
eed6388dab ICU-21622 Add UYW to list of currencies from ucurr_openISOCurrencies() 2021-07-22 16:51:20 -07:00
Rich Gillam
d5cb201e52 ICU-21624 Fixed it so that a DecimalFormat no longer owns two separate DecimalFormatSymbols objects. 2021-07-22 14:17:19 -07:00
Rich Gillam
9a614752ce ICU-21584 Added code to allow regions of type "grouping" to return their children. 2021-07-22 12:55:50 -07:00
Peter Edberg
17d64710a2 ICU-21581 BRS 70rc, update urename.h pass 1 2021-07-22 10:35:51 -07:00
Rich Gillam
0e4b768289 ICU-21581 Promoted @draft 68 APIs to stable 2021-07-19 14:59:57 -07:00
luz paz
289d9703a0 ICU-21580 Fix typos in icu4j/
Found via `codespell -q 3 -L ans,anumber,atleast,ba,bre,hace,nd,nin,ois,rsource,som,sur,tht -S icu4c/source/data/zone,icu4c/source/data/lang`
2021-07-19 13:22:38 -05:00
luz paz
73eca0a9c9 ICU-21580 Fix typos in icu4c/
Found via `codespell -q 3 -L ans,anumber,atleast,ba,bre,hace,nd,nin,ois,rsource,som,sur,tht -S icu4c/source/data/zone,icu4c/source/data/lang`
ICU-21580 Fix source (related) typos
ICU-21580 Revert extraneous auto-encoding
ICU-21580 Re-add previous reverted fix without auto-encoding
2021-07-19 13:22:38 -05:00
Rich Gillam
ac51a1921f ICU-21650 Modified DateTimePatternGenerator to handle skeletons with "e" and "c" better (allowing support for numeric
day-of-week abbreviations).
2021-07-15 18:16:51 -07:00