From 3604eeddb8a317c0745e92680d0405c645fbe247 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 16 Nov 2022 15:02:14 -0500 Subject: trie: Limit target_clones to glibc Musl doesn't support ifuncs. --- src/trie.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/trie.c b/src/trie.c index 4bbdf13..1434356 100644 --- a/src/trie.c +++ b/src/trie.c @@ -103,16 +103,16 @@ #include #include -#if __has_attribute(target_clones) && (__i386__ || __x86_64__) +#if CHAR_BIT != 8 +# error "This trie implementation assumes 8-bit bytes." +#endif + +#if __GLIBC__ && __has_attribute(target_clones) && (__i386__ || __x86_64__) # define TARGET_CLONES_POPCNT __attribute__((target_clones("popcnt", "default"))) #else # define TARGET_CLONES_POPCNT #endif -#if CHAR_BIT != 8 -# error "This trie implementation assumes 8-bit bytes." -#endif - /** Number of bits for the sparse array bitmap, aka the range of a nibble. */ #define BITMAP_BITS 16 /** The number of remaining bits in a word, to hold the offset. */ -- cgit v1.2.3