Commit graph

171 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
Markus Scherer
b6dcc95d3c ICU-21833 remove redundant void parameter lists
See #2351
2023-03-02 09:31:57 -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
Rich Gillam
58a51495dd ICU-22088 Various fixes to make dealing with NUMBERING_SYSTEM formatters easier. 2022-07-28 16:18:01 -07:00
Andy Heninger
85705f04e0 ICU-21960 C++20 Warnings from ATOMIC_VAR_INIT
Remove the ICU macros ATOMIC_INT32_T_INITIALIZER and U_INITONCE_INITIALIZER,
which made use of C++ ATOMIC_VAR_INIT, which has been removed from C++20.

With modern C++ features being available, these macros no longer served
any real need.
2022-05-17 15:45:06 -07:00
Peter Varga
1986dcd0d8 ICU-21734 Add missing overrides 2021-09-07 17:42:14 -07:00
Fredrik Roubert
633438f8da ICU-20973 Change all equality operator return types from UBool to bool. 2021-08-17 00:35:00 +02:00
Erik Torres Aguilar
bd3b202741 ICU-21018 Fix typos across repo that start with letter A
See #1506
2021-01-06 15:15:35 -08:00
Markus Scherer
d3315d98ef ICU-20783 use C++ covariant return types 2019-08-23 11:45:36 -07:00
Andy Heninger
5f837abd40 ICU-13533 Fix address sanitizer failures found with no-data ICU testing. 2019-08-19 13:29:32 -07:00
Andy Heninger
afa9b9b48e ICU-20588 UMutex, add cleanup of underlying mutexes, and simplify usage model 2019-05-24 13:24:59 -07:00
Andy Heninger
b772241b52 ICU-20520 UMutex refactoring.
- Use STATIC_NEW for mutex creation, to avoid order-of-destruction problems
    by avoiding destruction altogether, while avoiding memory leak reports.

  - Remove UConditionVar, replace with direct use of std::condition_variable
2019-05-07 13:50:49 -07:00
Andy Heninger
bc4bb89af2 ICU-20488 mutex static constructor fixes.
Remove the dependencies from the ICU library code on static constructors
that were introduced by using std::mutex and condition variables. The
mutexes are lazily initialized by embedding them as local static variables
in getter functions, and relying on the C++ compiler/runtime to do thread
safe initialization of them.
2019-03-12 09:52:16 -07:00
Andy Heninger
47d455a725 ICU-20179 Remove platform-specific mutex and atomics implementations.
Remove all POSIX and Win32 specific mutex, atomic and threading implementations
in favor of C++11 std library functions.

Move the related (internal) ICU types and functions into the icu namespace.
2018-11-19 17:17:09 -08:00
Jeff Genovy
a9a19fc229
ICU-20044 Fix some OOM issues in the NumberFormat class. (#21) 2018-09-27 14:27:37 -07:00
Shane Carr
6545bac22d ICU-12931 Adding internal visibility ifdef around format(DecimalQuantity) methods in numfmt.h and decimfmt.h
X-SVN-Rev: 41285
2018-04-28 02:38:55 +00:00
Shane Carr
b4573e4661 ICU-13634 Minor test expectation updates and status variable fixes. intltest format should be mostly working now.
X-SVN-Rev: 41238
2018-04-17 10:58:41 +00:00
Shane Carr
e0df2775ea ICU-13634 Centralizing data loading for pattern strings.
X-SVN-Rev: 41230
2018-04-14 08:10:45 +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
George Rhoten
5eed55e9a5 ICU-13306 Move rounding mode API to superclass as per technical committee review comments.
X-SVN-Rev: 40347
2017-08-23 17:38:00 +00:00
Markus Scherer
5a13a8ca58 ICU-12992 return raw pointers not pointer wrappers
X-SVN-Rev: 39729
2017-03-03 22:42:52 +00:00
Markus Scherer
031be51911 ICU-12992 move Char16Ptr to new char16ptr.h; change non-UnicodeString C++ functions from raw pointers to Char16Ptr where possible
X-SVN-Rev: 39716
2017-03-01 05:52:24 +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
George Rhoten
72280fb152 ICU-12713 Port fix for handling large magnitude numbers from ICU4J to ICU4C
X-SVN-Rev: 39560
2017-01-14 16:29:40 +00:00
Fredrik Roubert
3959b30d02 ICU-12140 Pass StringPiece by value, externally.
R=markus.icu@gmail.com

Review URL: https://codereview.appspot.com/306850043 .

X-SVN-Rev: 39064
2016-08-17 19:07:15 +00:00
Andy Heninger
549c7646bf ICU-12061 FieldPosition::DONT_CARE API status and doc update. Fix incorrect usage of FieldPosition(0).
X-SVN-Rev: 39017
2016-07-23 04:42:29 +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
Michael Ow
257d5a0a27 ICU-11809 Null terminate buffer in initCurrency
X-SVN-Rev: 38090
2015-11-19 18:58:42 +00:00
Peter Edberg
5d1a2fa6bd ICU-11787 Add support for UNUM_CURRENCY_STANDARD and locale u-ext key -cf- (C)
X-SVN-Rev: 37935
2015-09-10 05:40:20 +00:00
Peter Edberg
15ee90b9a3 ICU-11693 C support for CompactDecimalFormat, via UNumberFormatStyle additions
X-SVN-Rev: 37612
2015-06-23 18:09:52 +00:00
Markus Scherer
9edbbecb24 ICU-11339 add & use LocalPointer(p, errorCode) and adoptInsteadAndCheckErrorCode(p, errorCode)
X-SVN-Rev: 36757
2014-11-20 00:27:17 +00:00
Travis Keep
f335b55bdf ICU-10802 Merge branch tkeep/10802andy into trunk.
X-SVN-Rev: 36214
2014-08-20 21:46:02 +00:00
Travis Keep
321f5c2c7b ICU-10966 Fix NumberFormat::createInstance to return U_MISSING_RESOURCE_ERROR when there is missing resource data.
X-SVN-Rev: 36026
2014-07-15 00:10:52 +00:00
Tom Zhang
985f42b752 ICU-10344 add new field & factory method for currency CASH/STANDARD Usage
X-SVN-Rev: 35873
2014-06-12 21:40:34 +00:00
Travis Keep
e4f7eafc89 ICU-10461 Andy's review comments.
X-SVN-Rev: 35490
2014-03-17 18:07:34 +00:00
Yoshito Umaoka
36bd9445a2 ICU-10726 Updated the last resort number format patterns to match the patterns used by root locale.
X-SVN-Rev: 35246
2014-02-27 07:44:48 +00:00
Yoshito Umaoka
cfd57abf79 ICU-10601 Added UNUM_CURRENCY_ACCOUNTING to ICU4C NumberFormat.
X-SVN-Rev: 35198
2014-02-22 00:16:56 +00:00
Travis Keep
53ababf5a7 ICU-10461 Make NumberFormat::createInstance() and PluralRules::forLocale() 10X faster than before for most common types. Provide internal createSharedInstance() for NumberFormat and SharedFormat for internal use that is 2 orders of magnitude faster than before.
X-SVN-Rev: 35114
2014-02-10 19:13:50 +00:00
Peter Edberg
401daae867 ICU-10633 Implement context-sensitive number formatting (currently just for RBNF)
X-SVN-Rev: 35095
2014-02-06 09:41:17 +00:00
Peter Edberg
4c8984f5cb ICU-10574 initialize fCapitalizationContext in default constructor
X-SVN-Rev: 34897
2014-01-15 08:34:01 +00:00
Peter Edberg
1865fa1670 ICU-10574 part 1, just API and setContext/getContext implementation
X-SVN-Rev: 34886
2014-01-14 07:31:30 +00:00
Steven R. Loomis
358e1ddcd2 ICU-10376 fixup clang warnings
X-SVN-Rev: 34385
2013-09-18 20:08:25 +00:00
Andy Heninger
cd3860a322 ICU-10361 Add missing icu namespace on previouos NumberFormat changes.
X-SVN-Rev: 34368
2013-09-17 23:43:28 +00:00
Andy Heninger
25bab8fa6f ICU-10361 DecimalFormat, remove number size restrictions that were limiting the ability to format big decimals.
X-SVN-Rev: 34366
2013-09-17 21:56:23 +00:00
Markus Scherer
8f38199123 ICU-10365 fix namespace issue: icu::UInitOnce
X-SVN-Rev: 34252
2013-09-10 00:34:12 +00:00