Timo Kreuzer
13356a9001
[VCRUNTIME] Fix _rotl64/_rotr64 inline asm
...
%k is only valid for 32 bit operands.
2025-01-22 18:56:08 +02:00
Timo Kreuzer
a015b91e6b
[VCRUNTIME] Fix emmintrin.h for GCC
2025-01-22 18:56:08 +02:00
Timo Kreuzer
478317abcb
[PSEH] Fix SEH compatibility macros for dummy PSEH
...
This is used with Clang, which does have native SEH, but it's broken and can cause the compiler to crash. Previously some code was not handling this and instead used native SEH for clang. Fix this by always using _SEH2_* macros instead of relying on __USE_PSEH2__ to be defined.
Try to improve things
2025-01-14 13:34:24 +02:00
Timo Kreuzer
12139bcde7
[VCRUNTIME] Fix some intrinsics with clang-cl 17
...
For some unknow reason some intrinsics fail to get inlined. Using extern inline results in a linker error. Change it to static inline, so that there is a static implementation in case it doesn't get inlined
2025-01-14 13:34:24 +02:00
Timo Kreuzer
25723b4239
[VCRUNTIME] Fix a warning with GCC 13
2025-01-14 13:34:24 +02:00
Timo Kreuzer
53f498c968
[SDK][PSEH] Improve PSEH a bit
...
Add PSEH include dir globally, include pseh2.h from excpt.h and add compatibility macros to reduce hacks in 3rd-perty code.
2024-11-27 10:50:03 +02:00
Timo Kreuzer
9dedcb67e9
[VCRUNTIME][CRT] Change WCHAR_MIN/WCHAR_MAX to match native headers
...
This avoids conflicting definitions with MS CRT headers.
2024-11-16 20:01:49 +02:00
Timo Kreuzer
53d3cc5f3f
[VCRUNTIME] stdint.h: Update include guard for MIN/MAX macros
...
Include MIN/MAX macros for C++11 and above without the need to define __STDC_LIMIT_MACROS. This is what mingw uses.
2024-11-16 20:01:49 +02:00
Timo Kreuzer
e5633f656f
[VCRUNTIME] Add missing definitions
2024-11-16 20:01:49 +02:00
Timo Kreuzer
e202420456
[VCRUNTIME] Allow disabling GCC attributes for SAL
2024-11-16 20:01:49 +02:00
Timo Kreuzer
764cb5b8a5
[VCRUNTIME] Add pmmintrin.h
2024-11-16 20:01:49 +02:00
Timo Kreuzer
a67f36888c
[VCRUNTIME] Fix emmintrin.h
2024-11-16 20:01:49 +02:00
Timo Kreuzer
f493606999
[VCRUNTIME] Add immintrin.h
2024-11-16 20:01:49 +02:00
Timo Kreuzer
be8bbcbe92
[VCRUNTIME] Add isa_availability.h
2024-11-16 20:01:49 +02:00
Timo Kreuzer
fb49e9126e
[VCRUNTIME] Fix eh.h
2024-11-16 20:01:49 +02:00
Timo Kreuzer
b75d476bb7
[VCRUNTIME] Add __nullptr definition for non-MSVC compilers
2024-11-16 20:01:49 +02:00
Timo Kreuzer
abbc784010
[VCRUNTIME] Stop including crtdefs.h
2024-11-02 12:52:59 +02:00
Timo Kreuzer
2955b1f0e9
[VCRUNTIME] Add some missing definitions to vcruntime*.h
2024-11-02 12:52:59 +02:00
Timo Kreuzer
90e95d15a2
[VCRUNTIME] Move some definitions from crtdefs.h to vadefs.h
2024-11-02 12:52:59 +02:00
Timo Kreuzer
1d01b8c6f0
[VCRUNTIME] Move some definitions from crtdefs.h to vcruntime.h
...
This reflects what native headers do.
TODO: Move _CRT_ALIGN to corecrt.h
2024-11-02 12:52:59 +02:00
Timo Kreuzer
ff2c7c8720
[VCRUNTIME] Add vcruntime.h and related (mostly empty)
...
This is for compatibility with some 3rd-party code.
2024-11-02 12:52:59 +02:00
Timo Kreuzer
84344399b5
[VCRUNTIME] Move compiler runtime headers into their own folder
...
These headers come with the MS compiler. Some of them are standard, like emmintrin.h, others are MS specific like crtdefs.h
This separation will allow using MS CRT headers. Eventually it can allow compiling with the compilers' runtime headers.
2024-11-02 12:52:59 +02:00