Limit __builtin_bswap16 to GCC >= 5 as it was implemented on 4.8
diff --git a/src/hb-machinery.hh b/src/hb-machinery.hh
index 5f3d153..1732d29 100644
--- a/src/hb-machinery.hh
+++ b/src/hb-machinery.hh
@@ -721,7 +721,7 @@
   }
   inline operator Type (void) const
   {
-#if defined(__GNUC__) || defined(__clang__)
+#if (defined(__GNUC__) && __GNUC__ >= 5) || defined(__clang__)
     /* Spoon-feed the compiler a big-endian integer with alignment 1.
      * https://github.com/harfbuzz/harfbuzz/pull/1398 */
     struct __attribute__((packed)) packed_uint16_t { uint16_t v; };