mirror of
https://github.com/vercel-labs/scriptc.git
synced 2026-11-01 07:33:12 +08:00
ICU builds with symbol renaming on, so its C API symbols carry the _78 version suffix, its data symbol is icudt78_dat, and its C++ symbols are Itanium manglings that name namespace icu_78. icuSymbols() classifies exactly those, and the gate's dynamic-tier check now fails a candidate that links any of them without the pattern being allowed: a program that does not lower to Intl links no ICU object at all. The engine-free Intl functions (scr_intl_num_format_en_us in scr_lib.c, scr_intl_segmenter_new in scr_grapheme.c) share the scr_intl_ prefix and are deliberately not part of the test; any scr_intl.c function that does link brings an ICU symbol with it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>