mirror of
https://github.com/webmproject/libwebp.git
synced 2025-07-13 14:34:33 +02:00
Use __has_builtin to check clang support
Older versions of Xcode with clang reporting versions 4.[012] and 5.0 did not include support for __builtin_bswap16. Checking in this manner avoids using brittle version checks. Matches a change to libvpx: https://chromium-review.googlesource.com/305573 to fix: https://code.google.com/p/webm/issues/detail?id=1082 Change-Id: I23ea466ee1b53b12cd3fb45f65a2186c8dda95a1
This commit is contained in:
@ -35,15 +35,15 @@
|
||||
#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)
|
||||
#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)
|
||||
#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
|
||||
#endif
|
||||
#if LOCAL_GCC_PREREQ(4,3) || __has_builtin(__builtin_bswap64)
|
||||
#define HAVE_BUILTIN_BSWAP64
|
||||
#endif
|
||||
#endif // !HAVE_CONFIG_H
|
||||
|
||||
static WEBP_INLINE uint16_t BSwap16(uint16_t x) {
|
||||
|
Reference in New Issue
Block a user