mirror of
https://github.com/Xahau/xahaud.git
synced 2025-11-18 17:45:48 +00:00
13 lines
628 B
Diff
13 lines
628 B
Diff
asm clobbers do not work for clang < 9 and apple-clang < 11 (found by SpaceIm)
|
|
--- snappy.cc
|
|
+++ snappy.cc
|
|
@@ -1026,7 +1026,7 @@
|
|
size_t literal_len = *tag >> 2;
|
|
size_t tag_type = *tag;
|
|
bool is_literal;
|
|
-#if defined(__GNUC__) && defined(__x86_64__)
|
|
+#if defined(__GNUC__) && defined(__x86_64__) && ( (!defined(__clang__) && !defined(__APPLE__)) || (!defined(__APPLE__) && defined(__clang__) && (__clang_major__ >= 9)) || (defined(__APPLE__) && defined(__clang__) && (__clang_major__ > 11)) )
|
|
// TODO clang misses the fact that the (c & 3) already correctly
|
|
// sets the zero flag.
|
|
asm("and $3, %k[tag_type]\n\t"
|