diff --git a/include/simdjson/common_defs.h b/include/simdjson/common_defs.h index 0fa3301de..c3d6e2cc3 100644 --- a/include/simdjson/common_defs.h +++ b/include/simdjson/common_defs.h @@ -70,7 +70,7 @@ constexpr size_t DEFAULT_MAX_DEPTH = 1024; #define SIMDJSON_ISALIGNED_N(ptr, n) (((uintptr_t)(ptr) & ((n)-1)) == 0) -#if defined(SIMDJSON_REGULAR_VISUAL_STUDIO) +#if SIMDJSON_REGULAR_VISUAL_STUDIO #define simdjson_really_inline __forceinline #define simdjson_never_inline __declspec(noinline) @@ -155,7 +155,7 @@ constexpr size_t DEFAULT_MAX_DEPTH = 1024; #define SIMDJSON_PRAGMA(P) _Pragma(#P) #define SIMDJSON_DISABLE_GCC_WARNING(WARNING) SIMDJSON_PRAGMA(GCC diagnostic ignored #WARNING) - #if defined(SIMDJSON_CLANG_VISUAL_STUDIO) + #if SIMDJSON_CLANG_VISUAL_STUDIO #define SIMDJSON_DISABLE_UNDESIRED_WARNINGS SIMDJSON_DISABLE_GCC_WARNING(-Wmicrosoft-include) #else #define SIMDJSON_DISABLE_UNDESIRED_WARNINGS @@ -180,7 +180,7 @@ constexpr size_t DEFAULT_MAX_DEPTH = 1024; #define simdjson_inline simdjson_really_inline #endif -#if defined(SIMDJSON_VISUAL_STUDIO) +#if SIMDJSON_VISUAL_STUDIO /** * Windows users need to do some extra work when building * or using a dynamic library (DLL). When building, we need diff --git a/include/simdjson/dom/parser-inl.h b/include/simdjson/dom/parser-inl.h index b69bcb035..8da133915 100644 --- a/include/simdjson/dom/parser-inl.h +++ b/include/simdjson/dom/parser-inl.h @@ -43,7 +43,7 @@ inline simdjson_result parser::read_file(const std::string &path) noexce // Get the file size int ret; -#if defined(SIMDJSON_VISUAL_STUDIO) && !SIMDJSON_IS_32BITS +#if SIMDJSON_VISUAL_STUDIO && !SIMDJSON_IS_32BITS ret = _fseeki64(fp, 0, SEEK_END); #else ret = std::fseek(fp, 0, SEEK_END); @@ -52,7 +52,7 @@ inline simdjson_result parser::read_file(const std::string &path) noexce std::fclose(fp); return IO_ERROR; } -#if defined(SIMDJSON_VISUAL_STUDIO) && !SIMDJSON_IS_32BITS +#if SIMDJSON_VISUAL_STUDIO && !SIMDJSON_IS_32BITS __int64 len = _ftelli64(fp); if(len == -1L) { std::fclose(fp); diff --git a/include/simdjson/generic/jsoncharutils.h b/include/simdjson/generic/jsoncharutils.h index 2316c3178..254b8795d 100644 --- a/include/simdjson/generic/jsoncharutils.h +++ b/include/simdjson/generic/jsoncharutils.h @@ -72,7 +72,7 @@ simdjson_inline size_t codepoint_to_utf8(uint32_t cp, uint8_t *c) { return 0; // bad r } -#ifdef SIMDJSON_IS_32BITS // _umul128 for x86, arm +#if SIMDJSON_IS_32BITS // _umul128 for x86, arm // this is a slow emulation routine for 32-bit // static simdjson_inline uint64_t __emulu(uint32_t x, uint32_t y) { @@ -94,7 +94,7 @@ using internal::value128; simdjson_inline value128 full_multiplication(uint64_t value1, uint64_t value2) { value128 answer; -#if defined(SIMDJSON_REGULAR_VISUAL_STUDIO) || defined(SIMDJSON_IS_32BITS) +#if SIMDJSON_REGULAR_VISUAL_STUDIO || SIMDJSON_IS_32BITS #ifdef _M_ARM64 // ARM64 has native support for 64-bit multiplications, no need to emultate answer.high = __umulh(value1, value2); @@ -102,7 +102,7 @@ simdjson_inline value128 full_multiplication(uint64_t value1, uint64_t value2) { #else answer.low = _umul128(value1, value2, &answer.high); // _umul128 not available on ARM64 #endif // _M_ARM64 -#else // defined(SIMDJSON_REGULAR_VISUAL_STUDIO) || defined(SIMDJSON_IS_32BITS) +#else // SIMDJSON_REGULAR_VISUAL_STUDIO || SIMDJSON_IS_32BITS __uint128_t r = (static_cast<__uint128_t>(value1)) * value2; answer.low = uint64_t(r); answer.high = uint64_t(r >> 64); diff --git a/include/simdjson/haswell/bitmanipulation.h b/include/simdjson/haswell/bitmanipulation.h index 1617061de..5e0423992 100644 --- a/include/simdjson/haswell/bitmanipulation.h +++ b/include/simdjson/haswell/bitmanipulation.h @@ -10,7 +10,7 @@ namespace { // Sadly, sanitizers are not smart enough to figure it out. SIMDJSON_NO_SANITIZE_UNDEFINED simdjson_inline int trailing_zeroes(uint64_t input_num) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO return (int)_tzcnt_u64(input_num); #else // SIMDJSON_REGULAR_VISUAL_STUDIO //////// @@ -32,7 +32,7 @@ simdjson_inline int leading_zeroes(uint64_t input_num) { return int(_lzcnt_u64(input_num)); } -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO simdjson_inline unsigned __int64 count_ones(uint64_t input_num) { // note: we do not support legacy 32-bit Windows return __popcnt64(input_num);// Visual Studio wants two underscores @@ -45,7 +45,7 @@ simdjson_inline long long int count_ones(uint64_t input_num) { simdjson_inline bool add_overflow(uint64_t value1, uint64_t value2, uint64_t *result) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO return _addcarry_u64(0, value1, value2, reinterpret_cast(result)); #else diff --git a/include/simdjson/haswell/intrinsics.h b/include/simdjson/haswell/intrinsics.h index 8db2e2b64..6d007ec06 100644 --- a/include/simdjson/haswell/intrinsics.h +++ b/include/simdjson/haswell/intrinsics.h @@ -3,14 +3,14 @@ #include "simdjson/base.h" -#ifdef SIMDJSON_VISUAL_STUDIO +#if SIMDJSON_VISUAL_STUDIO // under clang within visual studio, this will include #include // visual studio or clang #else #include // elsewhere #endif // SIMDJSON_VISUAL_STUDIO -#ifdef SIMDJSON_CLANG_VISUAL_STUDIO +#if SIMDJSON_CLANG_VISUAL_STUDIO /** * You are not supposed, normally, to include these * headers directly. Instead you should either include intrin.h diff --git a/include/simdjson/icelake/bitmanipulation.h b/include/simdjson/icelake/bitmanipulation.h index be998a46c..91d75ffa5 100644 --- a/include/simdjson/icelake/bitmanipulation.h +++ b/include/simdjson/icelake/bitmanipulation.h @@ -10,7 +10,7 @@ namespace { // Sadly, sanitizers are not smart enough to figure it out. SIMDJSON_NO_SANITIZE_UNDEFINED simdjson_inline int trailing_zeroes(uint64_t input_num) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO return (int)_tzcnt_u64(input_num); #else // SIMDJSON_REGULAR_VISUAL_STUDIO //////// @@ -32,7 +32,7 @@ simdjson_inline int leading_zeroes(uint64_t input_num) { return int(_lzcnt_u64(input_num)); } -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO simdjson_inline unsigned __int64 count_ones(uint64_t input_num) { // note: we do not support legacy 32-bit Windows return __popcnt64(input_num);// Visual Studio wants two underscores @@ -45,7 +45,7 @@ simdjson_inline long long int count_ones(uint64_t input_num) { simdjson_inline bool add_overflow(uint64_t value1, uint64_t value2, uint64_t *result) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO return _addcarry_u64(0, value1, value2, reinterpret_cast(result)); #else diff --git a/include/simdjson/icelake/intrinsics.h b/include/simdjson/icelake/intrinsics.h index 2a09d1679..28d90350a 100644 --- a/include/simdjson/icelake/intrinsics.h +++ b/include/simdjson/icelake/intrinsics.h @@ -3,14 +3,14 @@ #include "simdjson/base.h" -#ifdef SIMDJSON_VISUAL_STUDIO +#if SIMDJSON_VISUAL_STUDIO // under clang within visual studio, this will include #include // visual studio or clang #else #include // elsewhere #endif // SIMDJSON_VISUAL_STUDIO -#ifdef SIMDJSON_CLANG_VISUAL_STUDIO +#if SIMDJSON_CLANG_VISUAL_STUDIO /** * You are not supposed, normally, to include these * headers directly. Instead you should either include intrin.h diff --git a/include/simdjson/implementations.h b/include/simdjson/implementations.h index a55035243..034106aae 100644 --- a/include/simdjson/implementations.h +++ b/include/simdjson/implementations.h @@ -51,8 +51,13 @@ // Default Haswell to on if this is x86-64. Even if we're not compiled for it, it could be selected // at runtime. #ifndef SIMDJSON_IMPLEMENTATION_HASWELL +#if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE +// if icelake is always available, never enable haswell. +#define SIMDJSON_IMPLEMENTATION_HASWELL 0 +#else #define SIMDJSON_IMPLEMENTATION_HASWELL SIMDJSON_IS_X86_64 #endif +#endif #ifdef _MSC_VER // To see why (__BMI__) && (__PCLMUL__) && (__LZCNT__) are not part of this next line, see // https://github.com/simdjson/simdjson/issues/1247 @@ -61,9 +66,14 @@ #define SIMDJSON_CAN_ALWAYS_RUN_HASWELL ((SIMDJSON_IMPLEMENTATION_HASWELL) && (SIMDJSON_IS_X86_64) && (__AVX2__) && (__BMI__) && (__PCLMUL__) && (__LZCNT__)) #endif -// Default Westmere to on if this is x86-64. Note that the macro SIMDJSON_REQUIRES_HASWELL appears unused. +// Default Westmere to on if this is x86-64. #ifndef SIMDJSON_IMPLEMENTATION_WESTMERE -#define SIMDJSON_IMPLEMENTATION_WESTMERE (SIMDJSON_IS_X86_64 && !SIMDJSON_REQUIRES_HASWELL) +#if SIMDJSON_CAN_ALWAYS_RUN_ICELAKE || SIMDJSON_CAN_ALWAYS_RUN_HASWELL +// if icelake or haswell are always available, never enable westmere. +#define SIMDJSON_IMPLEMENTATION_WESTMERE 0 +#else +#define SIMDJSON_IMPLEMENTATION_WESTMERE SIMDJSON_IS_X86_64 +#endif #endif #define SIMDJSON_CAN_ALWAYS_RUN_WESTMERE (SIMDJSON_IMPLEMENTATION_WESTMERE && SIMDJSON_IS_X86_64 && __SSE4_2__ && __PCLMUL__) @@ -74,7 +84,12 @@ // Default Fallback to on unless a builtin implementation has already been selected. #ifndef SIMDJSON_IMPLEMENTATION_FALLBACK -#define SIMDJSON_IMPLEMENTATION_FALLBACK 1 // (!SIMDJSON_CAN_ALWAYS_RUN_ARM64 && !SIMDJSON_CAN_ALWAYS_RUN_HASWELL && !SIMDJSON_CAN_ALWAYS_RUN_WESTMERE && !SIMDJSON_CAN_ALWAYS_RUN_PPC64) +#if SIMDJSON_CAN_ALWAYS_RUN_ARM64 || SIMDJSON_CAN_ALWAYS_RUN_ICELAKE || SIMDJSON_CAN_ALWAYS_RUN_HASWELL || SIMDJSON_CAN_ALWAYS_RUN_WESTMERE || SIMDJSON_CAN_ALWAYS_RUN_PPC64 +// if anything at all except fallback can always run, then disable fallback. +#define SIMDJSON_IMPLEMENTATION_FALLBACK 0 +#else +#define SIMDJSON_IMPLEMENTATION_FALLBACK 1 +#endif #endif #define SIMDJSON_CAN_ALWAYS_RUN_FALLBACK SIMDJSON_IMPLEMENTATION_FALLBACK diff --git a/include/simdjson/padded_string-inl.h b/include/simdjson/padded_string-inl.h index 434d8e307..29a3018dc 100644 --- a/include/simdjson/padded_string-inl.h +++ b/include/simdjson/padded_string-inl.h @@ -128,7 +128,7 @@ inline simdjson_result padded_string::load(std::string_view filen // Get the file size int ret; -#if defined(SIMDJSON_VISUAL_STUDIO) && !SIMDJSON_IS_32BITS +#if SIMDJSON_VISUAL_STUDIO && !SIMDJSON_IS_32BITS ret = _fseeki64(fp, 0, SEEK_END); #else ret = std::fseek(fp, 0, SEEK_END); @@ -137,7 +137,7 @@ inline simdjson_result padded_string::load(std::string_view filen std::fclose(fp); return IO_ERROR; } -#if defined(SIMDJSON_VISUAL_STUDIO) && !SIMDJSON_IS_32BITS +#if SIMDJSON_VISUAL_STUDIO && !SIMDJSON_IS_32BITS __int64 llen = _ftelli64(fp); if(llen == -1L) { std::fclose(fp); diff --git a/include/simdjson/portability.h b/include/simdjson/portability.h index af896b5d7..85a0dd908 100644 --- a/include/simdjson/portability.h +++ b/include/simdjson/portability.h @@ -32,7 +32,7 @@ #endif // __clang__ #endif // _MSC_VER -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO // https://en.wikipedia.org/wiki/C_alternative_tokens // This header should have no effect, except maybe // under Visual Studio. @@ -59,8 +59,11 @@ #endif #endif // defined(__x86_64__) || defined(_M_AMD64) +#ifndef SIMDJSON_IS_32BITS +#define SIMDJSON_IS_32BITS 0 +#endif -#ifdef SIMDJSON_IS_32BITS +#if SIMDJSON_IS_32BITS #ifndef SIMDJSON_NO_PORTABILITY_WARNING #pragma message("The simdjson library is designed \ for 64-bit processors and it seems that you are not \ @@ -91,7 +94,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.") // // We are going to use runtime dispatch. -#ifdef SIMDJSON_IS_X86_64 +#if SIMDJSON_IS_X86_64 #ifdef __clang__ // clang does not have GCC push pop // warning: clang attribute push can't be used within a namespace in clang up @@ -145,7 +148,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.") #define SIMDJSON_NO_SANITIZE_UNDEFINED #endif -#ifdef SIMDJSON_VISUAL_STUDIO +#if SIMDJSON_VISUAL_STUDIO // This is one case where we do not distinguish between // regular visual studio and clang under visual studio. // clang under Windows has _stricmp (like visual studio) but not strcasecmp (as clang normally has) @@ -161,7 +164,7 @@ use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC.") #ifdef NDEBUG -#ifdef SIMDJSON_VISUAL_STUDIO +#if SIMDJSON_VISUAL_STUDIO #define SIMDJSON_UNREACHABLE() __assume(0) #define SIMDJSON_ASSUME(COND) __assume(COND) #else diff --git a/include/simdjson/ppc64/bitmanipulation.h b/include/simdjson/ppc64/bitmanipulation.h index d6e131263..1d9abc380 100644 --- a/include/simdjson/ppc64/bitmanipulation.h +++ b/include/simdjson/ppc64/bitmanipulation.h @@ -10,7 +10,7 @@ namespace { // Sadly, sanitizers are not smart enough to figure it out. SIMDJSON_NO_SANITIZE_UNDEFINED simdjson_inline int trailing_zeroes(uint64_t input_num) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO unsigned long ret; // Search the mask data from least significant bit (LSB) // to the most significant bit (MSB) for a set bit (1). @@ -28,7 +28,7 @@ simdjson_inline uint64_t clear_lowest_bit(uint64_t input_num) { /* result might be undefined when input_num is zero */ simdjson_inline int leading_zeroes(uint64_t input_num) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO unsigned long leading_zero = 0; // Search the mask data from most significant bit (MSB) // to least significant bit (LSB) for a set bit (1). @@ -41,7 +41,7 @@ simdjson_inline int leading_zeroes(uint64_t input_num) { #endif // SIMDJSON_REGULAR_VISUAL_STUDIO } -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO simdjson_inline int count_ones(uint64_t input_num) { // note: we do not support legacy 32-bit Windows return __popcnt64(input_num); // Visual Studio wants two underscores @@ -54,7 +54,7 @@ simdjson_inline int count_ones(uint64_t input_num) { simdjson_inline bool add_overflow(uint64_t value1, uint64_t value2, uint64_t *result) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO *result = value1 + value2; return *result < value1; #else diff --git a/include/simdjson/westmere/bitmanipulation.h b/include/simdjson/westmere/bitmanipulation.h index e4f4372ef..609ce95de 100644 --- a/include/simdjson/westmere/bitmanipulation.h +++ b/include/simdjson/westmere/bitmanipulation.h @@ -10,7 +10,7 @@ namespace { // Sadly, sanitizers are not smart enough to figure it out. SIMDJSON_NO_SANITIZE_UNDEFINED simdjson_inline int trailing_zeroes(uint64_t input_num) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO unsigned long ret; // Search the mask data from least significant bit (LSB) // to the most significant bit (MSB) for a set bit (1). @@ -28,7 +28,7 @@ simdjson_inline uint64_t clear_lowest_bit(uint64_t input_num) { /* result might be undefined when input_num is zero */ simdjson_inline int leading_zeroes(uint64_t input_num) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO unsigned long leading_zero = 0; // Search the mask data from most significant bit (MSB) // to least significant bit (LSB) for a set bit (1). @@ -41,7 +41,7 @@ simdjson_inline int leading_zeroes(uint64_t input_num) { #endif// SIMDJSON_REGULAR_VISUAL_STUDIO } -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO simdjson_inline unsigned __int64 count_ones(uint64_t input_num) { // note: we do not support legacy 32-bit Windows return __popcnt64(input_num);// Visual Studio wants two underscores @@ -54,7 +54,7 @@ simdjson_inline long long int count_ones(uint64_t input_num) { simdjson_inline bool add_overflow(uint64_t value1, uint64_t value2, uint64_t *result) { -#ifdef SIMDJSON_REGULAR_VISUAL_STUDIO +#if SIMDJSON_REGULAR_VISUAL_STUDIO return _addcarry_u64(0, value1, value2, reinterpret_cast(result)); #else diff --git a/include/simdjson/westmere/intrinsics.h b/include/simdjson/westmere/intrinsics.h index 530e4c602..88bc8d578 100644 --- a/include/simdjson/westmere/intrinsics.h +++ b/include/simdjson/westmere/intrinsics.h @@ -1,7 +1,7 @@ #ifndef SIMDJSON_WESTMERE_INTRINSICS_H #define SIMDJSON_WESTMERE_INTRINSICS_H -#ifdef SIMDJSON_VISUAL_STUDIO +#if SIMDJSON_VISUAL_STUDIO // under clang within visual studio, this will include #include // visual studio or clang #else @@ -9,7 +9,7 @@ #endif // SIMDJSON_VISUAL_STUDIO -#ifdef SIMDJSON_CLANG_VISUAL_STUDIO +#if SIMDJSON_CLANG_VISUAL_STUDIO /** * You are not supposed, normally, to include these * headers directly. Instead you should either include intrin.h diff --git a/singleheader/simdjson.cpp b/singleheader/simdjson.cpp index 611411a4e..d6be70b9d 100644 --- a/singleheader/simdjson.cpp +++ b/singleheader/simdjson.cpp @@ -3783,7 +3783,7 @@ public: // it helps tremendously. if (bits == 0) return; -#if defined(SIMDJSON_PREFER_REVERSE_BITS) +#if SIMDJSON_PREFER_REVERSE_BITS /** * ARM lacks a fast trailing zero instruction, but it has a fast * bit reversal instruction and a fast leading zero instruction. diff --git a/src/fallback/implementation.cpp b/src/fallback/implementation.cpp index a794ae5e6..73365f720 100644 --- a/src/fallback/implementation.cpp +++ b/src/fallback/implementation.cpp @@ -1,5 +1,4 @@ #include "simdjson/fallback/begin.h" - namespace simdjson { namespace SIMDJSON_IMPLEMENTATION { diff --git a/src/generic/stage1/json_structural_indexer.h b/src/generic/stage1/json_structural_indexer.h index 8c75f65aa..4e5b23bba 100644 --- a/src/generic/stage1/json_structural_indexer.h +++ b/src/generic/stage1/json_structural_indexer.h @@ -37,7 +37,7 @@ public: // it helps tremendously. if (bits == 0) return; -#if defined(SIMDJSON_PREFER_REVERSE_BITS) +#if SIMDJSON_PREFER_REVERSE_BITS /** * ARM lacks a fast trailing zero instruction, but it has a fast * bit reversal instruction and a fast leading zero instruction. diff --git a/tests/dom/basictests.cpp b/tests/dom/basictests.cpp index 99a7df171..6c898c306 100644 --- a/tests/dom/basictests.cpp +++ b/tests/dom/basictests.cpp @@ -21,7 +21,9 @@ */ #if defined(SIMDJSON_REGULAR_VISUAL_STUDIO) || defined (__linux__) || defined (__APPLE__) || defined(__FreeBSD__) // Finally, we want to exclude legacy 32-bit systems. -#ifndef SIMDJSON_IS_32BITS +#if SIMDJSON_IS_32BITS +// floating-point tests are omitted under 32-bit systems +#else // So we only run some of the floating-point tests under 64-bit linux, apple, regular visual studio, freebsd. #define TEST_FLOATS #endif diff --git a/tests/dom/numberparsingcheck.cpp b/tests/dom/numberparsingcheck.cpp index 812f838cd..8f57ff74b 100644 --- a/tests/dom/numberparsingcheck.cpp +++ b/tests/dom/numberparsingcheck.cpp @@ -33,7 +33,9 @@ void found_unsigned_integer(uint64_t result, const uint8_t *buf); // or cygwin. // // Finally, we want to exclude legacy 32-bit systems. -#ifndef SIMDJSON_IS_32BITS +#if SIMDJSON_IS_32BITS +// we omit 32-bit tests +#else // So we only run some of the floating-point tests under 64-bit linux, apple, regular visual studio, freebsd. #define TEST_FLOATS // Apple and freebsd need a special header, typically. diff --git a/tests/dom/random_string_number_tests.cpp b/tests/dom/random_string_number_tests.cpp index 04b583e9d..4c2d3f37a 100644 --- a/tests/dom/random_string_number_tests.cpp +++ b/tests/dom/random_string_number_tests.cpp @@ -21,7 +21,9 @@ // or cygwin. // // Finally, we want to exclude legacy 32-bit systems. -#ifndef SIMDJSON_IS_32BITS +#if SIMDJSON_IS_32BITS +// we omit 32-bit tests +#else // So we only run some of the floating-point tests under 64-bit linux, apple, regular visual studio, freebsd. #define TEST_FLOATS // Apple and freebsd need a special header, typically.