Commit graph

124 commits

Author SHA1 Message Date
Frank Tang
ad0df7e4c8 ICU-22817 Use LocalPointer/Memory/Array to clarify ownership transfer
Some checks are pending
GHA ICU Merge CI / icu4j-converterperf (TestCharsetEncoderICU, korean, UTF-8) (push) Blocked by required conditions
GHA ICU Merge CI / icu4j-converterperf (TestCharsetEncoderICU, korean, csiso2022kr) (push) Blocked by required conditions
GHA ICU Merge CI / icu4j-converterperf (TestCharsetEncoderICU, s-chinese, EUC-CN) (push) Blocked by required conditions
GHA ICU Merge CI / icu4j-converterperf (TestCharsetEncoderICU, s-chinese, UTF-8) (push) Blocked by required conditions
GHA ICU Merge CI / icu4j-dateformatperf (en_US, "HH:mm Z" "13:13 -0800" 5, TestICUConstruction) (push) Blocked by required conditions
GHA ICU Merge CI / icu4j-dateformatperf (en_US, "HH:mm Z" "13:13 -0800" 5, TestICUFormat) (push) Blocked by required conditions
GHA ICU Merge CI / icu4j-dateformatperf (en_US, "HH:mm Z" "13:13 -0800" 5, TestICUParse) (push) Blocked by required conditions
GHA ICU Merge CI / icu4c-windows-msvc-postmerge (x64, Debug, x64) (push) Waiting to run
GHA ICU Merge CI / icu4c-windows-msvc-postmerge (x64, Release, x64) (push) Waiting to run
GHA ICU Merge CI / icu4c-windows-msvc-postmerge (x86, Debug, Win32) (push) Waiting to run
GHA ICU Merge CI / icu4c-windows-msvc-postmerge (x86, Release, Win32) (push) Waiting to run
GHA ICU Merge CI / icu4c-windows-cygwin-gcc (push) Waiting to run
GHA CI Valgrind / clang-valgrind-test (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (csdet) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (format) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (bidi) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (collator) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (convert) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (icuserv) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (idna) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (normalize) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (rbbi) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (rbnf) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (rbnfp) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (rbnfrt) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (regex) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (spoof) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (translit) (push) Waiting to run
GHA CI Valgrind / clang-valgrind-intltest (utility) (push) Waiting to run
Scorecard supply-chain security / Scorecard analysis (push) Waiting to run
See #3443
2025-03-24 16:24:02 -07:00
Fredrik Roubert
0bf8a95309 ICU-22793 Remove superfluous return value typecasts to UBool. 2024-09-19 17:11:38 +02:00
Markus Scherer
37b41495d7 ICU-22876 C++ UnicodeSet/USet easy item iteration
See #3120
2024-09-10 17:38:03 -07:00
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
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
Markus Scherer
b303de1ff1 ICU-21524 UnicodeSet.hasStrings(): no complement in toPattern() 2021-10-19 12:24:15 -07:00
Markus Scherer
3f0e003901 ICU-11891 make UnicodeSet.toPattern() well-formed & round-trip 2021-09-17 13:49:13 -07:00
Andy Heninger
081cf77330 ICU-21662 Improve UVector error handling.
- Add updated versions of UVector::addElement() and ensureCapacity() that respect
  incoming errors.
  Follow on to c26aebe, which renamed the original versions.

- Add UVector::adoptElement() as a replacement for addElement() when the vector
  has a deleter function set, meaning that it adopts ownership of its elements.

  The intent is to make the behavior clearer at the call sites when looking
  at unfamiliar code.

- Make all functions with an incoming failure, as indicated by a UErrorCode parameter,
  leave the vector unchanged.

- Change all functions that store object pointers into the vector such that,
  when the store cannot be completed for any reason _and_ the vector has a deleter function,
  then the incoming object is deleted.

  This change can simplify the error handling code around calls to the affected functions
  (addElement() and insertElementAt(), in particular)

- Add index bounds checking on functions where it was possible - that is, on functions
  with both U_ErrorCode and index parameters.

- Changed to more modern C++ idioms in some parts of the UVector implementation.

- Review & update as required all uses of the UVector functions
  setElementAt(), insertElementAt(), setSize(), sortedInsert()
  these being the functions with changed behavior on error conditions
  (aside from addElement()).

This PR will be followed by more, switching call sites in various ICU services
from UVector::addElementX() (old behavior on errors)
to   UVector::addElement()  (new behavior on errors)
2021-09-02 19:15:36 -07: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
Frank Tang
bdb4c7025a ICU-21526 Change return of UElementComparator to int32_t
See #1621
2021-03-31 12:02:08 -07:00
Markus Scherer
66460b9fad ICU-13702 add missing API functions
and fix a bug in Java UnicodeSet.retain(String) which added the string even if the set did not contain it before,
and some drive-by API doc fixes/clarifications
2021-02-17 10:12:10 -08:00
Markus Scherer
dea5448cb1 ICU-13702 C++ UnicodeSet cleanup: use UTF-16 literals 2020-12-29 19:07:55 -08:00
Markus Scherer
9963b4d62a ICU-13702 allow empty string in UnicodeSet
See #1519
2020-12-29 09:33:35 -08:00
Markus Scherer
f02b496494 ICU-20783 C++ covariant return types: clone(), freeze() & friends 2019-08-22 16:24:41 -07:00
Markus Scherer
98f9170004 ICU-20250 make UnicodeSet(intprop=value) faster
- fastpath for UnicodeSet.add(new last range)
- fewer UnicodeSet memory allocations:
  initial internal list array, exponential array growth,
  allocate strings list/set only when first one is added
- faster CodePointTrie.getRange(): fewer calls to filter function
- revert UnicodeSet(intprop=value) from trie ranges to range starts + lookup
- cache per-int-prop range starts: fewer lookups
2018-11-12 16:05:57 -08:00
Markus Scherer
82f0f480d4
ICU-20086 C++ sets & maps for Unicode properties (#93)
also create ucpmap.h from renamed parts of ucptrie.h
2018-09-27 14:27:39 -07:00
Andy Heninger
278b9cb735
ICU-20079 integer overflow & divide by zero sanitizer fixes. (#67) 2018-09-27 14:27:38 -07:00
Jeff Genovy
d4fdbb8682
ICU-20035 UnicodeSet constructor(s) and assignment operator should setToBogus when out-of-memory (OOM) failure occurs. (#15) 2018-09-27 14:27:37 -07: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
Markus Scherer
7960164327 ICU-12663 UnicodeString support nearly 2G UChars & avoid integer overflows; string-to-string case mappings & detect integer overflows; make some calls to uprv_memcpy() and similar a little more robust by casting int32_t to size_t before multiplying
X-SVN-Rev: 39288
2016-09-20 01:10:36 +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
Steven R. Loomis
39f7040439 ICU-11886 unsafe-backward set, review comments
. remove #if 0's and stray comments
. cleanup UnicodeSet docs (deserialize does not freeze)
. remove dead code in collationdatareader.cpp

X-SVN-Rev: 37960
2015-09-15 21:42:56 +00:00
Steven R. Loomis
94fe10c710 ICU-11886 Speed up ucol_open by 21%
* implement a deserialize constructor for UnicodeSet
 * add test cases for same
* add a generator (`gencolusb`) which can build `source/i18n/collunsafe.h`
* Note that for bootstrapping `collunsafe.h` can be truncated (zero length).

X-SVN-Rev: 37929
2015-09-10 01:39:06 +00:00
Markus Scherer
bc31ae8173 ICU-9662 add & test & use U8_GET_OR_FFFD(), U8_NEXT_OR_FFFD(), U8_PREV_OR_FFFD()
X-SVN-Rev: 32796
2012-11-11 06:14:18 +00:00
Markus Scherer
e31ce99b84 ICU-8575 option for not including utf headers by default; replace uses of deprecated utf_old.h macros
X-SVN-Rev: 30430
2011-07-27 05:53:56 +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
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
d743bb693e ICU-8319 merge MessageFormat 2011q1 work into trunk, from icu/branches/markus/msg48 -r 29400:29882
X-SVN-Rev: 29886
2011-04-25 20:47:32 +00:00
Michael Ow
b4853d0331 ICU-7222 Remove Windows x64 warnings by casting explicitly.
X-SVN-Rev: 26870
2009-11-11 15:47:22 +00:00
Claire Ho
81ac0f67a6 ICU-6356 Fixed the coredump for c tests running without data files.
X-SVN-Rev: 24211
2008-06-17 22:27:18 +00:00
George Rhoten
9026aecf79 ICU-6076 Test string addition failures.
X-SVN-Rev: 23449
2008-02-17 09:16:12 +00:00
George Rhoten
8c56e56382 ICU-6076 Make it a little easier to detect initialization problems, and
improve initialization time.

X-SVN-Rev: 23442
2008-02-16 11:26:53 +00:00
George Rhoten
9ad6ca1462 ICU-6132 Verify UnicodeSet bogus state is handled without crashing
X-SVN-Rev: 23393
2008-02-08 03:39:40 +00:00
Michael Ow
2ed2733b76 ICU-6132 Add bogus state to UnicodeSet to indicate such errors as memory allocation error.
X-SVN-Rev: 23287
2008-01-22 17:46:22 +00:00
George Rhoten
1725c5899a ICU-6076 Fix some allocation issues.
X-SVN-Rev: 23087
2007-12-14 10:17:12 +00:00
George Rhoten
6112b5685d ICU-6076 Fix some realloc issues.
X-SVN-Rev: 23086
2007-12-14 09:23:07 +00:00
Andy Heninger
67e296e813 ICU-5386 Regular Expressions update, improved Java 1.5 compatibility. svn merge -r 22747:23061 from branches/andy/regex
X-SVN-Rev: 23063
2007-12-11 21:30:10 +00:00
George Rhoten
397ffe6f76 ICU-5445 operator= does not have a check for the source and destination
addresses being non-identical

X-SVN-Rev: 22136
2007-07-25 03:58:02 +00:00
George Rhoten
b025efb767 ICU-5445 Undo my last change.
X-SVN-Rev: 22125
2007-07-24 18:08:22 +00:00
George Rhoten
b5e9f17cdd ICU-5445 Fix some compiler warnings.
X-SVN-Rev: 22120
2007-07-24 08:30:41 +00:00
Markus Scherer
19446aeeba ICU-5585 fast, freezable UnicodeSet with span() with string support; svn merge -r 21018:22033 http://source.icu-project.org/repos/icu/icu/branches/markus/fastset and revert source/test/perf/unisetperf/draft/* and source/common/utrie.* and source/allinone/allinone.sln (experimental code)
X-SVN-Rev: 22053
2007-07-19 04:33:20 +00:00
George Rhoten
c3f935855f ICU-5745 Improve performance of translit/TransliteratorTest/TestInstantiation
X-SVN-Rev: 21757
2007-06-15 23:32:12 +00:00
George Rhoten
c5406f3b0c ICU-5426 Fix compiler warnings from last check in.
X-SVN-Rev: 20483
2006-10-04 00:33:11 +00:00
George Rhoten
31120cdfc4 ICU-5426 Fix last check-in. Handle the case when malloc fails.
X-SVN-Rev: 20478
2006-10-03 19:11:36 +00:00