Skip to content

Commit ac54fec

Browse files
authored
Merge pull request #14734 from compnerd/icu-signature
2 parents 68be792 + 73c04d1 commit ac54fec

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

stdlib/public/SwiftShims/UnicodeShims.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -440,8 +440,8 @@ __swift_stdlib_unorm2_getNFCInstance(__swift_stdlib_UErrorCode *);
440440
SWIFT_RUNTIME_STDLIB_INTERFACE
441441
__swift_int32_t
442442
__swift_stdlib_unorm2_normalize(const __swift_stdlib_UNormalizer2 *,
443-
const __swift_uint16_t *, __swift_int32_t,
444-
__swift_uint16_t *, __swift_int32_t,
443+
const __swift_stdlib_UChar *, __swift_int32_t,
444+
__swift_stdlib_UChar *, __swift_int32_t,
445445
__swift_stdlib_UErrorCode *);
446446

447447
SWIFT_RUNTIME_STDLIB_INTERFACE

stdlib/public/stubs/UnicodeNormalization.cpp

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ UBool u_isdefined(UChar32);
6363
#include <unicode/uiter.h>
6464
#include <unicode/ubrk.h>
6565
#include <unicode/uchar.h>
66+
#include <unicode/uvernum.h>
6667

6768
#pragma clang diagnostic pop
6869

@@ -288,11 +289,19 @@ swift::__swift_stdlib_unorm2_getNFCInstance(__swift_stdlib_UErrorCode *err) {
288289
}
289290

290291
int32_t swift::__swift_stdlib_unorm2_normalize(
291-
const __swift_stdlib_UNormalizer2 *norm, const __swift_uint16_t *src,
292-
__swift_int32_t len, __swift_uint16_t *dst, __swift_int32_t capacity,
292+
const __swift_stdlib_UNormalizer2 *norm, const __swift_stdlib_UChar *src,
293+
__swift_int32_t len, __swift_stdlib_UChar *dst, __swift_int32_t capacity,
293294
__swift_stdlib_UErrorCode *err) {
295+
// TODO remove this compatibility when we require ICU >= 60 on Linux
296+
#if defined(__APPLE__) || U_ICU_VERSION_MAJOR_NUM >= 60
294297
return unorm2_normalize(ptr_cast<UNormalizer2>(norm), src, len, dst, capacity,
295298
ptr_cast<UErrorCode>(err));
299+
#else
300+
return unorm2_normalize(ptr_cast<UNormalizer2>(norm),
301+
reinterpret_cast<const UChar *>(src), len,
302+
reinterpret_cast<UChar *>(dst), capacity,
303+
ptr_cast<UErrorCode>(err));
304+
#endif
296305
}
297306

298307
__swift_int32_t swift::__swift_stdlib_unorm2_spanQuickCheckYes(

0 commit comments

Comments
 (0)