Commit graph

127 commits

Author SHA1 Message Date
Fredrik Roubert
0178a07a26 ICU-22793 Clang-Tidy: google-readability-casting
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-casting.html
2024-07-04 22:32:12 +02:00
Fredrik Roubert
e017edc97d ICU-22621 Clang-Tidy: readability-qualified-auto
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/readability/qualified-auto.html
2024-03-19 15:55:56 +01:00
Fredrik Roubert
5401c12018 ICU-22621 Clang-Tidy: modernize-use-nullptr
https://releases.llvm.org/17.0.1/tools/clang/tools/extra/docs/clang-tidy/checks/modernize/use-nullptr.html
2024-03-15 14:31:54 +01:00
Frank Yung-Fong Tang
80414a247b ICU-22224 Enable UBSAN and fix breakage
See #2324
2023-02-27 17:31:49 -08:00
Frank Tang
638acd0c38 ICU-21374 Add a CFI build bot for ICU4C
Add the github action bot to build with cfi
Also fix all the known issues which require the change from C style cast to
static_cast inside the i18n and common directory while we are sure about
the object. and use
C++ style dynamic_cast for base-to-derive cast in other code inside i18n
and common and in test code or tool.
Change to use const_cast for casting between const / non-const
2023-02-06 15:47:14 -08:00
Fredrik Roubert
2de88f9d9c ICU-21833 Replace UChar with char16_t in all C++ code. 2023-02-06 19:27:44 +01:00
Fredrik Roubert
2e0d30cfcf ICU-21833 Replace NULL with nullptr in all C++ code. 2023-02-03 20:20:38 +01:00
Fredrik Roubert
030fa1a479 ICU-21148 Consistently use standard lowercase true/false everywhere.
This is the normal standard way in C, C++ as well as Java and there's no
longer any reason for ICU to be different. The various internal macros
providing custom boolean constants can all be deleted and code as well
as documentation can be updated to use lowercase true/false everywhere.
2022-09-07 20:56:33 +02:00
Andy Heninger
904cf62457 ICU-21763 UVector cleanup in Formatting Code
Revise uses of UVector in Formatting related code to better handle memory
allocation failures.  This is one of an ongoing series of commits to address
similar problems with UVector usage throughout ICU.

The changes primarily involve switching uses of UVector::addElementX() to the
new adoptElement() or addElement() functions, as appropriate, and using
LocalPointers for tracking memory ownership.
2021-12-16 11:56:30 -08: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
Fredrik Roubert
633438f8da ICU-20973 Change all equality operator return types from UBool to bool. 2021-08-17 00:35:00 +02: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
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
Erik Torres Aguilar
6eea259143 ICU-21018 Fix typos across repo that start with letter C
See #1525
2021-01-06 15:15:26 -08:00
Markus Scherer
f02b496494 ICU-20783 C++ covariant return types: clone(), freeze() & friends 2019-08-22 16:24:41 -07:00
Fredrik Roubert
5d6d29b76a ICU-20601 Remove superfluous semicolons (-Wextra-semi-stmt).
These are the same changes for the C++ code as was done for the C code
by commit 17606e0345.
2019-08-15 12:30:21 +02:00
Nebojsa Ciric
a9d2196913 ICU-12584 Fix memory allocation for getFormats.
Also:
  Add a test case for inner message, other small cleanup.
  Style fixes, using better test methods
2019-02-14 18:39:49 -08:00
Mihai Nita
2666d18e54 ICU-9622 Adding support for date/time skeletons 2018-12-13 13:20:33 -08:00
Daniel Ju
b13c951348
ICU-20043 ICU-13214 ICU-13764 MSVC W3 and W4 warning cleanup (#53)
Cleaned up all of the MSVC W3 warnings and most of the W4 warnings in the common and i18n projects.
2018-09-27 14:27:38 -07:00
Shane Carr
d7f3471733 ICU-13757 Renaming skeleton methods fromSkeleton -> forSkeleton
X-SVN-Rev: 41393
2018-05-17 00:43:12 +00:00
Shane Carr
b347a140ec ICU-13742 Implementing number skeletons in MessageFormat.
X-SVN-Rev: 41377
2018-05-15 00:05:04 +00:00
Shane Carr
73f93a457a ICU-13634 Fixing DecimalQuantity call sites, first written in r41063, r41064, and r41098. RNBF test is passing again.
X-SVN-Rev: 41204
2018-04-06 09:35:16 +00:00
Shane Carr
453788ddfd ICU-13634 Temporarily deleting all old number formatting implementation code. Pieces will be restored as needed. ICU4C builds, including tests, but won't run. Changes in plurfmt.cpp and plurrule.cpp are not tested. numberformat2test.cpp is unlinked but not deleted.
X-SVN-Rev: 41098
2018-03-13 08:12:05 +00:00
Shane Carr
94427dc200 ICU-13574 Replacing DigitList with DecimalQuantity through most of the code base.
X-SVN-Rev: 41064
2018-03-03 10:53:01 +00:00
Shane Carr
3681a6803b ICU-13574 Replacing decimfmt.cpp and compactdecimalformat.cpp with new, empty files. Removing most private and internal functions from decimfmt.h, and updating call sites to use newer API.
X-SVN-Rev: 41063
2018-03-03 08:26:58 +00:00
Norbert Runge
b96966a131 ICU-13358 No-data test fixes (cf. BRS task).
X-SVN-Rev: 40599
2017-10-06 23:11:11 +00:00
Andy Heninger
242e02c388 ICU-12764 icu4c utf-8 source files, update Copyright notices.
X-SVN-Rev: 39583
2017-01-20 00:20:31 +00:00
Michael Ow
61607c2773 ICU-12564 Update copyright notice in trunk
X-SVN-Rev: 38848
2016-06-15 18:58:17 +00:00
Yoshito Umaoka
00ca13e126 ICU-12564 Reverted r38761 and r38762, because we want to prepend the Unicode copyright for existing source files, instead of replacing copyright comments.
X-SVN-Rev: 38776
2016-05-31 21:45:07 +00:00
Michael Ow
c9f199a30f ICU-12564 Update copyright notice in ICU4C
X-SVN-Rev: 38761
2016-05-26 22:32:17 +00:00
Travis Keep
2860cd48c4 ICU-11740 DecimalFormat refactor.
X-SVN-Rev: 37821
2015-08-25 23:31:01 +00:00
Steven R. Loomis
7e6c572256 ICU-10774 fix a knownissue: Collator::getAvailableLocales calculation.
Also, replace uhash_nextElement's parameter "-1" with UHASH_FIRST for clarity.
Also, improve service registration debugging code

X-SVN-Rev: 36836
2014-12-09 23:54:56 +00:00
Andy Heninger
4812b221aa ICU-10976 Remove C++ null reference checks; they're undefined behavior.
X-SVN-Rev: 35987
2014-07-02 20:57:26 +00:00
Markus Scherer
fb38bbbee8 ICU-10273 support plurals with decimals in MessageFormat and PluralFormat (ported from Java r34087 & r34276)
X-SVN-Rev: 34277
2013-09-11 23:32:37 +00:00
Travis Keep
310f2f2a22 ICU-10304 Fix MessageFormat::setArgStartFormat() so that it returns immediately after freeing adopted pointer on error.
X-SVN-Rev: 34044
2013-08-15 00:08:34 +00:00
Markus Scherer
22a342a545 ICU-9689 UObject::getDynamicClassID() const { return NULL; } and remove UOBJECT_DEFINE_NO_RTTI_IMPLEMENTATION -> easier to create new class hierarchies
X-SVN-Rev: 32776
2012-11-08 23:31:20 +00:00
Markus Scherer
4c68d12d35 ICU-8901 u_formatMessage(unused argument): ignore unused argument, no failure
X-SVN-Rev: 32541
2012-10-07 02:50:40 +00:00
Markus Scherer
49d407d984 ICU-9294 test & fix MessageFormat::getFormatNames()
X-SVN-Rev: 32540
2012-10-07 01:27:19 +00:00
George Rhoten
dc75668c05 ICU-9457 Fix some compiler warnings
X-SVN-Rev: 32095
2012-08-03 19:09:42 +00:00
Michael Ow
0ca13b73b0 ICU-9292 Merge BEAM warning fixes from branch into trunk
X-SVN-Rev: 31792
2012-05-03 05:50:26 +00:00
Markus Scherer
adcdc1c20e ICU-9132 finalize new MessageFormat pattern argument type to selectordinal
X-SVN-Rev: 31702
2012-04-13 17:37:12 +00:00
Markus Scherer
8d7428d1b3 ICU-9132 ordinal-plural formatting in C/C++
X-SVN-Rev: 31687
2012-04-07 04:27:27 +00:00
Steven R. Loomis
737d129645 ICU-8784 commit iSeries porting fixes into trunk
X-SVN-Rev: 30667
2011-09-15 19:34:17 +00:00
Markus Scherer
e71be2e3b7 ICU-8806 fix MessageFormat plural # formatting: fix offset lookup
X-SVN-Rev: 30635
2011-09-07 23:18:54 +00:00
Markus Scherer
2201fb816c ICU-7877 optionally explicit UnicodeString constructors, and make them explicit inside ICU
X-SVN-Rev: 30293
2011-07-07 18:46:19 +00:00
Markus Scherer
1beb0f1e4f ICU-8680 require C++ namespace, replace most U_NAMESPACE_QUALIFIER with icu::, remove still-draft U_STD_NS, U_STD_NSQ, and U_STD_NS_USE
X-SVN-Rev: 30281
2011-07-06 04:03:35 +00:00
Markus Scherer
744d1f3a19 ICU-8617 move UHashTok into lower-level uelement.h (new) and rename to UElement to share with UVector
X-SVN-Rev: 30272
2011-07-04 23:51:56 +00:00
Michael Ow
310c23c24e ICU-8578 Apply patch to fix some compiler warnings and related issues
X-SVN-Rev: 30205
2011-06-10 18:56:08 +00:00
Markus Scherer
9f7d74001c ICU-8605 document & test ICU4C dependencies, remove cycles, reduce some deps; merged from branches/markus/depstest -r 30155:30193
X-SVN-Rev: 30194
2011-06-03 05:23:57 +00:00
Markus Scherer
bb70cf601c ICU-8319 workaround for gcc 3.3.3 compiler bug
X-SVN-Rev: 30040
2011-05-05 22:46:07 +00:00