@@ -872,8 +872,13 @@ template <typename T> std::string toBinaryString(T b) {
872872#ifndef IS_UTF8_IMPLEMENTATION_ARM64
873873#define IS_UTF8_IMPLEMENTATION_ARM64 (IS_UTF8_IS_ARM64)
874874#endif
875- #define IS_UTF8_CAN_ALWAYS_RUN_ARM64 \
876- IS_UTF8_IMPLEMENTATION_ARM64 &&IS_UTF8_IS_ARM64
875+
876+ #if IS_UTF8_IMPLEMENTATION_ARM64 &&IS_UTF8_IS_ARM64
877+ #define IS_UTF8_CAN_ALWAYS_RUN_ARM64 1
878+ #else
879+ #define IS_UTF8_CAN_ALWAYS_RUN_ARM64 0
880+ #endif
881+
877882
878883#if IS_UTF8_IMPLEMENTATION_ARM64
879884
@@ -2343,8 +2348,11 @@ IS_UTF8_POP_DISABLE_WARNINGS
23432348#endif
23442349// To see why (__BMI__) && (__PCLMUL__) && (__LZCNT__) are not part of this
23452350// next line, see https://github.com/simdutf/simdutf/issues/1247
2346- #define IS_UTF8_CAN_ALWAYS_RUN_HASWELL \
2347- ((IS_UTF8_IMPLEMENTATION_HASWELL) && (IS_UTF8_IS_X86_64) && (__AVX2__))
2351+ #if ((IS_UTF8_IMPLEMENTATION_HASWELL) && (IS_UTF8_IS_X86_64) && (__AVX2__))
2352+ #define IS_UTF8_CAN_ALWAYS_RUN_HASWELL 1
2353+ #else
2354+ #define IS_UTF8_CAN_ALWAYS_RUN_HASWELL 0
2355+ #endif
23482356
23492357#if IS_UTF8_IMPLEMENTATION_HASWELL
23502358
@@ -3343,9 +3351,11 @@ IS_UTF8_UNTARGET_REGION
33433351
33443352#endif
33453353
3346- #define IS_UTF8_CAN_ALWAYS_RUN_WESTMERE \
3347- (IS_UTF8_IMPLEMENTATION_WESTMERE && IS_UTF8_IS_X86_64 && __SSE4_2__ && \
3348- __PCLMUL__)
3354+ #if IS_UTF8_IMPLEMENTATION_WESTMERE && IS_UTF8_IS_X86_64 && __SSE4_2__ && __PCLMUL__
3355+ #define IS_UTF8_CAN_ALWAYS_RUN_WESTMERE 1
3356+ #else
3357+ #define IS_UTF8_CAN_ALWAYS_RUN_WESTMERE 0
3358+ #endif
33493359
33503360#if IS_UTF8_IMPLEMENTATION_WESTMERE
33513361
@@ -4412,7 +4422,11 @@ IS_UTF8_UNTARGET_REGION
44124422#endif
44134423#endif
44144424
4415- #define IS_UTF8_CAN_ALWAYS_RUN_FALLBACK (IS_UTF8_IMPLEMENTATION_FALLBACK)
4425+ #if IS_UTF8_IMPLEMENTATION_FALLBACK
4426+ #define IS_UTF8_CAN_ALWAYS_RUN_FALLBACK 1
4427+ #else
4428+ #define IS_UTF8_CAN_ALWAYS_RUN_FALLBACK 0
4429+ #endif
44164430
44174431#if IS_UTF8_IMPLEMENTATION_FALLBACK
44184432
0 commit comments