diff --git a/stl/aliases/amd64/std_init_once_begin_initialize.obj b/stl/aliases/amd64/std_init_once_begin_initialize.obj index 452313ab3f7..5b310a11bf8 100644 Binary files a/stl/aliases/amd64/std_init_once_begin_initialize.obj and b/stl/aliases/amd64/std_init_once_begin_initialize.obj differ diff --git a/stl/aliases/amd64/std_init_once_complete.obj b/stl/aliases/amd64/std_init_once_complete.obj index 1bb2f105747..31e048d3b76 100644 Binary files a/stl/aliases/amd64/std_init_once_complete.obj and b/stl/aliases/amd64/std_init_once_complete.obj differ diff --git a/stl/aliases/arm/std_init_once_begin_initialize.obj b/stl/aliases/arm/std_init_once_begin_initialize.obj index 452313ab3f7..9279800efe2 100644 Binary files a/stl/aliases/arm/std_init_once_begin_initialize.obj and b/stl/aliases/arm/std_init_once_begin_initialize.obj differ diff --git a/stl/aliases/arm/std_init_once_complete.obj b/stl/aliases/arm/std_init_once_complete.obj index 1bb2f105747..746e0214d46 100644 Binary files a/stl/aliases/arm/std_init_once_complete.obj and b/stl/aliases/arm/std_init_once_complete.obj differ diff --git a/stl/aliases/arm64/std_init_once_begin_initialize.obj b/stl/aliases/arm64/std_init_once_begin_initialize.obj index 452313ab3f7..3c7dfc80dfd 100644 Binary files a/stl/aliases/arm64/std_init_once_begin_initialize.obj and b/stl/aliases/arm64/std_init_once_begin_initialize.obj differ diff --git a/stl/aliases/arm64/std_init_once_complete.obj b/stl/aliases/arm64/std_init_once_complete.obj index 1bb2f105747..306df8aa000 100644 Binary files a/stl/aliases/arm64/std_init_once_complete.obj and b/stl/aliases/arm64/std_init_once_complete.obj differ diff --git a/stl/aliases/arm64ec/std_init_once_begin_initialize.obj b/stl/aliases/arm64ec/std_init_once_begin_initialize.obj new file mode 100644 index 00000000000..593e6c144ab Binary files /dev/null and b/stl/aliases/arm64ec/std_init_once_begin_initialize.obj differ diff --git a/stl/aliases/arm64ec/std_init_once_complete.obj b/stl/aliases/arm64ec/std_init_once_complete.obj new file mode 100644 index 00000000000..35149685437 Binary files /dev/null and b/stl/aliases/arm64ec/std_init_once_complete.obj differ diff --git a/stl/aliases/chpe/std_init_once_begin_initialize.obj b/stl/aliases/chpe/std_init_once_begin_initialize.obj index b82e6958524..40bfc75fdfd 100644 Binary files a/stl/aliases/chpe/std_init_once_begin_initialize.obj and b/stl/aliases/chpe/std_init_once_begin_initialize.obj differ diff --git a/stl/aliases/chpe/std_init_once_complete.obj b/stl/aliases/chpe/std_init_once_complete.obj index 82b42bedef0..79707d2fc5b 100644 Binary files a/stl/aliases/chpe/std_init_once_complete.obj and b/stl/aliases/chpe/std_init_once_complete.obj differ diff --git a/stl/aliases/generate.cmd b/stl/aliases/generate.cmd index 6a6ceb50b4d..afad08f9bd9 100644 --- a/stl/aliases/generate.cmd +++ b/stl/aliases/generate.cmd @@ -11,12 +11,14 @@ rmdir /s /q amd64 rmdir /s /q arm rmdir /s /q arm64 rmdir /s /q chpe +rmdir /s /q arm64ec mkdir i386 mkdir amd64 mkdir arm mkdir arm64 mkdir chpe +mkdir arm64ec :: __std_init_once_begin_initialize ..\..\..\..\..\tools\x86\aliasobj.exe ^ @@ -31,11 +33,20 @@ mkdir chpe __imp___std_init_once_begin_initialize ^ __imp_InitOnceBeginInitialize ^ arm\std_init_once_begin_initialize.obj -copy amd64\std_init_once_begin_initialize.obj arm64\std_init_once_begin_initialize.obj +..\..\..\..\..\tools\amd64\aliasobj.exe ^ + /machine:arm64 ^ + __imp___std_init_once_begin_initialize ^ + __imp_InitOnceBeginInitialize ^ + arm64\std_init_once_begin_initialize.obj ..\..\..\..\..\tools\x86\aliasobj.exe ^ __imp_#__std_init_once_begin_initialize@16 ^ __imp_#InitOnceBeginInitialize@16 ^ chpe\std_init_once_begin_initialize.obj +..\..\..\..\..\tools\amd64\aliasobj.exe ^ + /machine:arm64ec ^ + __imp___std_init_once_begin_initialize ^ + __imp_InitOnceBeginInitialize ^ + arm64ec\std_init_once_begin_initialize.obj :: __std_init_once_complete ..\..\..\..\..\tools\x86\aliasobj.exe ^ @@ -50,8 +61,17 @@ copy amd64\std_init_once_begin_initialize.obj arm64\std_init_once_begin_initiali __imp___std_init_once_complete ^ __imp_InitOnceComplete ^ arm\std_init_once_complete.obj -copy amd64\std_init_once_complete.obj arm64\std_init_once_complete.obj +..\..\..\..\..\tools\amd64\aliasobj.exe ^ + /machine:arm64 ^ + __imp___std_init_once_complete ^ + __imp_InitOnceComplete ^ + arm64\std_init_once_complete.obj ..\..\..\..\..\tools\x86\aliasobj.exe ^ __imp_#__std_init_once_complete@12 ^ __imp_#InitOnceComplete@12 ^ chpe\std_init_once_complete.obj +..\..\..\..\..\tools\amd64\aliasobj.exe ^ + /machine:arm64ec ^ + __imp___std_init_once_complete ^ + __imp_InitOnceComplete ^ + arm64ec\std_init_once_complete.obj diff --git a/stl/aliases/i386/std_init_once_begin_initialize.obj b/stl/aliases/i386/std_init_once_begin_initialize.obj index 46243a4db69..139493af042 100644 Binary files a/stl/aliases/i386/std_init_once_begin_initialize.obj and b/stl/aliases/i386/std_init_once_begin_initialize.obj differ diff --git a/stl/aliases/i386/std_init_once_complete.obj b/stl/aliases/i386/std_init_once_complete.obj index 59a56df8052..c8a07b412d9 100644 Binary files a/stl/aliases/i386/std_init_once_complete.obj and b/stl/aliases/i386/std_init_once_complete.obj differ diff --git a/stl/inc/atomic b/stl/inc/atomic index 6fc7a2af63b..78820eb37b3 100644 --- a/stl/inc/atomic +++ b/stl/inc/atomic @@ -31,7 +31,7 @@ _STL_DISABLE_CLANG_WARNINGS #define _Compiler_barrier() _STL_DISABLE_DEPRECATED_WARNING _ReadWriteBarrier() _STL_RESTORE_DEPRECATED_WARNING -#if defined(_M_ARM) || defined(_M_ARM64) +#if defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) #define _Memory_barrier() __dmb(0xB) // inner shared data memory barrier #define _Compiler_or_memory_barrier() _Memory_barrier() #elif defined(_M_IX86) || defined(_M_X64) @@ -69,18 +69,18 @@ extern "C" _NODISCARD char __stdcall __std_atomic_has_cmpxchg16b() noexcept; // MACRO _ATOMIC_HAS_DCAS // Controls whether atomic::is_always_lock_free triggers for sizeof(void *) or 2 * sizeof(void *) -#if _STD_ATOMIC_ALWAYS_USE_CMPXCHG16B == 1 || !defined(_M_X64) +#if _STD_ATOMIC_ALWAYS_USE_CMPXCHG16B == 1 || !defined(_M_X64) || defined(_M_ARM64EC) #define _ATOMIC_HAS_DCAS 1 #else // ^^^ We always have DCAS / We only sometimes have DCAS vvv #define _ATOMIC_HAS_DCAS 0 -#endif // _STD_ATOMIC_ALWAYS_USE_CMPXCHG16B == 1 || !defined(_M_X64) +#endif // _STD_ATOMIC_ALWAYS_USE_CMPXCHG16B == 1 || !defined(_M_X64) || defined(_M_ARM64EC) // MACRO _ATOMIC_CHOOSE_INTRINSIC -#if defined(_M_IX86) || defined(_M_X64) +#if defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) #define _ATOMIC_CHOOSE_INTRINSIC(_Order, _Result, _Intrinsic, ...) \ _Check_memory_order(_Order); \ _Result = _Intrinsic(__VA_ARGS__) -#elif defined(_M_ARM) || defined(_M_ARM64) +#elif defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) #define _ATOMIC_CHOOSE_INTRINSIC(_Order, _Result, _Intrinsic, ...) \ switch (_Order) { \ case memory_order_relaxed: \ @@ -335,7 +335,7 @@ struct _Atomic_storage_traits { // properties for how _Ty is stored in an atomic : sizeof(_Ty) == 2 ? 2 : sizeof(_Ty) <= 4 ? 4 : sizeof(_Ty) <= 8 ? 8 -#if defined(_M_X64) || defined(_M_ARM64) +#if defined(_M_X64) || defined(_M_ARM64) || defined(_M_ARM64EC) : sizeof(_Ty) <= 16 ? 16 #endif // 64 bits : sizeof(_Ty); @@ -639,7 +639,7 @@ struct _Atomic_storage<_Ty, 1> { // lock-free using 1-byte intrinsics void store(const _TVal _Value) noexcept { // store with sequential consistency const auto _Mem = _Atomic_address_as(_Storage); const char _As_bytes = _Atomic_reinterpret_as(_Value); -#if defined(_M_ARM) || defined(_M_ARM64) +#if defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) _Memory_barrier(); __iso_volatile_store8(_Mem, _As_bytes); _Memory_barrier(); @@ -760,7 +760,7 @@ struct _Atomic_storage<_Ty, 2> { // lock-free using 2-byte intrinsics void store(const _TVal _Value) noexcept { // store with sequential consistency const auto _Mem = _Atomic_address_as(_Storage); const short _As_bytes = _Atomic_reinterpret_as(_Value); -#if defined(_M_ARM) || defined(_M_ARM64) +#if defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) _Memory_barrier(); __iso_volatile_store16(_Mem, _As_bytes); _Memory_barrier(); @@ -878,7 +878,7 @@ struct _Atomic_storage<_Ty, 4> { // lock-free using 4-byte intrinsics } void store(const _TVal _Value) noexcept { // store with sequential consistency -#if defined(_M_ARM) || defined(_M_ARM64) +#if defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) _Memory_barrier(); __iso_volatile_store32(_Atomic_address_as(_Storage), _Atomic_reinterpret_as(_Value)); _Memory_barrier(); @@ -1158,7 +1158,7 @@ struct _Atomic_storage<_Ty&, 16> { // lock-free using 16-byte intrinsics } _NODISCARD _TVal load(const memory_order _Order) const noexcept { // load with given memory order -#ifdef _M_ARM64 +#if defined(_M_ARM64) || defined(_M_ARM64EC) long long* const _Storage_ptr = const_cast(_Atomic_address_as(_Storage)); _Int128 _Result{}; // atomic CAS 0 with 0 switch (_Order) { @@ -1218,7 +1218,7 @@ struct _Atomic_storage<_Ty&, 16> { // lock-free using 16-byte intrinsics _Int128 _Mask_val{}; _CSTD memcpy(&_Mask_val, _Mask._Ptr(), sizeof(_TVal)); for (;;) { -#ifdef _M_ARM64 +#if defined(_M_ARM64) || defined(_M_ARM64EC) _ATOMIC_CHOOSE_INTRINSIC(_Order, _Result, _InterlockedCompareExchange128, _Atomic_address_as(_Storage), _Desired_bytes._High, _Desired_bytes._Low, &_Expected_temp._Low); @@ -1244,7 +1244,7 @@ struct _Atomic_storage<_Ty&, 16> { // lock-free using 16-byte intrinsics } } #endif // _CMPXCHG_MASK_OUT_PADDING_BITS -#ifdef _M_ARM64 +#if defined(_M_ARM64) || defined(_M_ARM64EC) _ATOMIC_CHOOSE_INTRINSIC(_Order, _Result, _InterlockedCompareExchange128, _Atomic_address_as(_Storage), _Desired_bytes._High, _Desired_bytes._Low, &_Expected_temp._Low); #else // ^^^ _M_ARM64 / _M_X64 vvv diff --git a/stl/inc/xatomic.h b/stl/inc/xatomic.h index 4a96fef4303..3298d828ae8 100644 --- a/stl/inc/xatomic.h +++ b/stl/inc/xatomic.h @@ -26,14 +26,14 @@ _STL_DISABLE_CLANG_WARNINGS #define _CONCAT(x, y) _CONCATX(x, y) // Interlocked intrinsic mapping for _nf/_acq/_rel -#if defined(_M_CEE_PURE) || defined(_M_IX86) || defined(_M_X64) +#if defined(_M_CEE_PURE) || defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) #define _INTRIN_RELAXED(x) x #define _INTRIN_ACQUIRE(x) x #define _INTRIN_RELEASE(x) x #define _INTRIN_ACQ_REL(x) x #define _YIELD_PROCESSOR() -#elif defined(_M_ARM) || defined(_M_ARM64) +#elif defined(_M_ARM) || defined(_M_ARM64) || defined(_M_ARM64EC) #define _INTRIN_RELAXED(x) _CONCAT(x, _nf) #define _INTRIN_ACQUIRE(x) _CONCAT(x, _acq) #define _INTRIN_RELEASE(x) _CONCAT(x, _rel) diff --git a/stl/inc/xutility b/stl/inc/xutility index e655abfe542..fb9f7f3534c 100644 --- a/stl/inc/xutility +++ b/stl/inc/xutility @@ -21,7 +21,7 @@ _STL_DISABLE_CLANG_WARNINGS #pragma push_macro("new") #undef new -#if (defined(_M_IX86) || defined(_M_X64)) && !defined(_M_CEE_PURE) && !defined(_M_HYBRID) +#if (defined(_M_IX86) || defined(_M_X64) && !defined(_M_ARM64EC)) && !defined(_M_CEE_PURE) && !defined(_M_HYBRID) #define _USE_STD_VECTOR_ALGORITHMS 1 #else #define _USE_STD_VECTOR_ALGORITHMS 0 diff --git a/stl/msbuild/stl_1/md/msvcp_1_app/msvcp_1.nativeproj b/stl/msbuild/stl_1/md/msvcp_1_app/msvcp_1.nativeproj index 5e13d2fe317..966b3699874 100644 --- a/stl/msbuild/stl_1/md/msvcp_1_app/msvcp_1.nativeproj +++ b/stl/msbuild/stl_1/md/msvcp_1_app/msvcp_1.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md app + true diff --git a/stl/msbuild/stl_1/md/msvcp_1_kernel32/msvcp_1.nativeproj b/stl/msbuild/stl_1/md/msvcp_1_kernel32/msvcp_1.nativeproj index d7898159df7..781acdc848d 100644 --- a/stl/msbuild/stl_1/md/msvcp_1_kernel32/msvcp_1.nativeproj +++ b/stl/msbuild/stl_1/md/msvcp_1_kernel32/msvcp_1.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_1/md/msvcp_1_onecore/msvcp_1.nativeproj b/stl/msbuild/stl_1/md/msvcp_1_onecore/msvcp_1.nativeproj index 6e20d6fb826..4b1ddcbfce3 100644 --- a/stl/msbuild/stl_1/md/msvcp_1_onecore/msvcp_1.nativeproj +++ b/stl/msbuild/stl_1/md/msvcp_1_onecore/msvcp_1.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md onecore + true diff --git a/stl/msbuild/stl_1/stl_1.files.settings.targets b/stl/msbuild/stl_1/stl_1.files.settings.targets index 8c423bd34ec..7c36449ea49 100644 --- a/stl/msbuild/stl_1/stl_1.files.settings.targets +++ b/stl/msbuild/stl_1/stl_1.files.settings.targets @@ -11,6 +11,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception "> nativecpp + diff --git a/stl/msbuild/stl_1/xmd/msvcp_1_app/msvcp_1.nativeproj b/stl/msbuild/stl_1/xmd/msvcp_1_app/msvcp_1.nativeproj index 1aab5e5dca5..b386bc9bc49 100644 --- a/stl/msbuild/stl_1/xmd/msvcp_1_app/msvcp_1.nativeproj +++ b/stl/msbuild/stl_1/xmd/msvcp_1_app/msvcp_1.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd app + true diff --git a/stl/msbuild/stl_1/xmd/msvcp_1_kernel32/msvcp_1.nativeproj b/stl/msbuild/stl_1/xmd/msvcp_1_kernel32/msvcp_1.nativeproj index 8fa99a499a3..d834b6edd69 100644 --- a/stl/msbuild/stl_1/xmd/msvcp_1_kernel32/msvcp_1.nativeproj +++ b/stl/msbuild/stl_1/xmd/msvcp_1_kernel32/msvcp_1.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_1/xmd/msvcp_1_onecore/msvcp_1.nativeproj b/stl/msbuild/stl_1/xmd/msvcp_1_onecore/msvcp_1.nativeproj index ac04b45e21a..3eeaf9b1d62 100644 --- a/stl/msbuild/stl_1/xmd/msvcp_1_onecore/msvcp_1.nativeproj +++ b/stl/msbuild/stl_1/xmd/msvcp_1_onecore/msvcp_1.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd onecore + true diff --git a/stl/msbuild/stl_2/md/msvcp_2_app/msvcp_2.nativeproj b/stl/msbuild/stl_2/md/msvcp_2_app/msvcp_2.nativeproj index 87924c5deb5..9747790c304 100644 --- a/stl/msbuild/stl_2/md/msvcp_2_app/msvcp_2.nativeproj +++ b/stl/msbuild/stl_2/md/msvcp_2_app/msvcp_2.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md app + true diff --git a/stl/msbuild/stl_2/md/msvcp_2_kernel32/msvcp_2.nativeproj b/stl/msbuild/stl_2/md/msvcp_2_kernel32/msvcp_2.nativeproj index 7940363b805..bcff4e94ca8 100644 --- a/stl/msbuild/stl_2/md/msvcp_2_kernel32/msvcp_2.nativeproj +++ b/stl/msbuild/stl_2/md/msvcp_2_kernel32/msvcp_2.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_2/md/msvcp_2_onecore/msvcp_2.nativeproj b/stl/msbuild/stl_2/md/msvcp_2_onecore/msvcp_2.nativeproj index a7231361640..38e5772cb39 100644 --- a/stl/msbuild/stl_2/md/msvcp_2_onecore/msvcp_2.nativeproj +++ b/stl/msbuild/stl_2/md/msvcp_2_onecore/msvcp_2.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md onecore + true diff --git a/stl/msbuild/stl_2/msvcp_2.settings.targets b/stl/msbuild/stl_2/msvcp_2.settings.targets index 79540664211..afcc4c12419 100644 --- a/stl/msbuild/stl_2/msvcp_2.settings.targets +++ b/stl/msbuild/stl_2/msvcp_2.settings.targets @@ -36,6 +36,8 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception $(CrtBuildDir)\msvcprt_2$(BuildSuffix).$(MsvcpFlavor).import_only.lib $(LibOutputFileName).$(MsvcpFlavor) $(IntermediateOutputDirectory)\$(DllDefName).def + $(IntermediateOutputDirectoryEC)\$(DllDefName).def + $(IntermediateOutputDirectory)\$(DllDefName).def true $(OutputPath)\$(OutputName)$(_PDB_VER_NAME_)$(DllPdbFlavorSuffix) diff --git a/stl/msbuild/stl_2/stl_2.files.settings.targets b/stl/msbuild/stl_2/stl_2.files.settings.targets index 4f28e08a72d..0b5a57a2c3d 100644 --- a/stl/msbuild/stl_2/stl_2.files.settings.targets +++ b/stl/msbuild/stl_2/stl_2.files.settings.targets @@ -11,6 +11,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception "> nativecpp + diff --git a/stl/msbuild/stl_2/xmd/msvcp_2_app/msvcp_2.nativeproj b/stl/msbuild/stl_2/xmd/msvcp_2_app/msvcp_2.nativeproj index 757adf81842..5751496f0f4 100644 --- a/stl/msbuild/stl_2/xmd/msvcp_2_app/msvcp_2.nativeproj +++ b/stl/msbuild/stl_2/xmd/msvcp_2_app/msvcp_2.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd app + true diff --git a/stl/msbuild/stl_2/xmd/msvcp_2_kernel32/msvcp_2.nativeproj b/stl/msbuild/stl_2/xmd/msvcp_2_kernel32/msvcp_2.nativeproj index b60a98908bc..0c78314cdc8 100644 --- a/stl/msbuild/stl_2/xmd/msvcp_2_kernel32/msvcp_2.nativeproj +++ b/stl/msbuild/stl_2/xmd/msvcp_2_kernel32/msvcp_2.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_2/xmd/msvcp_2_onecore/msvcp_2.nativeproj b/stl/msbuild/stl_2/xmd/msvcp_2_onecore/msvcp_2.nativeproj index 3c0fd24d2a6..96281b17219 100644 --- a/stl/msbuild/stl_2/xmd/msvcp_2_onecore/msvcp_2.nativeproj +++ b/stl/msbuild/stl_2/xmd/msvcp_2_onecore/msvcp_2.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd onecore + true diff --git a/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj b/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj index e22fbab9c1b..25ee294c299 100644 --- a/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj +++ b/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md app + true diff --git a/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj b/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj index e009997783c..fa3b0cb07d1 100644 --- a/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj +++ b/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj b/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj index 774d8aa1b5a..5ecec8dcfc2 100644 --- a/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj +++ b/stl/msbuild/stl_atomic_wait/md/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md onecore + true diff --git a/stl/msbuild/stl_atomic_wait/stl_atomic_wait.files.settings.targets b/stl/msbuild/stl_atomic_wait/stl_atomic_wait.files.settings.targets index e7cc52c398d..04fe9f16419 100644 --- a/stl/msbuild/stl_atomic_wait/stl_atomic_wait.files.settings.targets +++ b/stl/msbuild/stl_atomic_wait/stl_atomic_wait.files.settings.targets @@ -17,4 +17,21 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception nativecpp + + + + + $(IntermediateOutputDirectoryEC)\atomic_wait.obj; + $(IntermediateOutputDirectoryEC)\parallel_algorithms.obj; + + + + + + + + + diff --git a/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj b/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj index 6d99c3ab360..3cf18558d38 100644 --- a/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj +++ b/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_app/msvcp_atomic_wait.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd app + true diff --git a/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj b/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj index 9fe52b880d3..1226365ae6b 100644 --- a/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj +++ b/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_kernel32/msvcp_atomic_wait.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj b/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj index 54f964b787a..6b512a2847c 100644 --- a/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj +++ b/stl/msbuild/stl_atomic_wait/xmd/msvcp_atomic_wait_onecore/msvcp_atomic_wait.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd onecore + true diff --git a/stl/msbuild/stl_base/libcp.settings.targets b/stl/msbuild/stl_base/libcp.settings.targets index 3176a88f2f3..336c34ac84c 100644 --- a/stl/msbuild/stl_base/libcp.settings.targets +++ b/stl/msbuild/stl_base/libcp.settings.targets @@ -25,12 +25,17 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception $(OutputLibPath)$(OutputName)$(PdbVerName).pdb + $(OutputLibPath)$(OutputName).arm64.pdb $(ClDefines);_STL_CONCRT_SUPPORT $(ClDefines);_VCRT_ALLOW_INTERNALS + + + + diff --git a/stl/msbuild/stl_base/md/msvcp_app/msvcp.nativeproj b/stl/msbuild/stl_base/md/msvcp_app/msvcp.nativeproj index dd16e3096e5..acddd63ea73 100644 --- a/stl/msbuild/stl_base/md/msvcp_app/msvcp.nativeproj +++ b/stl/msbuild/stl_base/md/msvcp_app/msvcp.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md app + true diff --git a/stl/msbuild/stl_base/md/msvcp_kernel32/msvcp.nativeproj b/stl/msbuild/stl_base/md/msvcp_kernel32/msvcp.nativeproj index 4077e457f8b..1a605f5a8c5 100644 --- a/stl/msbuild/stl_base/md/msvcp_kernel32/msvcp.nativeproj +++ b/stl/msbuild/stl_base/md/msvcp_kernel32/msvcp.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_base/md/msvcp_onecore/msvcp.nativeproj b/stl/msbuild/stl_base/md/msvcp_onecore/msvcp.nativeproj index d5467e4b419..991f19e2f12 100644 --- a/stl/msbuild/stl_base/md/msvcp_onecore/msvcp.nativeproj +++ b/stl/msbuild/stl_base/md/msvcp_onecore/msvcp.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md onecore + true diff --git a/stl/msbuild/stl_base/msvcp.settings.targets b/stl/msbuild/stl_base/msvcp.settings.targets index 1087c01dbe4..47739eb1009 100644 --- a/stl/msbuild/stl_base/msvcp.settings.targets +++ b/stl/msbuild/stl_base/msvcp.settings.targets @@ -39,10 +39,13 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception $(CrtBuildDir)\msvcprt_base$(BuildSuffix).$(MsvcpFlavor).import_only.lib $(LibOutputFileName).$(MsvcpFlavor) $(IntermediateOutputDirectory)\$(DllDefName).def + $(IntermediateOutputDirectoryEC)\$(DllDefName).def + $(IntermediateOutputDirectory)\$(DllDefName).def $(ClDefines);_STL_CONCRT_SUPPORT true $(OutputPath)\$(OutputName)$(_PDB_VER_NAME_)$(DllPdbFlavorSuffix) + $(OutputPath)\$(OutputName).arm64$(DllPdbFlavorSuffix) -debugtype:cv,fixup $(LinkAdditionalOptions) -opt:ref,icf=3 $(LinkAdditionalOptions) @@ -86,6 +89,292 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + + + + $(IntermediateOutputDirectoryEC)\_tolower.obj; + $(IntermediateOutputDirectoryEC)\_toupper.obj; + $(IntermediateOutputDirectoryEC)\atomic.obj; + $(IntermediateOutputDirectoryEC)\cthread.obj; + $(IntermediateOutputDirectoryEC)\xnotify.obj; + $(IntermediateOutputDirectoryEC)\xtime.obj; + $(IntermediateOutputDirectoryEC)\xcosh.obj; + $(IntermediateOutputDirectoryEC)\xdint.obj; + $(IntermediateOutputDirectoryEC)\xdnorm.obj; + $(IntermediateOutputDirectoryEC)\xdscale.obj; + $(IntermediateOutputDirectoryEC)\xdtento.obj; + $(IntermediateOutputDirectoryEC)\xdtest.obj; + $(IntermediateOutputDirectoryEC)\xdunscal.obj; + $(IntermediateOutputDirectoryEC)\xexp.obj; + $(IntermediateOutputDirectoryEC)\xfcosh.obj; + $(IntermediateOutputDirectoryEC)\xfdint.obj; + $(IntermediateOutputDirectoryEC)\xfdnorm.obj; + $(IntermediateOutputDirectoryEC)\xfdscale.obj; + $(IntermediateOutputDirectoryEC)\xfdtento.obj; + $(IntermediateOutputDirectoryEC)\xfdtest.obj; + $(IntermediateOutputDirectoryEC)\xfdunsca.obj; + $(IntermediateOutputDirectoryEC)\xferaise.obj; + $(IntermediateOutputDirectoryEC)\xfexp.obj; + $(IntermediateOutputDirectoryEC)\xfprec.obj; + $(IntermediateOutputDirectoryEC)\xfsinh.obj; + $(IntermediateOutputDirectoryEC)\xfvalues.obj; + $(IntermediateOutputDirectoryEC)\xgetwctype.obj; + $(IntermediateOutputDirectoryEC)\xlcosh.obj; + $(IntermediateOutputDirectoryEC)\xldint.obj; + $(IntermediateOutputDirectoryEC)\xldscale.obj; + $(IntermediateOutputDirectoryEC)\xldtento.obj; + $(IntermediateOutputDirectoryEC)\xldtest.obj; + $(IntermediateOutputDirectoryEC)\xldunsca.obj; + $(IntermediateOutputDirectoryEC)\xlexp.obj; + $(IntermediateOutputDirectoryEC)\xlpoly.obj; + $(IntermediateOutputDirectoryEC)\xlprec.obj; + $(IntermediateOutputDirectoryEC)\xlsinh.obj; + $(IntermediateOutputDirectoryEC)\xlvalues.obj; + $(IntermediateOutputDirectoryEC)\xmbtowc.obj; + $(IntermediateOutputDirectoryEC)\xmtx.obj; + $(IntermediateOutputDirectoryEC)\xpoly.obj; + $(IntermediateOutputDirectoryEC)\xprec.obj; + $(IntermediateOutputDirectoryEC)\xsinh.obj; + $(IntermediateOutputDirectoryEC)\xstod.obj; + $(IntermediateOutputDirectoryEC)\xstof.obj; + $(IntermediateOutputDirectoryEC)\xstoflt.obj; + $(IntermediateOutputDirectoryEC)\xstol.obj; + $(IntermediateOutputDirectoryEC)\xstold.obj; + $(IntermediateOutputDirectoryEC)\xstoll.obj; + $(IntermediateOutputDirectoryEC)\xstopfx.obj; + $(IntermediateOutputDirectoryEC)\xstoul.obj; + $(IntermediateOutputDirectoryEC)\xstoull.obj; + $(IntermediateOutputDirectoryEC)\xstoxflt.obj; + $(IntermediateOutputDirectoryEC)\xstrcoll.obj; + $(IntermediateOutputDirectoryEC)\xstrxfrm.obj; + $(IntermediateOutputDirectoryEC)\xtowlower.obj; + $(IntermediateOutputDirectoryEC)\xtowupper.obj; + $(IntermediateOutputDirectoryEC)\xvalues.obj; + $(IntermediateOutputDirectoryEC)\xwcscoll.obj; + $(IntermediateOutputDirectoryEC)\xwcsxfrm.obj; + $(IntermediateOutputDirectoryEC)\xwctomb.obj; + $(IntermediateOutputDirectoryEC)\xwstod.obj; + $(IntermediateOutputDirectoryEC)\xwstof.obj; + $(IntermediateOutputDirectoryEC)\xwstoflt.obj; + $(IntermediateOutputDirectoryEC)\xwstold.obj; + $(IntermediateOutputDirectoryEC)\xwstopfx.obj; + $(IntermediateOutputDirectoryEC)\xwstoxfl.obj; + $(IntermediateOutputDirectoryEC)\excptptr.obj; + $(IntermediateOutputDirectoryEC)\StlCompareStringA.obj; + $(IntermediateOutputDirectoryEC)\StlCompareStringW.obj; + $(IntermediateOutputDirectoryEC)\StlLCMapStringA.obj; + $(IntermediateOutputDirectoryEC)\StlLCMapStringW.obj; + $(IntermediateOutputDirectoryEC)\winapinls.obj; + $(IntermediateOutputDirectoryEC)\cerr.obj; + $(IntermediateOutputDirectoryEC)\cin.obj; + $(IntermediateOutputDirectoryEC)\clog.obj; + $(IntermediateOutputDirectoryEC)\cout.obj; + $(IntermediateOutputDirectoryEC)\filesys.obj; + $(IntermediateOutputDirectoryEC)\fiopen.obj; + $(IntermediateOutputDirectoryEC)\future.obj; + $(IntermediateOutputDirectoryEC)\iomanip.obj; + $(IntermediateOutputDirectoryEC)\ios.obj; + $(IntermediateOutputDirectoryEC)\iosptrs.obj; + $(IntermediateOutputDirectoryEC)\iostream.obj; + $(IntermediateOutputDirectoryEC)\locale.obj; + $(IntermediateOutputDirectoryEC)\locale0.obj; + $(IntermediateOutputDirectoryEC)\multprec.obj; + $(IntermediateOutputDirectoryEC)\raisehan.obj; + $(IntermediateOutputDirectoryEC)\stdhndlr.obj; + $(IntermediateOutputDirectoryEC)\stdthrow.obj; + $(IntermediateOutputDirectoryEC)\syserror.obj; + $(IntermediateOutputDirectoryEC)\cond.obj; + $(IntermediateOutputDirectoryEC)\mutex.obj; + $(IntermediateOutputDirectoryEC)\pplerror.obj; + $(IntermediateOutputDirectoryEC)\ppltasks.obj; + $(IntermediateOutputDirectoryEC)\taskscheduler.obj; + $(IntermediateOutputDirectoryEC)\thread0.obj; + $(IntermediateOutputDirectoryEC)\uncaught_exception.obj; + $(IntermediateOutputDirectoryEC)\uncaught_exceptions.obj; + $(IntermediateOutputDirectoryEC)\ushcerr.obj; + $(IntermediateOutputDirectoryEC)\ushcin.obj; + $(IntermediateOutputDirectoryEC)\ushclog.obj; + $(IntermediateOutputDirectoryEC)\ushcout.obj; + $(IntermediateOutputDirectoryEC)\ushiostr.obj; + $(IntermediateOutputDirectoryEC)\wcerr.obj; + $(IntermediateOutputDirectoryEC)\wcin.obj; + $(IntermediateOutputDirectoryEC)\wclog.obj; + $(IntermediateOutputDirectoryEC)\wcout.obj; + $(IntermediateOutputDirectoryEC)\wiostrea.obj; + $(IntermediateOutputDirectoryEC)\wlocale.obj; + $(IntermediateOutputDirectoryEC)\xalloc.obj; + $(IntermediateOutputDirectoryEC)\xdateord.obj; + $(IntermediateOutputDirectoryEC)\xlgamma.obj; + $(IntermediateOutputDirectoryEC)\xlocale.obj; + $(IntermediateOutputDirectoryEC)\xlock.obj; + $(IntermediateOutputDirectoryEC)\xonce.obj; + $(IntermediateOutputDirectoryEC)\xrngabort.obj; + $(IntermediateOutputDirectoryEC)\xrngdev.obj; + $(IntermediateOutputDirectoryEC)\xthrow.obj; + $(IntermediateOutputDirectoryEC)\winapisupp.obj; + $(IntermediateOutputDirectoryEC)\dllmain.obj; + $(IntermediateOutputDirectoryEC)\instances.obj + + + + + $(IntermediateOutputDirectoryEC)\filesystem.obj; + $(IntermediateOutputDirectoryEC)\locale0_implib.obj; + $(IntermediateOutputDirectoryEC)\nothrow.obj; + $(IntermediateOutputDirectoryEC)\parallel_algorithms.obj; + $(IntermediateOutputDirectoryEC)\sharedmutex.obj; + $(IntermediateOutputDirectoryEC)\vector_algorithms.obj + + + + + + + + + + false + true + + + + + + + + + + diff --git a/stl/msbuild/stl_base/mt/libcpmt_kernel32/libcpmt.nativeproj b/stl/msbuild/stl_base/mt/libcpmt_kernel32/libcpmt.nativeproj index 5071e0d8453..e5fda7b500b 100644 --- a/stl/msbuild/stl_base/mt/libcpmt_kernel32/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/mt/libcpmt_kernel32/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception mt kernel32 + true diff --git a/stl/msbuild/stl_base/mt/libcpmt_onecore/libcpmt.nativeproj b/stl/msbuild/stl_base/mt/libcpmt_onecore/libcpmt.nativeproj index b40597da691..f6f1144b9af 100644 --- a/stl/msbuild/stl_base/mt/libcpmt_onecore/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/mt/libcpmt_onecore/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception mt onecore + true diff --git a/stl/msbuild/stl_base/mt1/libcpmt_kernel32/libcpmt.nativeproj b/stl/msbuild/stl_base/mt1/libcpmt_kernel32/libcpmt.nativeproj index 1d22da408f1..1ef7535fc2b 100644 --- a/stl/msbuild/stl_base/mt1/libcpmt_kernel32/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/mt1/libcpmt_kernel32/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception mt1 kernel32 + true diff --git a/stl/msbuild/stl_base/mt1/libcpmt_onecore/libcpmt.nativeproj b/stl/msbuild/stl_base/mt1/libcpmt_onecore/libcpmt.nativeproj index e97431955f0..889fbe794cb 100644 --- a/stl/msbuild/stl_base/mt1/libcpmt_onecore/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/mt1/libcpmt_onecore/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception mt1 onecore + true diff --git a/stl/msbuild/stl_base/xmd/msvcp_app/msvcp.nativeproj b/stl/msbuild/stl_base/xmd/msvcp_app/msvcp.nativeproj index ffa91054e16..e3b55c5e3dc 100644 --- a/stl/msbuild/stl_base/xmd/msvcp_app/msvcp.nativeproj +++ b/stl/msbuild/stl_base/xmd/msvcp_app/msvcp.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd app + true diff --git a/stl/msbuild/stl_base/xmd/msvcp_kernel32/msvcp.nativeproj b/stl/msbuild/stl_base/xmd/msvcp_kernel32/msvcp.nativeproj index d0fb2ae3341..6a31bf3a079 100644 --- a/stl/msbuild/stl_base/xmd/msvcp_kernel32/msvcp.nativeproj +++ b/stl/msbuild/stl_base/xmd/msvcp_kernel32/msvcp.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_base/xmd/msvcp_onecore/msvcp.nativeproj b/stl/msbuild/stl_base/xmd/msvcp_onecore/msvcp.nativeproj index a0a70b0825d..d166a3f4b9d 100644 --- a/stl/msbuild/stl_base/xmd/msvcp_onecore/msvcp.nativeproj +++ b/stl/msbuild/stl_base/xmd/msvcp_onecore/msvcp.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd onecore + true diff --git a/stl/msbuild/stl_base/xmt/libcpmt_kernel32/libcpmt.nativeproj b/stl/msbuild/stl_base/xmt/libcpmt_kernel32/libcpmt.nativeproj index f22c306f367..f7b8117cbeb 100644 --- a/stl/msbuild/stl_base/xmt/libcpmt_kernel32/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/xmt/libcpmt_kernel32/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmt kernel32 + true diff --git a/stl/msbuild/stl_base/xmt/libcpmt_onecore/libcpmt.nativeproj b/stl/msbuild/stl_base/xmt/libcpmt_onecore/libcpmt.nativeproj index 0582903f883..86c82dff9c2 100644 --- a/stl/msbuild/stl_base/xmt/libcpmt_onecore/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/xmt/libcpmt_onecore/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmt onecore + true diff --git a/stl/msbuild/stl_base/xmt0/libcpmt_kernel32/libcpmt.nativeproj b/stl/msbuild/stl_base/xmt0/libcpmt_kernel32/libcpmt.nativeproj index 8e6d59e9871..d76d2b7cab9 100644 --- a/stl/msbuild/stl_base/xmt0/libcpmt_kernel32/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/xmt0/libcpmt_kernel32/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmt0 kernel32 + true diff --git a/stl/msbuild/stl_base/xmt0/libcpmt_onecore/libcpmt.nativeproj b/stl/msbuild/stl_base/xmt0/libcpmt_onecore/libcpmt.nativeproj index c32bd67eec8..d1945603266 100644 --- a/stl/msbuild/stl_base/xmt0/libcpmt_onecore/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/xmt0/libcpmt_onecore/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmt0 onecore + true diff --git a/stl/msbuild/stl_base/xmt1/libcpmt_kernel32/libcpmt.nativeproj b/stl/msbuild/stl_base/xmt1/libcpmt_kernel32/libcpmt.nativeproj index 9a86fb7ca53..6266c565a18 100644 --- a/stl/msbuild/stl_base/xmt1/libcpmt_kernel32/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/xmt1/libcpmt_kernel32/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmt1 kernel32 + true diff --git a/stl/msbuild/stl_base/xmt1/libcpmt_onecore/libcpmt.nativeproj b/stl/msbuild/stl_base/xmt1/libcpmt_onecore/libcpmt.nativeproj index af945f67d07..db93f3f15a1 100644 --- a/stl/msbuild/stl_base/xmt1/libcpmt_onecore/libcpmt.nativeproj +++ b/stl/msbuild/stl_base/xmt1/libcpmt_onecore/libcpmt.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmt1 onecore + true diff --git a/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj b/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj index 95df8962f5c..317f7eff453 100644 --- a/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj +++ b/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md app + true diff --git a/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj b/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj index 312851c7026..7abf5d633e4 100644 --- a/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj +++ b/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj b/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj index d3956721a0d..71825718ba0 100644 --- a/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj +++ b/stl/msbuild/stl_codecvt_ids/md/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md onecore + true diff --git a/stl/msbuild/stl_codecvt_ids/msvcp_codecvt_ids.settings.targets b/stl/msbuild/stl_codecvt_ids/msvcp_codecvt_ids.settings.targets index 2116ad9a688..3df5ef40e29 100644 --- a/stl/msbuild/stl_codecvt_ids/msvcp_codecvt_ids.settings.targets +++ b/stl/msbuild/stl_codecvt_ids/msvcp_codecvt_ids.settings.targets @@ -50,6 +50,11 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception true + + $(IntermediateOutputDirectoryEC)\$(DllDefName).def + $(IntermediateOutputDirectory)\$(DllDefName).def + + LIBRARYNAME=$(OutputName.ToUpper());$(DllCppDefines) @@ -70,6 +75,11 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception + + + + + - + diff --git a/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj b/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj index 6cb0a78aeeb..a07d3c95ef5 100644 --- a/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj +++ b/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_app/msvcp_codecvt_ids.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd app + true diff --git a/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj b/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj index 221a4ef9b18..58411828c0d 100644 --- a/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj +++ b/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_kernel32/msvcp_codecvt_ids.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj b/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj index 904914f1af7..e603fe84374 100644 --- a/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj +++ b/stl/msbuild/stl_codecvt_ids/xmd/msvcp_codecvt_ids_onecore/msvcp_codecvt_ids.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd onecore + true diff --git a/stl/msbuild/stl_post/md/msvcp_post_app/msvcp_post.nativeproj b/stl/msbuild/stl_post/md/msvcp_post_app/msvcp_post.nativeproj index 6cf96cf5791..e5422b71165 100644 --- a/stl/msbuild/stl_post/md/msvcp_post_app/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/md/msvcp_post_app/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md app + true diff --git a/stl/msbuild/stl_post/md/msvcp_post_kernel32/msvcp_post.nativeproj b/stl/msbuild/stl_post/md/msvcp_post_kernel32/msvcp_post.nativeproj index 098b4202e11..25cd54fef6f 100644 --- a/stl/msbuild/stl_post/md/msvcp_post_kernel32/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/md/msvcp_post_kernel32/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_post/md/msvcp_post_netcore/msvcp_post.nativeproj b/stl/msbuild/stl_post/md/msvcp_post_netcore/msvcp_post.nativeproj index 098b4202e11..25cd54fef6f 100644 --- a/stl/msbuild/stl_post/md/msvcp_post_netcore/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/md/msvcp_post_netcore/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md kernel32 + true diff --git a/stl/msbuild/stl_post/md/msvcp_post_onecore/msvcp_post.nativeproj b/stl/msbuild/stl_post/md/msvcp_post_onecore/msvcp_post.nativeproj index 2f33fe6caeb..b9413c6e44c 100644 --- a/stl/msbuild/stl_post/md/msvcp_post_onecore/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/md/msvcp_post_onecore/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception md onecore + true diff --git a/stl/msbuild/stl_post/xmd/msvcp_post_app/msvcp_post.nativeproj b/stl/msbuild/stl_post/xmd/msvcp_post_app/msvcp_post.nativeproj index 5ab52321683..c0359f2f7e5 100644 --- a/stl/msbuild/stl_post/xmd/msvcp_post_app/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/xmd/msvcp_post_app/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd app + true diff --git a/stl/msbuild/stl_post/xmd/msvcp_post_kernel32/msvcp_post.nativeproj b/stl/msbuild/stl_post/xmd/msvcp_post_kernel32/msvcp_post.nativeproj index 978ebc4f5cc..3656ba523f4 100644 --- a/stl/msbuild/stl_post/xmd/msvcp_post_kernel32/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/xmd/msvcp_post_kernel32/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_post/xmd/msvcp_post_netcore/msvcp_post.nativeproj b/stl/msbuild/stl_post/xmd/msvcp_post_netcore/msvcp_post.nativeproj index 978ebc4f5cc..3656ba523f4 100644 --- a/stl/msbuild/stl_post/xmd/msvcp_post_netcore/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/xmd/msvcp_post_netcore/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd kernel32 + true diff --git a/stl/msbuild/stl_post/xmd/msvcp_post_onecore/msvcp_post.nativeproj b/stl/msbuild/stl_post/xmd/msvcp_post_onecore/msvcp_post.nativeproj index 452acb060fa..472a8e1f63a 100644 --- a/stl/msbuild/stl_post/xmd/msvcp_post_onecore/msvcp_post.nativeproj +++ b/stl/msbuild/stl_post/xmd/msvcp_post_onecore/msvcp_post.nativeproj @@ -8,6 +8,7 @@ SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception xmd onecore + true diff --git a/stl/src/special_math.cpp b/stl/src/special_math.cpp index e824c10b2e1..8a4dd5e0836 100644 --- a/stl/src/special_math.cpp +++ b/stl/src/special_math.cpp @@ -19,6 +19,15 @@ #define BOOST_MATH_DOMAIN_ERROR_POLICY errno_on_error #define BOOST_MATH_OVERFLOW_ERROR_POLICY ignore_error +// Avoid SSE intrinsics in EC +#if defined(_M_ARM64EC) +// need to include intrinsics to ensure that x64 definitions in intrin0.h are not lost +#include +#undef _M_AMD64 +#undef _M_X64 +#define _M_ARM64 +#endif // defined(_M_ARM64EC) + // Using headers from Boost.Math #include #include @@ -34,6 +43,13 @@ #include #include +#if defined(_M_ARM64EC) +#undef _M_ARM64 +#define _M_AMD64 +#define _M_X64 +#endif // defined(_M_ARM64EC) + + #pragma warning(pop) namespace { diff --git a/stl/src/vector_algorithms.cpp b/stl/src/vector_algorithms.cpp index 9c7fc413e99..083807c977f 100644 --- a/stl/src/vector_algorithms.cpp +++ b/stl/src/vector_algorithms.cpp @@ -5,7 +5,7 @@ // injected into the msvcprt.lib and msvcprtd.lib import libraries. // Do not include or define anything else here. // In particular, basic_string must not be included here. -#if (defined(_M_IX86) || defined(_M_X64)) && !defined(_M_CEE_PURE) +#if (defined(_M_IX86) || defined(_M_X64) && !defined(_M_ARM64EC)) && !defined(_M_CEE_PURE) #include #include @@ -418,4 +418,4 @@ __declspec(noalias) void __cdecl __std_reverse_copy_trivially_copyable_8( } // extern "C" -#endif // (defined(_M_IX86) || defined(_M_X64)) && !defined(_M_CEE_PURE) +#endif // (defined(_M_IX86) || defined(_M_X64) && !defined(_M_ARM64EC)) && !defined(_M_CEE_PURE)