ICU-20703 Selectively cherry-pick Travis CI build fixes.
This selectively cherry-picks fixes for Travis CI that were included
along with other changes in ICU-20048.
From the original commit message:
" update the Travis CI configuration to use newer compilers, and the
dependency checker to be happy with the newer clang compiler."
(cherry picked from commit 0367d4c135b2e2e93d96585d0afc2dddd81fb5d4)
This backports UMutex and UInitOnce changes from the master branch to
ICU 64 in order to resolve issues with order-of-destruction problems
and leaking OS critical sections on Windows platforms.
The following issues/tickets are included in this backport change:
- ICU-20570 UInitOnce instances, add explicit initialization where it was missing.
(cherry picked from commit a97cfb01b917125fdb9705cf79786188cebb6e2e)
- ICU-20520 UMutex refactoring.
(cherry picked from commit b772241b52fcec07b1909d44d156fbcd0cbfb20c)
- ICU-20595 Make icu::TimeZone::AdoptDefault thread safe
(cherry picked from commit cb40d8b1a5eb6dd01e3972db5e1a05b672202f80)
- ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model
(cherry picked from commit afa9b9b48e0a50f2298e5d47c101ac3325629d8c)
- ICU-20689 Fix race condition in UMutex code, leading to random crashes.
(cherry picked from commit 2cd213ac3b5d524acfcae85f689e7b3c1df47d2c)
ICU-20558 Fix regression in DateTimePatternGenerator (Backport for 64)
Backporting to ICU 64. This is cherry-picked from
commit: 693adf3987c192c9ec649bc88e3e41b52f23204d
This fixes a regression introduced by commit
b12a927c9365bb38831afbf76fdd0999f8f33deb 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.
e2d8530...
by
"Steven R. Loomis" <email address hidden>
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
83a0542b5b52a30b7af736f5ef6b0405f6582867 (master)
b76cb6517efa113739a3ffadda7ff024db0d5689 (in maint-64)
(cherry picked from commit 1c553b9cf28d25c0aaf961c5f587f4ad3cee2679)