Commit graph

648 commits

Author SHA1 Message Date
Tim Chevalier
d0e30acc68 ICU-23059 ICU4C MF2: Spec test updates
Some checks failed
GHA CI Valgrind / clang-valgrind-intltest (spoof) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (translit) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_IDNA=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_LEGACY_CONVERSION=1 -DUCONFIG_NO_NORMALIZATION=1 -DUCONFIG_NO_BREAK_ITERATION=1 -DUCONFIG_NO_IDNA=1 -DUCONFIG_NO_COLLATION=1 -DUCONFIG_NO_FORMATTING=1 -DUCONFIG_NO_MF2=1 -DUCONFIG_NO_TRANSLITERATION=1 -DUCONFIG_NO_REG… (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_LEGACY_CONVERSION=1) (push) Has been cancelled
GHA ICU4C / icu4c-without-collation-rule-strings (push) Has been cancelled
GHA ICU4C / icu4c-icuexportdata (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbbi) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-test (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (bidi) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (collator) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (convert) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (csdet) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (format) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbnfrt) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (regex) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_MF2=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_NORMALIZATION=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_REGULAR_EXPRESSIONS=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_SERVICE=1) (push) Has been cancelled
GHA ICU4C / uconfig-header-tests (-DUCONFIG_NO_TRANSLITERATION=1) (push) Has been cancelled
GHA ICU4C / unicode-update-tools (push) Has been cancelled
GHA ICU4C / icu4c-test-samples (push) Has been cancelled
GHA ICU4C / icu4c-uconfig-no-conversion (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (icuserv) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (idna) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (normalize) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbnf) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (rbnfp) (push) Has been cancelled
GHA CI Valgrind / clang-valgrind-intltest (utility) (push) Has been cancelled
Update spec tests to current version from message-format-wg

  - Update parser for changed name-start grammar rule
  - Validate number literals in :number implementation (since parser no longer does this)
  - Disallow `:number`/`:integer` select option set from variable

    See https://github.com/unicode-org/message-format-wg/pull/1016

    As part of this, un-skip tests where the `bad-option` error is
    expected, and implement validating digit size options
    (pending PR https://github.com/unicode-org/icu/pull/2973 is intended
    to do this more fully)
2025-03-27 15:20:49 -07:00
Fredrik Roubert
6ca288559f ICU-22936 Replace all ICU4C code that uses UBool as an integer. 2024-10-07 14:40:16 +02:00
Fredrik Roubert
55c5895923 ICU-22793 Clang-Tidy: google-readability-casting
https://releases.llvm.org/19.1.0/tools/clang/tools/extra/docs/clang-tidy/checks/google/readability-casting.html
2024-09-19 18:59:13 +02:00
Fredrik Roubert
0bf8a95309 ICU-22793 Remove superfluous return value typecasts to UBool. 2024-09-19 17:11:38 +02:00
StefanStojanovic
66ba09973a ICU-22787 Fix ClangCL compilation on Windows 2024-08-09 10:54:21 +05:30
Carlos Alberto Lopez Perez
8ca6bc7545 ICU-22813 Rise the size of the buffers used for the command strings at pkgdata
The tool pkgdata uses snprintf() to build the strings of the commands that
will execute later during the install process. But the maximum size of this
buffers is not enough when there is a long path.

This has caused issues on some CI systems that use very long paths, causing
the install process to produce a wrong result.

The maximum path on Linux is 4096 (defined as PATH_MAX at <linux/limits.h>)
So the size of SMALL_BUFFER_MAX_SIZE should be 4096 to avoid errors related
to truncated paths.
2024-07-19 18:02:53 +00: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
47e9389b8e ICU-22785 move cptrie bit setter to toolutil; add getCPTrieSize() 2024-06-04 18:51:53 -07:00
Markus Scherer
0d8a3ccd11 ICU-22785 move Block bits from propsvec0 to new trie 2024-06-04 10:49:53 -07:00
Tim Chevalier
85a9b2ee84 ICU-22746 Refactor MF2 tests to be data-driven and add JSON lib
This change moves all test strings out of test/intltest/messageformat2test.cpp
and into JSON files, which are parsed/run by code in
a new file, test/intltest/messageformat2test_read_json.cpp .
It also removes the file test/intltest/messageformat2test_fromjson.cpp ,
which contained tests that are now stored in JSON files.

To enable this, a new vendored library is added:
nlohmann/json .
This library is introduced as a dependency for the MF2 tests.
The required part of the library is a single header file,
which is added under icu4c/source/tools/toolutil/.
Also adds a wrapper file for the vendored JSON header file
that defines macros that disable exceptions.

Co-authored-by: Steven R. Loomis <srl295@gmail.com>
2024-05-07 14:09:24 -07:00
Markus Scherer
4d9612bfa2 ICU-22707 Age 6:2, run generate.sh 2024-04-29 17:00:55 -07:00
Markus Scherer
cce162bf4d ICU-11396 new properties Identifier_Status & Identifier_Type
See #2879
2024-03-20 13:20:14 -07:00
Elango Cheran
1be861209e ICU-22689 Add PPUCD-based data driven test for binary props
See #2889
2024-03-20 09:11:57 -07: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
Rich Gillam
1cedbbd90d ICU-22534 Fixed a couple issues from the API-promotions PR that Frank found in code review. 2024-03-12 16:47:57 -07:00
Mihai Nita
47b9a517be ICU-21107 Specify language standard versions C11 & C++17 also for MSVC
ICU-21107 Specify language standard versions C11 & C++17 also for MSVC
2024-01-17 09:26:22 -08:00
Fredrik Roubert
078b88a11a ICU-21107 Specify language standard versions C11 & C++17 also for MSVC.
There were until now no versions specified at all, relying on the
default (or commandline overrides) to be sufficiently recent.
2024-01-16 22:22:05 +09:00
Fredrik Roubert
85b7f5fda2 ICU-22604 Use 'void' for empty C parameter lists (-Wstrict-prototypes). 2023-12-19 09:27:01 +09:00
Kirill A. Korinsky
f2459c16dc ICU-22211 macOS PPC should use .p2align 4 instead .balign 16
An attempt to build ICU on old macOS with PowerPC leads to an issue:
```
./out/tmp/icudt72b_dat.S:7:Unknown pseudo-op: .balign
./out/tmp/icudt72b_dat.S:7:Rest of line ignored. 1st junk character valued 49 (1).
```

Why? Because `as` is too old.

Anyway, switch back to `.p2align` fix a build and allows to pass all tests.

See: https://trac.macports.org/ticket/66258

Signed-off-by: Kirill A. Korinsky <kirill@korins.ky>
2023-03-17 09:10:21 -07:00
L. E. Segovia
62375dca3a ICU-22205 toolutil: Fix MASM generation for x86-64 and ARM64 2023-03-15 16:48:54 -07:00
L. E. Segovia
167f8855a2 ICU-22210 toolutil: Add NASM generator 2023-03-15 16:42:09 -07: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
Frank Tang
de0a28644b ICU-22251 Move sprintf to snprintf.
See #2291
2023-01-25 23:23:29 -08:00
Frank Tang
cd1b772cbf ICU-22027 Add C++ Calendar API for Temporal
API proposal
https://docs.google.com/document/d/1UYriEzzExiLhi2RD3zjTsI5UQHv1dXaFqrct7yXNdCA/edit#heading=h.x9obor85vpx9

Design Doc
https://docs.google.com/document/d/15ViyC9s0k3VEDwBmAkKxxz4IadZ6QrAIoETkdkF0cVA/

ICU-22027 Adjust API to remove the mention of M00L for now.
2023-01-17 15:08:08 -08:00
L. E. Segovia
ba8e4087ca ICU-22203 Windows: enable C-code generation with overridden entry point 2022-12-02 11:45:09 -08:00
L. E. Segovia
e7aad77f31 ICU-22204 toolutil: Fix crash when trying to generate MinGW assembly 2022-12-02 10:42:24 -08:00
Markus Scherer
b00562e989 ICU-22191 writesrc.cpp: enable PRI formatting constants on all compilers 2022-11-09 04:38:00 +00:00
Sergey Fedorov
2b77e39fbb ICU-22191 writesrc.cpp: fix cinttypes header and place after C headers 2022-10-28 08:41:22 -07: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
Henri Sivonen
3cefbd55c7 ICU-22028 Export collation and normalization data for ICU4X 2022-06-28 08:37:32 -07:00
Markus Scherer
43d082665e ICU-22006 icupkg: %%ALIAS & %%Parent do not need truncation parent 2022-04-29 17:50:11 +00:00
Jeff Genovy
861e55c246 ICU-21972 Use a shared props file for the ICU Major Version number in the Windows Visual Studio project files. 2022-03-30 20:55:36 -07:00
Erik Torres
53f4ddf278 ICU-21900 BRSRC 71.0.1 Version update and regenerate configure
See #1973
2022-02-17 14:00:19 -08:00
gnrunge
f37a5e0090 ICU-21796 Rename bazel build files from BUILD to BUILD.bazel. This can
prevent conflicts when ICU users have their own BUILD files already.
2021-12-16 06:55:09 -08:00
Jérémy Lal
698efda42b ICU-21793 Fix ucptrietest golden diff 2021-11-03 15:01:41 -07:00
Markus Scherer
109a830ed2 ICU-21545 fix Unicode properties Bazel build 2021-09-27 17:49:44 -07:00
Peter Edberg
e69f337f3c ICU-21669 UPRV_UNREACHABLE > UPRV_UNREACHABLE_EXIT/ASSERT, update usages 2021-09-14 15:22:52 -07:00
Andy Heninger
0ec329c6e1 ICU-21662 Improve UVector error handling.
This is the next installment of UVector error handling cleanup. It includes:

- Revise UStack to follow the conventions of UVector, to leave the stack
  unmodified when there is an incoming error code. And, for stacks with a
  deleter function, to delete the incoming object if it cannot be
  succesfully pushed.

 - Review all useage of UStack in ICU; adjust call sites as needed.

 - Review all uses of UVector::addElementX() in the implementation of
   - Regular Expressions
   - Break Iteration
   - toolutil/xmlparser

   changing to the updated functions, and adjusting call sites as needed.
2021-09-08 17:24:52 -07:00
Shane F. Carr
92db25165f ICU-21545 Add icuwriteuprops tool
See #1741
2021-09-08 15:27:43 -05:00
Markus Scherer
f9beb616a8 ICU-21652 add emoji properties of strings
- 7 new properties: API constants & property names
- u_stringHasBinaryProperty(s, property) & UCharacter.hasBinaryProperty(s, property)
- two additional source data files
- new genprops part for writing new binary data file uemoji.icu
- data for existing emoji properties moved from uprops.icu (hardcoded in C++) to uemoji.icu (always loaded)
- new EmojiProps implementation
2021-09-08 12:15:50 -07:00
Peter Varga
1986dcd0d8 ICU-21734 Add missing overrides 2021-09-07 17:42:14 -07:00
Peter Edberg
49dda34fb1 ICU-21581 integrate CLDR 40a0 to ICU trunk 2021-08-18 23:59:19 -07: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
Markus Scherer
d4c92ebcfc ICU-21635 Unicode 14 beta 2021-06-21 22:26:15 +00:00
Erik Torres
3f043c7693 ICU-21555 Fix typos from G to L
See #1737
2021-06-07 16:09:09 -07:00
Erik Torres
48ef451b87 ICU-21581 BRSRC 70.0.1 Version update and regenerate configure for v70.0.1
See #1738
2021-06-04 14:09:41 -07: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