Joshua Root [Mon, 21 Oct 2019 19:18:00 +0000 (06:18 +1100)]
ICU-20875 Include <cstddef> for max_align_t
The definition of max_align_t is not guaranteed to be available unless
the appropriate header is included. Since use of <stddef.h> from C++ is
deprecated, that's <cstddef>, and max_align_t is thus defined under the
std namespace rather than in the global namespace.
Caio Lima [Fri, 13 Dec 2019 03:14:28 +0000 (19:14 -0800)]
ICU-20442 Adding support for hour-cycle on DateTimePatternGenerator
DateTimePatternGenerator needs to consider the hour-cycle preferred by
Locale. This means that we need to to override the hour-cycle when a
locale contains "hc" keyword. This patch is adding such functionality.
In addition, "DateTimePatternGenerator::adjustFieldTypes" should adjust
hour field to properly follow tr35
spec(https://www.unicode.org/reports/tr35/tr35-dates.html#dfst-hour).
Smaarn [Wed, 16 Oct 2019 20:52:05 +0000 (22:52 +0200)]
ICU-20871 Fixed: no rule was defined to create the $(OUTDIR) directory if it didn't exist.
This would cause failures during cross compilation cases such as:
make[6]: Leaving directory '/spksrc/spk/bazarr/work-qoriq-6.1/icu/source/data'
make[5]: *** No rule to make target 'out', needed by 'out/icudt64b.dat'. Stop.
Frank Tang [Sat, 4 Jan 2020 02:08:51 +0000 (18:08 -0800)]
ICU-20934 Fix TZ test error
Somehow these tests are now fail on trunks.
Per https://mm.icann.org/pipermail/tz-announce/2019-July/000056.html
Brazil has canceled DST and will stay on standard time indefinitely.
Markus Scherer [Fri, 20 Dec 2019 00:09:10 +0000 (00:09 +0000)]
ICU-20916 LocaleMatcher distinguish between equivalent locales
- equivalent but originally unequal
- locale distance shifted left for additional fraction bits with micro distance
- Java more verbose matcher debug output
See #949
Andy Heninger [Fri, 23 Aug 2019 00:48:36 +0000 (17:48 -0700)]
ICU-20303 Break Iterator, improve handling of look-ahead rules.
- Merge the look-ahead results slots used when multiple rules share a common accepting state.
- Sequentially number the look-ahead result slot. Will eventually allow replacing the runtime map with an array.
- Inhibit chaining out of look-ahead rules. This could never actually happen; when a hard break
rule matches, the engine is stopped immediately, but the state table was being constructed
as if it could happen. Reduces table size for line break rules.
- Remove incorrect handling of fAccepting and fLookAhead fields of a state table row
when removing duplicate states. Look-ahead slot number was being mis-interpreted as a state number.
Joshua Root [Fri, 22 Nov 2019 10:44:57 +0000 (21:44 +1100)]
ICU-20904 Don't use char16_t with C++98/03
When C code includes the ICU headers, the UChar type is defined to be
uint16_t. But when C++ code includes the headers, UChar is char16_t
even when U_SHOW_CPLUSPLUS_API has been set to 0. Apart from arguably
being an inconsistency in the API, this means that C++98 or C++03 code
can't use the C API even though C99 code can.
So, change unicode/umachine.h to check not just whether __cplusplus is
defined but the value of U_CPLUSPLUS_VERSION when deciding how to
typedef UChar.
Jeff Genovy [Wed, 4 Dec 2019 19:50:55 +0000 (11:50 -0800)]
ICU-20873 Add the PGP "KEYS" file to the ICU repo.
This is a copy of the file from:
http://ssl.icu-project.org/KEYS
The ICU project's PGP KEYS file was previously hosted on a separate
server that not all ICU-TC members have access too. This change copies
the current KEYS file into the top-level git repo, so that we can setup
a redirect on the website to point at the checked-in file, rather than
hosting it separately.
Markus Scherer [Thu, 21 Nov 2019 21:29:18 +0000 (21:29 +0000)]
ICU-20893 Unicode 13 beta
See PR #915, see changes.txt
- Unicode 13 beta data as of 2019-nov-21
- uprops.icu format version 7.7 with more bits for Script/Script_Extensions
- more bits in spoof checker ScriptSet
- root line break rules adjusted for UAX 14 changes, from Andy
- line break tailorings not yet in sync with root
Fredrik Roubert [Wed, 18 Sep 2019 18:26:03 +0000 (20:26 +0200)]
ICU-20819 Correct placement of parentheses in preprocessor macro.
The purpose of the FIELD_NAME_STR() macro is to create a string literal
by using the # preprocessing operator and then skip the first 5 chars of
this string by using the +5 pointer arithmetic. This is all intentional,
but if the parentheses are misplaced the compiler might think that this
is a mistake, a failed string concatenation (-Wstring-plus-int).