35dfdf1d02
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. |
||
---|---|---|
.. | ||
allinone | ||
common | ||
config | ||
data | ||
extra | ||
i18n | ||
io | ||
layoutex | ||
python/icutools | ||
samples | ||
stubdata | ||
test | ||
tools | ||
.clang-format | ||
acinclude.m4 | ||
aclocal.m4 | ||
config.guess | ||
config.sub | ||
configure | ||
configure.ac | ||
Doxyfile.in | ||
icudefs.mk.in | ||
install-sh | ||
Makefile.in | ||
mkinstalldirs | ||
runConfigureICU |