Patch rapidjson for Windows on ARM

This commit is contained in:
2024-05-11 19:02:09 +03:00
parent 2f4673ce1b
commit c963dbc48d
3 changed files with 11 additions and 3 deletions

View File

@@ -17,14 +17,18 @@
#include "../rapidjson.h"
#if defined(_MSC_VER) && defined(_M_AMD64)
#if defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_ARM64))
#if _MSC_VER <= 1900
#include <intrin.h>
#else
#include <intrin0.h>
#endif
#if defined(_M_ARM64)
#pragma intrinsic(__umulh)
#else
#pragma intrinsic(_umul128)
#endif
#endif
RAPIDJSON_NAMESPACE_BEGIN
namespace internal {

View File

@@ -21,15 +21,19 @@
#include "../rapidjson.h"
#if defined(_MSC_VER) && defined(_M_AMD64)
#if defined(_MSC_VER) && (defined(_M_AMD64) || defined(_M_ARM64))
#if _MSC_VER <= 1900
#include <intrin.h>
#else
#include <intrin0.h>
#endif
#pragma intrinsic(_BitScanReverse64)
#if defined(_M_ARM64)
#pragma intrinsic(__umulh)
#else
#pragma intrinsic(_umul128)
#endif
#endif
RAPIDJSON_NAMESPACE_BEGIN
namespace internal {

View File

@@ -236,7 +236,7 @@
# define RAPIDJSON_ENDIAN RAPIDJSON_BIGENDIAN
# elif defined(__i386__) || defined(__alpha__) || defined(__ia64) || defined(__ia64__) || defined(_M_IX86) || defined(_M_IA64) || defined(_M_ALPHA) || defined(__amd64) || defined(__amd64__) || defined(_M_AMD64) || defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || defined(__bfin__)
# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
# elif defined(_MSC_VER) && defined(_M_ARM)
# elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64))
# define RAPIDJSON_ENDIAN RAPIDJSON_LITTLEENDIAN
# elif defined(RAPIDJSON_DOXYGEN_RUNNING)
# define RAPIDJSON_ENDIAN