From 71eddb1dea82226a31540de2982ddfc0288cbbf4 Mon Sep 17 00:00:00 2001 From: nobu Date: Wed, 30 Jan 2013 04:22:12 +0000 Subject: [PATCH] parse.y: warn assigned but unused in toplevel * parse.y (local_push_gen): warn assigned but unused variables also in toplevel, except for -e option. [Feature #7730] [ruby-core:51580] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ parse.y | 3 ++- test/ruby/test_rubyoptions.rb | 2 ++ 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 19c75d83aa..12ea3bb135 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Jan 30 13:22:05 2013 Nobuyoshi Nakada + + * parse.y (local_push_gen): warn assigned but unused variables also in + toplevel, except for -e option. [Feature #7730] [ruby-core:51580] + Wed Jan 30 13:17:53 2013 Nobuyoshi Nakada * cont.c (cont_restore_thread): svar should be separate per fibers. diff --git a/parse.y b/parse.y index cb42db7497..d950199f0b 100644 --- a/parse.y +++ b/parse.y @@ -9432,7 +9432,8 @@ local_push_gen(struct parser_params *parser, int inherit_dvars) local->prev = lvtbl; local->args = vtable_alloc(0); local->vars = vtable_alloc(inherit_dvars ? DVARS_INHERIT : DVARS_TOPSCOPE); - local->used = !inherit_dvars && RTEST(ruby_verbose) ? vtable_alloc(0) : 0; + local->used = !(inherit_dvars && ifndef_ripper(e_option_supplied(parser))+0) && + RTEST(ruby_verbose) ? vtable_alloc(0) : 0; lvtbl = local; } diff --git a/test/ruby/test_rubyoptions.rb b/test/ruby/test_rubyoptions.rb index 950fdd6922..c12ddb9f2e 100644 --- a/test/ruby/test_rubyoptions.rb +++ b/test/ruby/test_rubyoptions.rb @@ -551,6 +551,8 @@ class TestRubyOptions < Test::Unit::TestCase assert_in_out_err(["-we", "def foo\n _a=1\nend"], "", [], [], feature6693) bug7408 = '[ruby-core:49659]' assert_in_out_err(["-we", "def foo\n a=1\n :a\nend"], "", [], ["-e:2: warning: assigned but unused variable - a"], bug7408) + feature7730 = '[ruby-core:51580]' + assert_in_out_err(["-w", "-"], "a=1", [], ["-:1: warning: assigned but unused variable - a"], feature7730) end def test_shadowing_variable