ruby-changes:23019
From: nobu <ko1@a...>
Date: Fri, 16 Mar 2012 17:42:28 +0900 (JST)
Subject: [ruby-changes:23019] nobu:r35068 (trunk): fix unreachable warning line number
nobu 2012-03-16 17:42:16 +0900 (Fri, 16 Mar 2012) New Revision: 35068 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=35068 Log: fix unreachable warning line number * parse.y (block_append_gen): fix unreachable warning line number. should warn at the code, not jump. Modified files: trunk/ChangeLog trunk/parse.y trunk/test/ruby/test_syntax.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 35067) +++ ChangeLog (revision 35068) @@ -1,3 +1,8 @@ +Fri Mar 16 17:42:05 2012 Nobuyoshi Nakada <nobu@r...> + + * parse.y (block_append_gen): fix unreachable warning line number. + should warn at the code, not jump. + Fri Mar 16 17:33:08 2012 Nobuyoshi Nakada <nobu@r...> * enum.c (enum_take): allocate buffer array before iteration, as well Index: parse.y =================================================================== --- parse.y (revision 35067) +++ parse.y (revision 35068) @@ -8155,7 +8155,7 @@ case NODE_REDO: case NODE_RETRY: if (RTEST(ruby_verbose)) { - parser_warning(nd, "statement not reached"); + parser_warning(tail, "statement not reached"); } break; Index: test/ruby/test_syntax.rb =================================================================== --- test/ruby/test_syntax.rb (revision 35067) +++ test/ruby/test_syntax.rb (revision 35068) @@ -96,6 +96,13 @@ end end + def test_warn_unreachable + assert_warn("test:3: warning: statement not reached\n") do + code = "loop do\n" "break\n" "foo\n" "end" + assert_valid_syntax(code, "test") {$VERBOSE = true} + end + end + private def make_tmpsrc(f, src) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/