--- template/prelude.c.tmpl.orig 2017-12-25 02:42:13.000000000 +0000 +++ template/prelude.c.tmpl 2017-12-26 13:03:26.155026277 +0000 @@ -142,7 +142,7 @@ prelude_prefix_path(VALUE self) static void prelude_eval(VALUE code, VALUE name, int line) { -#ifdef __GNUC__ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)) # pragma GCC diagnostic push # pragma GCC diagnostic error "-Wmissing-field-initializers" #endif @@ -159,7 +159,7 @@ prelude_eval(VALUE code, VALUE name, int FALSE, /* unsigned int coverage_enabled; */ 0, /* int debug_level; */ }; -#ifdef __GNUC__ +#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ > 4)) # pragma GCC diagnostic pop #endif