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. Also add fall back to the wmemchr() call or manual loop on clang < 13. -- v3: include: Avoid __builtin_wmemchr with clang < 13. https://gitlab.winehq.org/wine/wine/-/merge_requests/10577