Index: third_party/libwebp/utils/endian_inl.h |
diff --git a/third_party/libwebp/utils/endian_inl.h b/third_party/libwebp/utils/endian_inl.h |
index cd56c37f4d1fe2310854245e27838a19dbf98afb..e11260ff7d8d7f601b1ba5c78b01216a40b6735f 100644 |
--- a/third_party/libwebp/utils/endian_inl.h |
+++ b/third_party/libwebp/utils/endian_inl.h |
@@ -35,14 +35,14 @@ |
#endif |
#if !defined(HAVE_CONFIG_H) |
-// clang-3.3 and gcc-4.3 have builtin functions for swap32/swap64 |
-#if LOCAL_GCC_PREREQ(4,3) || LOCAL_CLANG_PREREQ(3,3) |
+#if LOCAL_GCC_PREREQ(4,8) || __has_builtin(__builtin_bswap16) |
+#define HAVE_BUILTIN_BSWAP16 |
+#endif |
+#if LOCAL_GCC_PREREQ(4,3) || __has_builtin(__builtin_bswap32) |
#define HAVE_BUILTIN_BSWAP32 |
-#define HAVE_BUILTIN_BSWAP64 |
#endif |
-// clang-3.3 and gcc-4.8 have a builtin function for swap16 |
-#if LOCAL_GCC_PREREQ(4,8) || LOCAL_CLANG_PREREQ(3,3) |
-#define HAVE_BUILTIN_BSWAP16 |
+#if LOCAL_GCC_PREREQ(4,3) || __has_builtin(__builtin_bswap64) |
+#define HAVE_BUILTIN_BSWAP64 |
#endif |
#endif // !HAVE_CONFIG_H |