Actions
Bug #12900
closedTestSyntax#test_block_after_cmdarg_in_paren fails on PPC64
Bug #12900:
TestSyntax#test_block_after_cmdarg_in_paren fails on PPC64
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby -v: ruby 2.4.0dev (2016-11-04 trunk 56558) [powerpc64-linux]
Description
Trying to build r56558 on Fedora Rawhide, the build fails on PPC64 with following message:
1) Failure:
TestSyntax#test_block_after_cmdarg_in_paren [/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:897]:
[ruby-core:72482] [Bug #11873].
[LocalJumpError] exception expected, not.
Class: <SyntaxError>
Message: <"should not be passed to tap">
---Backtrace---
/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:900:in `block (3 levels) in test_block_after_cmdarg_in_paren'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:899:in `tap'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:899:in `block (2 levels) in test_block_after_cmdarg_in_paren'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:898:in `instance_eval'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:898:in `block in test_block_after_cmdarg_in_paren'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/lib/test/unit/assertions.rb:74:in `assert_raise'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/ruby/test_syntax.rb:897:in `test_block_after_cmdarg_in_paren'
/builddir/build/BUILD/ruby-2.4.0-r56558/test/lib/test/unit.rb:1029:in `run_test'
---------------
This works just fine on x86_64.
Updated by vo.x (Vit Ondruch) almost 10 years ago
- Related to Bug #11873: Syntax error and parse problem when calling a method without parentheses added
Updated by vo.x (Vit Ondruch) almost 10 years ago
It actually passes on PPC64LE. Isn't it something related to different endianness of PPC64?
Updated by ngoto (Naohisa Goto) almost 10 years ago
The same error is observed on sparc64-solaris2.10, running on 64-bit big-endian CPU.
Updated by nobu (Nobuyoshi Nakada) almost 10 years ago
- Status changed from Open to Closed
Applied in changeset r56574.
parse.y: fix restored cmdarg_stack
- parse.y (brace_body, do_body): since cmdarg_stack is saved in
VALUE val, should restore from the same member. on big-endian
platforms where VALUE is larger than int, it restored 0 in the
upper word. [ruby-core:77920] [Bug #12900]
Actions