diff options
author | Tim Kientzle <kientzle@acm.org> | 2016-07-17 08:28:51 -0700 |
---|---|---|
committer | Tim Kientzle <kientzle@acm.org> | 2016-07-17 08:28:51 -0700 |
commit | d2e8111b3a3468102737f7d414ea1bb6f6904bfe (patch) | |
tree | 6107030ea6748585ff90ce028f59263618c4e395 /libarchive/archive_read_support_format_lha.c | |
parent | ad661cf39314a9772adad2e4d1d3967c26ffd4d3 (diff) | |
download | libarchive-d2e8111b3a3468102737f7d414ea1bb6f6904bfe.tar.gz |
Fix check for GCC >= 4.8
Diffstat (limited to 'libarchive/archive_read_support_format_lha.c')
-rw-r--r-- | libarchive/archive_read_support_format_lha.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/libarchive/archive_read_support_format_lha.c b/libarchive/archive_read_support_format_lha.c index dbfc1cd8..a7f1d8d9 100644 --- a/libarchive/archive_read_support_format_lha.c +++ b/libarchive/archive_read_support_format_lha.c @@ -1715,8 +1715,11 @@ lha_crc16(uint16_t crc, const void *pp, size_t len) #undef bswap16 #if defined(_MSC_VER) && _MSC_VER >= 1400 /* Visual Studio */ # define bswap16(x) _byteswap_ushort(x) -#elif (defined(__GNUC__) && __GNUC__ >= 4 && __GNUC_MINOR__ >= 8) \ - || defined(__clang__) +#elif defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4) +/* GCC 4.8 and later has __builtin_bswap16() */ +# define bswap16(x) __builtin_bswap16(x) +#elif defined(__clang__) +/* All clang versions have __builtin_bswap16() */ # define bswap16(x) __builtin_bswap16(x) #else # define bswap16(x) ((((x) >> 8) & 0xff) | ((x) << 8)) |