Commit graph

23306 commits

Author SHA1 Message Date
DraganBesevic
de86b3269e ICU-22723 Integrate CLDR 46 release beta3, part 3, source files 2024-09-27 22:38:13 -07:00
DraganBesevic
17687bf58e ICU-22723 Integrate CLDR 46 release beta3, part 2, data files 2024-09-27 22:38:13 -07:00
Mihai Nita
0e21ca21a8 ICU-22928 Don't generate data for concentr/perbillion structure - text data 2024-09-26 22:55:42 -07:00
Craig
109008da3b ICU-22723 ICU76: Update known issue references to cloned reports. BRS #27
See #3215
2024-09-25 15:46:23 -07:00
Mike FABIAN
67b5763557 ICU-22912 fix coverity warning in gencnval.c
See: https://unicode-org.atlassian.net/browse/ICU-22912
2024-09-25 12:49:36 -07:00
Fredrik Roubert
3606d759b0 ICU-22392 Update configure files from configure.ac using autoreconf. 2024-09-24 16:01:27 -07:00
Begasus
ce11068030 ICU-22392 Add, primary support for Haiku 2024-09-24 14:34:11 -07:00
Markus Scherer
0334d92394 ICU-22721 simpler check for platforms that dont have char16_t 2024-09-24 10:56:14 -07:00
Sergey Bronnikov
da60e7a70d ICU-22904 Svace: Fix potential out-of-bound access 2024-09-23 20:51:41 -07:00
Mike FABIAN
1754ff2a10 ICU-22909 Fix coverity warning in makeconv.cpp
See: https://unicode-org.atlassian.net/browse/ICU-22909
2024-09-23 20:49:24 -07:00
Mike FABIAN
687ed05e55 ICU-22913 Fix coverity warning in wrtxml.cpp
See: https://unicode-org.atlassian.net/browse/ICU-22913
2024-09-23 19:57:57 -07:00
jeremyd2019
ed68cff34e ICU-22721 extend char16_t workaround to cygwin less than 3.5
uchar.h was added in Cygwin version 3.5.0.  Unfortunately, the last version of Cygwin that supported i686 was 3.3.6, so it is still somewhat relevant to a subset of users.
2024-09-23 19:52:51 -07:00
Ross Burton
0f022dca90 ICU-21172 fix install race
The generic recursive target calls target-local so also adding it to the
dependency list results in races due to install-local being executed twice in
parallel.  For example, install-manx can fail if the two install processes race
and one process tries to chown a file that the other process has just deleted.

Also install-manx should be a phony target, and for clarity use $^ instead of $?
in the install command.

Signed-off-by: Ross Burton <ross.burton@arm.com>
2024-09-23 18:45:09 -07:00
Yaakov Selkowitz
60d6bd71ef ICU-22721 Update filtration_test for Python 3.13
See #3046
2024-09-23 18:41:34 -07:00
Oleksandr Hubanov
9d9bdfd64f ICU-22916 Remove use of makedep from MVS build, update doc
alexgubanow alex@0x0h.com
2024-09-23 09:24:03 -07:00
Markus Scherer
22ff260c76 ICU-22707 better doc HST=V != GCB=V 2024-09-23 09:13:24 -07:00
Earl Chew
199bc82702 ICU-22610 Use Requires.private and Libs.private
To prevent overlinking when publishing shared libraries,
specify internal dependencies using Requires.private and
Libs.private.

Use Libs.private in icu-uc.pc for libicudata.so, and
Requires.private in icu-i18n.pc, icu-io.pc, and icu-lx.pc,
so that ICU internal dependencies will not be bound
into clients.

The resulting *.pc files will produce the following
output for icu-i18n and icu-lx, provided pkgconf has
commit 78d53ea0 (2.2.0 or later) which de-duplicates
multiple -L options:

    commit 78d53ea012dfbaf397bf8e6907efac5b51abac56
    Author: Kai Pastor <dg0yt@darc.de>
    Date:   Fri Feb 23 15:18:08 2024 +0100

        Revise serials, traversal, flattening

  ./configure --enable-shared ...

    #
    # icu-i18n
    #

    % pkgconf --libs  icu-i18n
    -L/opt/local/lib -licui18n

    % pkgconf --libs --static icu-i18n
    -L/opt/local/lib -licui18n -licuuc -licudata -lpthread -lm

    #
    # icu-lx
    #

    % pkgconf  --libs icu-lx
    -L/opt/local/lib -liculx

    % pkgconf  --libs --static icu-lx
    -L/opt/local/lib -liculx -L/usr/lib/x86_64-linux-gnu -licu-le-hb -lharfbuzz -lm -licuuc -licudata -lpthread -lm

  ./configure --disable-shared --enable-static ...

    #
    # icu-i18n
    #

    % pkgconf --libs  icu-i18n
    -L/opt/local/lib -licui18n -licuuc -licudata -lpthread -lm

    % pkgconf  --libs --static icu-i18n
    -L/opt/local/lib -licui18n -licuuc -licudata -lpthread -lm

    #
    # icu-lx
    #

    % pkgconf  --libs icu-lx
    -L/opt/local/lib -liculx -L/usr/lib/x86_64-linux-gnu -licu-le-hb

    % pkgconf  --libs --static icu-lx
    -L/opt/local/lib -liculx -L/usr/lib/x86_64-linux-gnu -licu-le-hb -lharfbuzz -licuuc -licudata -lpthread -lm
2024-09-22 14:19:51 -07:00
Tim Chevalier
2f348f4c7a ICU-22902 Remove support for Unsupported, Private & Reserved constructs
Matching PR #883 in the message-format-wg repo.

Also move spec tests for unsupported statements and expressions into new files
to serve as syntax error tests.
2024-09-20 17:29:07 -07:00
Oleksandr Hubanov
5f9f8b2053 ICU-22714 fix zos build, use OpenXL
See #3008
2024-09-20 17:12:28 -07:00
Tim Chevalier
8f82facca8 ICU-22898 MF2 parser bug fixes
ICU4C: Escape curly braces when serializing and normalizing
ICU4C: Escape '|' in patterns
ICU4C: When normalizing input, escape optionally-escaped characters in patterns
ICU4C/ICU4J: Allow trailing whitespace after a match
ICU4C: Fix parser to iterate over code points, not code units
Add tests with old reserved syntax as syntax-error tests
2024-09-20 16:22:34 -07:00
Rich Gillam
9adcf8bd09 ICU-22668 Added unit tests to verify that CLDR-17892 addresses the original problem reported here and took out an
earlier hack in the Java code to work around the original problem.
2024-09-20 16:00:33 -07:00
Chris Chapman
1c2a1c50b7 ICU-22896 updating tzdata to 2024b 2024-09-20 15:20:39 -07:00
Shane F. Carr
94057e9550 ICU-22900 Remove deprecated SimpleNumber truncateStart
See #3192
2024-09-20 12:10:41 -07:00
Frank Tang
48cc8785f2 ICU-22730 Fix int32_t overflow in Persian calendar 2024-09-20 10:24:22 -07:00
Tim Chevalier
5991c9392c ICU-22890 MF2: Add ICU4C test for lone surrogates
Add a test to ICU4C for handling of lone surrogates.

Incidentally fix uninitialized-memory bug in MessageFormatter
(initialize `errors` to nullptr)

Co-authored-by: Frank Tang <ftang@chromium.org>
2024-09-19 14:28:02 -07:00
Tim Chevalier
23edf9cca6 ICU-22762 MF2: Add builder method to control error handling behavior
Add MessageFormatter::Builder::setErrorHandlingBehavior() method
and a new enum type MessageFormatter::UMFErrorHandlingBehavior
to denote strict or best-effort behavior.

The reason for adding a single method that takes an enum is to allow
for the possibility of more error handling modes in the future.

Co-authored-by: Markus Scherer <markus.icu@gmail.com>
2024-09-19 13:21:56 -07:00
Peter Edberg
ac737dabcf ICU-12865 Update API docs to reflect new features in ICU 54 and later :-) 2024-09-19 11:19:15 -07: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
Rahul Pandey
30efee0d3a ICU-22723 BRS_76_RC: Update version number to 76.1-SNAPSHOT 2024-09-19 21:49:13 +05:30
Fredrik Roubert
0bf8a95309 ICU-22793 Remove superfluous return value typecasts to UBool. 2024-09-19 17:11:38 +02:00
Peter Edberg
07e0f7ee2f ICU-22318 Fix bad spacing in utxttest.cpp 2024-09-19 14:51:01 +02:00
Rich Gillam
1b33f5e30b ICU-22889 Implemented a recursion limit in the RBNF parsing code to match the one already present in the RBNF
formatting code.
2024-09-18 16:05:13 -07:00
Frank Tang
303b7e81d7 ICU-22897 Fix memory leak and int overflow
1. Rewrite to use LocalPointer to prevent memory leak
2. Rewrite the if/else to switch to make the logic clear
3. Delete the rule if not remember inside the rule set to fix memory
leak.
4. Check base value calculation to avoid int64_t overflow.
5. Add memory leak test
2024-09-18 14:40:13 -07:00
DraganBesevic
ce4b90e484 ICU-22723 Integrate CLDR 46 release beta1, part 3, source files 2024-09-18 10:41:49 -07:00
DraganBesevic
c7fe2558be ICU-22723 Integrate CLDR 46 release beta1, part 2, data and test files 2024-09-18 10:41:49 -07:00
Tim Chevalier
747d5eef3b ICU-22834 Update tests to reflect MF2 schema in conformance repo
This also updates the spec tests from the current version of the MFWG
repository and removes some duplicate tests.
Spec tests now reflect the message-format-wg repo as of
5612f3b050

It also updates both the ICU4C and ICU4J parsers to follow the
current test schema in the conformance repository.

This includes adding code to both parsers to allow `src` to be
either a single string or an array of strings (per
https://github.com/unicode-org/conformance/pull/255 ),
and eliminating `srcs` in tests.

It also includes other changes to make updated spec tests pass:

ICU4C: Allow trailing whitespace for complex messages, due to spec change
ICU4C: Parse number literals correctly in Number::format
ICU4J: Allow trailing whitespace after complex body, per spec change
ICU4C: Fix bug that was assuming an .input variable can't have a reserved annotation
ICU4C: Fix bug where unsupported '.i' was parsed as an '.input'
ICU4C/ICU4J: Handle markup with space after the initial left curly brace
ICU4C: Check for duplicate variant errors
ICU4C/ICU4J: Handle leading whitespace in complex messages
ICU4J: Treat whitespace after .input keyword as optional
ICU4J: Don't format unannotated number literals as numbers
2024-09-18 07:46:29 -07:00
Robin Leroy
bfc53547d1 ICU-22879 Test the collator predicates in maps 2024-09-17 20:44:21 +02:00
Fredrik Roubert
b160feaac2 ICU-22879 Provide collator based predicates for use with STL algorithms. 2024-09-17 20:44:21 +02:00
Fredrik Roubert
6020a98fbb ICU-22873 Update configure files from configure.ac using autoreconf. 2024-09-17 15:06:39 +05:30
Fredrik Roubert
e53f1df472 ICU-22873 Make configure log versions of the compilers used. 2024-09-17 15:06:39 +05:30
Fredrik Roubert
5c026623f1 ICU-22874 Update configure files from configure.ac using autoreconf. 2024-09-16 16:12:35 +02:00
Fredrik Roubert
b542ae9d91 ICU-22874 Update to use autoconf 2.72 for generating configure files. 2024-09-16 16:12:35 +02:00
Fredrik Roubert
e8cc2ec282 ICU-22874 Update the config.* files to current upstream versions.
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
2024-09-16 16:12:35 +02:00
Fredrik Roubert
87a9284500 ICU-22310 Update configure files from configure.ac using autoreconf. 2024-09-13 13:44:17 +02:00
Fredrik Roubert
30fdd06cba ICU-22310 Delete long since obsolete configure.ac sections.
Having commented-out checks for things that don't even need to be
checked serves no purpose.

MSVC floating point optimizations don't need to be set, /fp:precise is
the default and has been so for a very long time now:

https://learn.microsoft.com/en-us/cpp/build/reference/fp-specify-floating-point-behavior?view=msvc-140

ICU4C requires C++17 and there aren't any compilers capable of that
without namespace support so there's no need to check that.
2024-09-13 13:44:17 +02:00
Markus Scherer
4433a94a57 ICU-22722 toTitle does not use UTR 21 2024-09-12 16:05:33 -07:00
Markus Scherer
5447a23070 ICU-22876 add U_SHOW_CPLUSPLUS_HEADER_API for C++ header-only APIs 2024-09-12 15:36:40 -07:00
Frank Tang
70caba0027 ICU-22716 Turn on message_formatter_fuzzer 2024-09-12 14:53:01 -07:00
Frank Tang
fd8a552527 ICU-22884 Fix assertion and Heap-use-after-free
Issue in icu_76::message2::MessageFormatter::~MessageFormatter
2024-09-12 11:57:38 -07:00
Frank Tang
752da7303f ICU-22730 Fix int overflow inside CE Calendar 2024-09-11 22:07:01 -07:00