Alexandre Julliard pushed to branch master at wine / wine Commits: 2f9c5234 by Vitaly Lipatov at 2026-04-09T22:25:27+02:00 include: Fix _LIBCPP_DEFER_NEW_TO_VCRUNTIME not being set with old clang. When clang < 13 cross-compiles for Windows, it sets _MSC_VER to 1911 (< 1912). The #if/#elif chain in __config checked _MSC_VER < 1912 first, which prevented the elif branch from defining _LIBCPP_DEFER_NEW_TO_VCRUNTIME. This caused placement new/delete to be defined in both vcruntime_new.h and the libc++ <new> header, resulting in redefinition errors. Since Wine always provides aligned allocation operators in vcruntime_new.h, simply remove the _MSC_VER < 1912 cases and always define _LIBCPP_DEFER_NEW_TO_VCRUNTIME when using the Microsoft ABI with vcruntime. - - - - - a1e37817 by Vitaly Lipatov at 2026-04-09T22:25:27+02:00 include: Avoid __builtin_wmemchr with clang < 13. Clang < 13 reports __has_feature(cxx_constexpr_string_builtins) as true but does not inline __builtin_wmemchr for Windows targets, generating an external call to wmemchr instead. Since Wine's ucrtbase does not export wmemchr (it is defined as static inline in wchar.h), this causes an undefined symbol error at link time for modules using libc++ (e.g. icu). Fall back to the wmemchr() call or manual loop on clang < 13. - - - - - 2 changed files: - include/msvcrt/__config - include/msvcrt/__string View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/d95e15dfe8cca635ea814a648e7c75... -- View it on GitLab: https://gitlab.winehq.org/wine/wine/-/compare/d95e15dfe8cca635ea814a648e7c75... You're receiving this email because of your account on gitlab.winehq.org. Manage all notifications: https://gitlab.winehq.org/-/profile/notifications | Help: https://gitlab.winehq.org/help