scuffed-code/icu4c/source
Frank Tang 35dfdf1d02 ICU-21043 Fix calendar problems
This PR fixes
ICU-21043 Erroneous date display in indian calendar of all dates prior to 0001-01-01.
ICU-21044 Hebrew Calendar calculation is incorrect when the year < 1
ICU-21045 Erroneous date display in islamic and islamic-rgsa calendars of all dates prior to 0622-07-18.
ICU-21046 Erroneous date display in islamic-umalqura calendar of all dates prior to  -195366-07-23.

The problem in the indiancal.cpp is
* ICU-21043 the gregorian/julain convesion is wrong. Swith to use
i18n/gregoimp.h fix the problem.

The problem in the hebrwcal.cpp is
* ICU-21044 Use ClockMath::floorDivid to replace x / y for x maybe <  0
also need to fix incorrect value in test file

The problem in the islamcal.cpp:
* ICU-21045: The math of % negative number for year and month is wrong.
* ICU-21046: Not use int64_t methods and caused int32_t overflow while the year is a
huge negative number. Cast to int64_t to force using the int64_t version
for the math fix the problem.

Also add tests to exhaust test 8000 years for all calendar. In quick
mode, only test 2.5 years.

Switch to 0-based month. fix TZ for test.
2020-09-10 00:21:18 -07:00
..
allinone ICU-21108 Add build using VS2015 toolset, fix job names. 2020-09-08 13:58:38 -07:00
common ICU-21267 stop defining & using FALSE & TRUE macros in public headers 2020-09-09 15:13:56 -07:00
config ICU-20435 Fix parallel builds with Cygwin to 3.x 2020-03-26 10:18:23 -07:00
data ICU-21249 integrate CLDR release-38-alpha1 to ICU trunk 2020-09-04 15:05:22 -07:00
extra ICU-21267 stop defining & using FALSE & TRUE macros in public headers 2020-09-09 15:13:56 -07:00
i18n ICU-21043 Fix calendar problems 2020-09-10 00:21:18 -07:00
io ICU-21267 stop defining & using FALSE & TRUE macros in public headers 2020-09-09 15:13:56 -07:00
layoutex ICU-21267 stop defining & using FALSE & TRUE macros in public headers 2020-09-09 15:13:56 -07:00
python/icutools ICU-21257 remove #License fragment from license URLs 2020-09-04 10:02:17 -07:00
samples ICU-21267 stop defining & using FALSE & TRUE macros in public headers 2020-09-09 15:13:56 -07:00
stubdata ICU-21108 Update to use/support VS2019, and add extra CI builds for VS2017 and VS2019. 2020-09-02 13:01:27 -07:00
test ICU-21043 Fix calendar problems 2020-09-10 00:21:18 -07:00
tools ICU-21267 stop defining & using FALSE & TRUE macros in public headers 2020-09-09 15:13:56 -07:00
.clang-format ICU-20963 Add .clang-format file to icu4c/source 2020-09-01 21:19:06 +02:00
acinclude.m4 ICU-13670 Changing CFLAGS to C11 and fixing check for unicode string literals. 2018-04-23 21:16:52 +00:00
aclocal.m4 ICU-20652 Adds Makefile.in, a fuzzer driver, and minor changes to in fuzzer 2019-06-18 14:43:33 -07:00
config.guess ICU-13470 update config.guess and config.sub (again) 2017-11-15 21:00:09 +00:00
config.sub ICU-13470 update config.guess and config.sub (again) 2017-11-15 21:00:09 +00:00
configure ICU-21249 BRS68RC Version update and regenerate configure for v68 2020-08-31 19:35:14 -04:00
configure.ac ICU-20978 Reduce unnecessary building for tools when cross-building 2020-03-17 18:42:30 -07:00
Doxyfile.in ICU-21242 rephrase documentation using term master 2020-08-28 12:42:20 -07:00
icudefs.mk.in ICU-20322 On MinGW, move the DLLs to the "bin" directory. 2020-02-12 14:19:15 -08:00
install-sh
Makefile.in ICU-20978 Reduce unnecessary building for tools when cross-building 2020-03-17 18:42:30 -07:00
mkinstalldirs ICU-12564 Update copyright notice in trunk 2016-06-15 18:58:17 +00:00
runConfigureICU ICU-20027 Support parallel builds with MSYS/MSVC and Cygwin/MSVC (#104) 2018-09-27 14:27:39 -07:00