Project

General

Profile

« Previous | Next » 

Revision 18b6b672

Added by naruse (Yui NARUSE) about 6 years ago

merge revision(s) 62116,62151: [Backport #14425]

    ruby.h: relax rb_funcall check on extra args for clang

    clang 5.+ (tested clang 7.0.0) seems to be attempting division-by-zero
    and giving a very large number for static args to rb_funcall.

    * include/ruby/ruby.h (rb_varargs_bad_length): relax check for clang
    * ext/-test-/funcall/funcall.c: renamed from passing_block.c
      define extra_args_name function
    * test/-ext-/funcall/test_funcall.rb: new test
      [ruby-core:85266] [Bug #14425]

    From: Eric Wong <e@80x24.org>

    ruby.h: relax rb_funcall(obj, id, 0, 0) case only

    * include/ruby/ruby.h (rb_varargs_argc_valid_p): relax rb_funcall
      check on extra args only if argc == 0, for the compatibility
      with wrong code which is probably confused with rb_funcallv.
      [Bug #14425]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@62501 b2dd03c8-39d4-4d8f-98ff-823fe69b080e