#define PATH_SEPARATOR '/'
#endif
+
+#ifndef __has_c_attribute /* Optional */
+#define __has_c_attribute(x) 0 /* Compat with non-clang compilers */
+#endif
+
+#if __has_c_attribute(fallthrough)
+#define FALLTHROUGH [[fallthrough]]
+#elif __GNUC__ >= 7
+#define FALLTHROUGH __attribute__((fallthrough))
+#else
+#define FALLTHROUGH
+#endif
+
+
/* typedef unsigned short zbyte; */
typedef unsigned char zbyte;
typedef unsigned short zword;
break;
}
/* Fall right thru (to default) if already GOT_MEMORY */
- __attribute__((fallthrough));
+ FALLTHROUGH;
/* `UMem' uncompressed memory chunk; load it. */
case ID_UMem:
if (!(progress & GOT_MEMORY)) /* Don't complain if two. */
/* Fall into default action (skip chunk) on errors. */
}
/* Fall thru (to default) if already GOT_MEMORY */
- __attribute__((fallthrough));
+ FALLTHROUGH;
/* Unrecognised chunk type; skip it. */
default:
(void) fseek (svf, currlen, SEEK_CUR); /* Skip chunk. */