merge revision(s) 61478: [Backport #14234]

prelude.c.tmpl: get rid of errors with old gcc

	* template/prelude.c.tmpl: moved diagnostic pragmas outside
	  prelude_eval() for very old gcc.  [ruby-core:84449] [Bug #14234]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@61496 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2017-12-27 10:25:32 +00:00
parent 37af4b6da5
commit 09088d03ac
2 changed files with 9 additions and 9 deletions

View file

@ -139,13 +139,13 @@ prelude_prefix_path(VALUE self)
% unless preludes.empty?
#define PRELUDE_STR(n) rb_usascii_str_new_static(prelude_##n.L0, sizeof(prelude_##n))
static void
prelude_eval(VALUE code, VALUE name, int line)
{
#ifdef __GNUC__
# pragma GCC diagnostic push
# pragma GCC diagnostic error "-Wmissing-field-initializers"
#endif
static void
prelude_eval(VALUE code, VALUE name, int line)
{
static const rb_compile_option_t optimization = {
TRUE, /* int inline_const_cache; */
TRUE, /* int peephole_optimization; */
@ -159,9 +159,6 @@ prelude_eval(VALUE code, VALUE name, int line)
FALSE, /* unsigned int coverage_enabled; */
0, /* int debug_level; */
};
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
rb_ast_t *ast = rb_parser_compile_string_path(rb_parser_new(), name, code, line);
if (!ast->root) {
@ -172,6 +169,9 @@ prelude_eval(VALUE code, VALUE name, int line)
NULL, ISEQ_TYPE_TOP, &optimization));
rb_ast_dispose(ast);
}
#ifdef __GNUC__
# pragma GCC diagnostic pop
#endif
% end
% if @have_sublib

View file

@ -1,10 +1,10 @@
#define RUBY_VERSION "2.5.0"
#define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR
#define RUBY_PATCHLEVEL 0
#define RUBY_RELEASE_DATE "2017-12-27"
#define RUBY_PATCHLEVEL 1
#define RUBY_RELEASE_YEAR 2017
#define RUBY_RELEASE_MONTH 12
#define RUBY_RELEASE_DAY 25
#define RUBY_RELEASE_DAY 27
#include "ruby/version.h"