Skip to content

Commit 1a05dd0

Browse files
committed
make macros more robust
1 parent eed1461 commit 1a05dd0

File tree

1 file changed

+22
-8
lines changed

1 file changed

+22
-8
lines changed

src/is_utf8.cpp

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)