1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

iseq.h: rename member

* iseq.h (rb_compile_option_struct): rename the member
  frozen_string_literal_debug as debug_frozen_string_literal.
  [Feature #11725]

* ruby.c (proc_options): do not set $DEBUG and $VERBOSE only if no
  arguments is given.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52749 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-11-25 08:02:29 +00:00
parent 9b7d4d4709
commit 012368007f
5 changed files with 17 additions and 13 deletions

View file

@ -5309,7 +5309,7 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
else {
if (iseq->compile_data->option->frozen_string_literal) {
VALUE debug_info = Qnil;
if (iseq->compile_data->option->frozen_string_literal_debug || RTEST(ruby_debug)) {
if (iseq->compile_data->option->debug_frozen_string_literal || RTEST(ruby_debug)) {
debug_info = rb_ary_new_from_args(2, iseq->body->location.path, INT2FIX(line));
iseq_add_mark_object_compile_time(iseq, rb_obj_freeze(debug_info));
}

6
iseq.c
View file

@ -349,7 +349,7 @@ static rb_compile_option_t COMPILE_OPTION_DEFAULT = {
OPT_STACK_CACHING, /* int stack_caching; */
OPT_TRACE_INSTRUCTION, /* int trace_instruction */
OPT_FROZEN_STRING_LITERAL,
OPT_FROZEN_STRING_LITERAL_DEBUG
OPT_DEBUG_FROZEN_STRING_LITERAL,
};
static const rb_compile_option_t COMPILE_OPTION_FALSE = {0};
@ -375,7 +375,7 @@ set_compile_option_from_hash(rb_compile_option_t *option, VALUE opt)
SET_COMPILE_OPTION(option, opt, stack_caching);
SET_COMPILE_OPTION(option, opt, trace_instruction);
SET_COMPILE_OPTION(option, opt, frozen_string_literal);
SET_COMPILE_OPTION(option, opt, frozen_string_literal_debug);
SET_COMPILE_OPTION(option, opt, debug_frozen_string_literal);
SET_COMPILE_OPTION_NUM(option, opt, debug_level);
#undef SET_COMPILE_OPTION
#undef SET_COMPILE_OPTION_NUM
@ -429,7 +429,7 @@ make_compile_option_value(rb_compile_option_t *option)
SET_COMPILE_OPTION(option, opt, stack_caching);
SET_COMPILE_OPTION(option, opt, trace_instruction);
SET_COMPILE_OPTION(option, opt, frozen_string_literal);
SET_COMPILE_OPTION(option, opt, frozen_string_literal_debug);
SET_COMPILE_OPTION(option, opt, debug_frozen_string_literal);
SET_COMPILE_OPTION_NUM(option, opt, debug_level);
}
#undef SET_COMPILE_OPTION

2
iseq.h
View file

@ -67,7 +67,7 @@ struct rb_compile_option_struct {
int stack_caching;
int trace_instruction;
int frozen_string_literal;
int frozen_string_literal_debug;
int debug_frozen_string_literal;
int debug_level;
};

18
ruby.c
View file

@ -69,10 +69,12 @@ enum feature_flag_bits {
feature_did_you_mean,
feature_rubyopt,
feature_frozen_string_literal,
feature_frozen_string_literal_debug,
feature_debug_frozen_string_literal,
feature_flag_count
};
#define DEBUG_BIT(bit) (1U << feature_debug_##bit)
#define DUMP_BIT(bit) (1U << dump_##bit)
enum dump_flag_bits {
dump_version,
@ -118,7 +120,7 @@ enum {
COMPILATION_FEATURES = (
0
| FEATURE_BIT(frozen_string_literal)
| FEATURE_BIT(frozen_string_literal_debug)
| FEATURE_BIT(debug_frozen_string_literal)
),
DEFAULT_FEATURES = (
~0U
@ -126,7 +128,7 @@ enum {
& ~FEATURE_BIT(gems)
#endif
& ~FEATURE_BIT(frozen_string_literal)
& ~FEATURE_BIT(frozen_string_literal_debug)
& ~FEATURE_BIT(debug_frozen_string_literal)
)
};
@ -780,7 +782,7 @@ static void
debug_option(const char *str, int len, void *arg)
{
#define SET_WHEN_DEBUG(t, bit) SET_WHEN(#bit, t##_BIT(bit), str, len)
SET_WHEN_DEBUG(FEATURE, frozen_string_literal_debug);
SET_WHEN_DEBUG(DEBUG, frozen_string_literal);
rb_warn("unknown argument for --debug: `%.*s'", len, str);
}
@ -1113,8 +1115,10 @@ proc_options(long argc, char **argv, struct cmdline_options *opt, int envopt)
if (s && *s) {
ruby_each_words(s, debug_option, &opt->features);
}
ruby_debug = Qtrue;
ruby_verbose = Qtrue;
else {
ruby_debug = Qtrue;
ruby_verbose = Qtrue;
}
}
else if (is_option_with_arg("enable", Qtrue, Qtrue)) {
ruby_each_words(s, enable_option, &opt->features);
@ -1501,7 +1505,7 @@ process_options(int argc, char **argv, struct cmdline_options *opt)
rb_hash_aset((h), ID2SYM(rb_intern_const(#name)), \
((o)->features & FEATURE_BIT(name) ? Qtrue : Qfalse));
SET_COMPILE_OPTION(option, opt, frozen_string_literal);
SET_COMPILE_OPTION(option, opt, frozen_string_literal_debug);
SET_COMPILE_OPTION(option, opt, debug_frozen_string_literal);
rb_funcallv(rb_cISeq, rb_intern_const("compile_option="), 1, &option);
#undef SET_COMPILE_OPTION
}

View file

@ -24,7 +24,7 @@
#define OPT_SPECIALISED_INSTRUCTION 1
#define OPT_INLINE_CONST_CACHE 1
#define OPT_FROZEN_STRING_LITERAL 0
#define OPT_FROZEN_STRING_LITERAL_DEBUG 0
#define OPT_DEBUG_FROZEN_STRING_LITERAL 0
/* Build Options.
* You can't change these options at runtime.