Commit graph

169 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
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
Frank Tang
de0a28644b ICU-22251 Move sprintf to snprintf.
See #2291
2023-01-25 23:23:29 -08: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
75ac80bd68 ICU-21580 change site.icu-project.org to icu.unicode.org etc 2021-10-21 15:54:42 -07:00
Erik Torres
2b895a71e1 ICU-21555 Fix typos in repo from letter d to i
Fix typos in repo from letter d to i
2021-08-30 16:45:43 -05: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
cfefa03539 ICU-21555 fix typos for D, E and F found in the repo
See #1714
2021-05-10 11:09:05 -07:00
Frank Tang
4689706386 ICU-21593 Merge ReadAndConvertFile 2021-04-23 14:33:10 -07:00
Markus Scherer
524748c6bf ICU-20984 StringPiece & ByteSink overloads for char8_t* 2020-03-16 10:49:21 -07:00
Shane Carr
bb1f00efb8 ICU-20919 Merge branch 'maint/maint-66' into maint-66-merge
Conflicts:
	icu4j/main/shared/data/icudata.jar
2020-02-21 18:21:05 -08:00
Laurent Stacul
3b58179396 ICU-20972 Fix invalid conversion from const char8_t* to const char* (C++20) 2020-02-20 13:09:18 -08:00
Andy Heninger
54a60fe6f4 ICU-11548 Improve regex static UnicodeSets handling
Compiled regular expression patterns make use of several shared common
UnicodeSets. This change simplifies the creation and use of these
static UnicodeSets.

- Pointer fields to the static sets are removed from the compiled patterns,
  and the static variables are accessed directly. The deleted pointers
  were a hold-over from earlier code that did not use shared statics.

- The UnicodeSet pattern literals are changed from hex constants to
  u"string literals".

- The size of fRuleSets (from regexst.h) is changed from a hard-coded 10
  to the number of UnicodeSets actually required. Doing this required
  a change to regexcst.pl to export the required size. Changing and
  rerunning this perl code resulted in massive but benign changes to
  the generated file regexcst.h, the result of perl having changed its
  order of enumeration of hashes since the file was last regenerated.

- UnicodeSets are frozen when possible. Should result in faster matching.
2020-01-30 15:13:07 -08:00
Andy Heninger
03937347fb ICU-20863 Regex, lazy creation and reduced size of map from capture group names to numbers. 2019-10-22 17:23:26 -07:00
Andy Heninger
327087150f ICU-20618 Regex nested lookaround expressions, clean up active match region handling. 2019-08-19 13:31:34 -07:00
Fredrik Roubert
b4b2378931 ICU-20601 Wrap ICU test compound macros in do { } while.
This does the same for the ICU test code as was done for the
public ICU API in commit 480bec3ea6.
2019-08-15 22:01:42 +02: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
Jeff Genovy
e72290c45e ICU-13764 Add separate CI build that treats warnings as errors with clang.
This adds a separate CI build that enables -Werror for clang.

This also fixes all of the -Wall -Wextra warnings in the tests, and all the
-Wextra-semi warnings as well.
2019-07-30 22:10:02 -07:00
Andy Heninger
e559b30309 ICU-20359 Fix stack overflow in Regex Pattern Compile. 2019-03-07 10:31:30 -08:00
Jeff Genovy
33d7868d45 ICU-20351 Warning cleanup changes for ICU4C under MSVC. 2019-01-16 16:43:02 -08:00
Andy Heninger
0d32dd8f05 ICU-13632 regex out-of-bounds memory reference fix.
X-SVN-Rev: 41088
2018-03-09 18:39:14 +00:00
Andy Heninger
193aa17f08 ICU-13631 Regex Address Sanitizer fix.
X-SVN-Rev: 41086
2018-03-08 18:32:15 +00:00
Markus Scherer
03f431d30d ICU-13340 obsolete unicode/utf_old.h: add U_HIDE_OBSOLETE_UTF_OLD_H to optionally hide all of the .h contents; default: no behavior change; adjust code & tests to work either way
X-SVN-Rev: 40413
2017-09-14 06:24:35 +00:00
Andy Heninger
5f57938910 ICU-12884 regex timeout not working with {loop counts} in patterns.
X-SVN-Rev: 39693
2017-02-21 23:12:48 +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
Fredrik Roubert
7f4b8d106b ICU-12012 Replace all sizeof p / sizeof *p with UPRV_LENGTHOF().
R=markus.icu@gmail.com

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

X-SVN-Rev: 38337
2016-02-23 10:40:09 +00:00
Andy Heninger
8dba7301b7 ICU-11554 Fix regex bug with look-behind matching & UTF-8 input.
X-SVN-Rev: 38056
2015-10-09 20:01:46 +00:00
Andy Heninger
57ac300668 ICU-11480 added tests for regex with capture groups that do not participate in match.
X-SVN-Rev: 37816
2015-08-25 20:47:38 +00:00
Andy Heninger
d96fea9eb6 ICU-11123 promote RegexMatcher::find(UErrorCode &) to public API
X-SVN-Rev: 37073
2015-02-26 02:34:20 +00:00
Andy Heninger
ec3f77f878 ICU-5312 Regular Expressions Named Capture.
X-SVN-Rev: 37040
2015-02-18 23:56:19 +00:00
Andy Heninger
22c8c94d14 ICU-11469 Regular Expressions, remove old tech preview functions.
X-SVN-Rev: 36953
2015-01-14 00:03:29 +00:00
Andy Heninger
63758dca88 ICU-11371 Improved checking of regular expression pattern size limits.
X-SVN-Rev: 36801
2014-12-02 21:58:18 +00:00
Andy Heninger
f9c67eb71e ICU-11374 Regular Expression, improve checking of integer overflow.
X-SVN-Rev: 36790
2014-12-02 01:32:49 +00:00
Steven R. Loomis
7594250cc5 ICU-7653 changed uprv_lengthof to UPRV_LENGTHOF, also added apidoc
X-SVN-Rev: 36275
2014-08-28 22:13:45 +00:00
Tom Zhang
ee1f29b584 ICU-7653 move LENGTHOF(array) to common, internal header
X-SVN-Rev: 36265
2014-08-28 14:55:34 +00:00
Andy Heninger
f2dfa7422e ICU-10815 Fix for uregex_findNext() not setting U_REGEX_STOPPED_BY_CALLER
X-SVN-Rev: 36260
2014-08-28 01:19:29 +00:00
Andy Heninger
1ba1ec3b83 ICU-11049 regular expressions, use same logic in UText and (UChar *) code paths when checking limit of potential match start positions.
X-SVN-Rev: 36161
2014-08-14 17:44:05 +00:00
Andy Heninger
e03585d7cf ICU-11049 fix regex find() memory overrun.
X-SVN-Rev: 36124
2014-08-06 21:49:08 +00:00
Andy Heninger
a45f7faf63 ICU-10835 Improve performance of case insensitive find operations.
X-SVN-Rev: 35683
2014-05-02 22:51:53 +00:00
Michael Ow
3daf54af40 ICU-10740 Fix uconfig test errors
X-SVN-Rev: 35480
2014-03-15 06:08:42 +00:00
Andy Heninger
10dd7ed47b ICU-10463 Regular Expressions, rework debug conditionals to fix build failures on clang, and to somewhat simplify.
X-SVN-Rev: 34565
2013-10-14 22:11:21 +00:00
Andy Heninger
045919648e ICU-10459 Fix segfault in uregex_group() when match is in invalid state.
X-SVN-Rev: 34559
2013-10-11 20:59:39 +00:00
Michael Ow
4835d5705a ICU-10398 Ensure cintltst and intltest passes without data
X-SVN-Rev: 34398
2013-09-19 02:32:57 +00:00
Andy Heninger
20016a58db ICU-9719 Regular Expressions, add loop breaking to unbounded {min, max} loops.
X-SVN-Rev: 33848
2013-06-26 00:27:11 +00:00
George Rhoten
865333dd77 ICU-9457 Fix some compiler warnings.
X-SVN-Rev: 32111
2012-08-05 16:33:16 +00:00