Actions
Bug #12900
closedTestSyntax#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) about 8 years ago
- Related to Bug #11873: Syntax error and parse problem when calling a method without parentheses added
Updated by vo.x (Vit Ondruch) about 8 years ago
It actually passes on PPC64LE. Isn't it something related to different endianness of PPC64?
Updated by ngoto (Naohisa Goto) about 8 years ago
The same error is observed on sparc64-solaris2.10, running on 64-bit big-endian CPU.
Updated by nobu (Nobuyoshi Nakada) about 8 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
Like0
Like0Like0Like0Like0