--- e2fsprogs-1.44.4/misc/e2undo.c.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/misc/e2undo.c	2018-10-22 22:25:35.130000000 +0000
@@ -81,12 +81,12 @@
 	__le32 magic;		/* KEYBLOCK_MAGIC number */
 	__le32 crc;		/* block checksum */
 	__le64 reserved;	/* zero */
-#if __GNUC_PREREQ (4, 8)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 	struct undo_key keys[0];	/* keys, which come immediately after */
-#if __GNUC_PREREQ (4, 8)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4)
 #pragma GCC diagnostic pop
 #endif
 };
--- e2fsprogs-1.44.4/misc/filefrag.c.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/misc/filefrag.c	2018-10-22 22:26:04.730000000 +0000
@@ -537,7 +537,7 @@
 				char *end;
 				blocksize = strtoul(optarg, &end, 0);
 				if (end) {
-#if __GNUC_PREREQ (7, 0)
+#if defined(__GNUC__) && (__GNUC__ >= 7)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wimplicit-fallthrough"
 #endif
@@ -557,7 +557,7 @@
 					default:
 						break;
 					}
-#if __GNUC_PREREQ (7, 0)
+#if defined(__GNUC__) && (__GNUC__ >= 7)
 #pragma GCC diagnostic pop
 #endif
 				}
--- e2fsprogs-1.44.4/lib/ext2fs/fiemap.h.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/lib/ext2fs/fiemap.h	2018-10-22 22:21:59.110000000 +0000
@@ -31,12 +31,12 @@
 	__u32 fm_mapped_extents;/* number of extents that were mapped (out) */
 	__u32 fm_extent_count;  /* size of fm_extents array (in) */
 	__u32 fm_reserved;
-#if __GNUC_PREREQ (4, 8)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
 	struct fiemap_extent fm_extents[0]; /* array of mapped extents (out) */
-#if __GNUC_PREREQ (4, 8)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4)
 #pragma GCC diagnostic pop
 #endif
 };
--- e2fsprogs-1.44.4/lib/ext2fs/ext4_acl.h.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/lib/ext2fs/ext4_acl.h	2018-10-22 22:18:32.390000000 +0000
@@ -50,12 +50,12 @@
 
 typedef struct {
         __le32                  a_version;
-#if __GNUC_PREREQ (4, 8)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wpedantic"
 #endif
         posix_acl_xattr_entry   a_entries[0];
-#if __GNUC_PREREQ (4, 8)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 8) || __GNUC__ > 4)
 #pragma GCC diagnostic pop
 #endif
 } posix_acl_xattr_header;
--- e2fsprogs-1.44.4/lib/ext2fs/unix_io.c.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/lib/ext2fs/unix_io.c	2018-10-22 22:20:38.770000000 +0000
@@ -1152,7 +1152,7 @@
 }
 
 /* parameters might not be used if OS doesn't support zeroout */
-#if __GNUC_PREREQ (4, 6)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wunused-parameter"
 #endif
@@ -1204,7 +1204,7 @@
 unimplemented:
 	return EXT2_ET_UNIMPLEMENTED;
 }
-#if __GNUC_PREREQ (4, 6)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
 #pragma GCC diagnostic pop
 #endif
 
--- e2fsprogs-1.44.4/lib/ext2fs/mmp.c.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/lib/ext2fs/mmp.c	2018-10-22 22:21:10.640000000 +0000
@@ -34,7 +34,7 @@
 #define O_DIRECT 0
 #endif
 
-#if __GNUC_PREREQ (4, 6)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
 #pragma GCC diagnostic push
 #ifndef CONFIG_MMP
 #pragma GCC diagnostic ignored "-Wunused-parameter"
@@ -467,6 +467,6 @@
 	return EXT2_ET_OP_NOT_SUPPORTED;
 #endif
 }
-#if __GNUC_PREREQ (4, 6)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
 #pragma GCC diagnostic pop
 #endif
--- e2fsprogs-1.44.4/debugfs/set_fields.c.old	2018-08-19 02:26:58.000000000 +0000
+++ e2fsprogs-1.44.4/debugfs/set_fields.c	2018-10-22 22:22:34.510000000 +0000
@@ -79,7 +79,8 @@
 static errcode_t parse_mmp_clear(struct field_set_info *info, char *field,
 				 char *arg);
 
-#if __GNUC_PREREQ (4, 6) || defined(__clang__)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) \
+    || defined(__clang__)
 #pragma GCC diagnostic push
 #pragma GCC diagnostic ignored "-Wmissing-field-initializers"
 #endif
@@ -296,7 +297,7 @@
 	{ "checksum", &set_mmp.mmp_checksum, NULL, 4, parse_uint },
 	{ 0, 0, 0, 0 }
 };
-#if __GNUC_PREREQ (4, 6)
+#if defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4)
 #pragma GCC diagnostic pop
 #endif