From 0ec2b20d2f1339ab1e4d41567f9b37d733802968 Mon Sep 17 00:00:00 2001 From: ko1 Date: Sat, 7 Jul 2007 07:16:05 +0000 Subject: * parse.y: fix node construction (around f_margs). [ruby-dev:31143] * bootstraptest/test_block.rb: add a test for above. * insnhelper.ci: fix indent. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12720 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- bootstraptest/test_block.rb | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'bootstraptest/test_block.rb') diff --git a/bootstraptest/test_block.rb b/bootstraptest/test_block.rb index 21d13439ad..cdfd3e4407 100644 --- a/bootstraptest/test_block.rb +++ b/bootstraptest/test_block.rb @@ -336,6 +336,36 @@ assert_equal %q{[1, nil]}, %q{ } } +# block parameter (shouldn't SEGV: [ruby-dev:31143]) +assert_equal '0', %q{ +def m() +end +m {|(v0,*,(*)),|} +m {|(*v0,(*)),|} +m {|(v0,*v1,(*)),|} +m {|((v0,*v1,v2)),|} +m {|(v0,*v1,v2),|} +m {|(v0,*v1,(v2)),|} +m {|((*),*v0,v1),|} +m {|((v0),*v1,v2),|} +m {|(v0,v1,*v2,v3),|} +m {|v0,(v1,*v2,v3),|} +m {|(v0,*v1,v2),v3,|} +m {|(v0,*v1,v2)|} +m {|(v0,*v1,v2),&v3|} +m {|(v0,*v1,v2),*|} +m {|(v0,*v1,v2),*,&v3|} +m {|*,(v0,*v1,v2)|} +m {|*,(v0,*v1,v2),&v3|} +m {|v0,*,(v1,*v2,v3)|} +m {|v0,*,(v1,*v2,v3),&v4|} +m {|(v0,*v1,v2),*,v3|} +m {|(v0,*v1,v2),*,v3,&v4|} +m {|(v0, *v1, v2)|} +m {|(*,v)|} +0 +} + # [ruby-dev:31147] assert_equal 'nil', %q{ def m @@ -343,3 +373,4 @@ assert_equal 'nil', %q{ end m{|&b| b}.inspect } + -- cgit v1.2.3