1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

intern.h: rb_f_notimplement for ext on Windows

* include/ruby/intern.h (rb_f_notimplement): should not respond to
  not-implemented methods.  as the address inside a DLL and the
  imported address are different on Windows, use an exported
  variable to share the same address.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50527 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2015-05-18 06:31:42 +00:00
parent 15b9748934
commit c4d216793b
4 changed files with 17 additions and 0 deletions

View file

@ -1,3 +1,10 @@
Mon May 18 15:31:31 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* include/ruby/intern.h (rb_f_notimplement): should not respond to
not-implemented methods. as the address inside a DLL and the
imported address are different on Windows, use an exported
variable to share the same address.
Mon May 18 13:55:01 2015 Shugo Maeda <shugo@ruby-lang.org>
* lib/monitor.rb (mon_try_enter, mon_enter): should reset @mon_count

View file

@ -401,6 +401,10 @@ VALUE rb_eval_cmd(VALUE, VALUE, int);
int rb_obj_respond_to(VALUE, ID, int);
int rb_respond_to(VALUE, ID);
VALUE rb_f_notimplement(int argc, const VALUE *argv, VALUE obj);
#if !defined(RUBY_EXPORT) && defined(_WIN32)
RUBY_EXTERN VALUE (*const rb_f_notimplement_)(int, const VALUE *, VALUE);
#define rb_f_notimplement (*rb_f_notimplement_)
#endif
void rb_interrupt(void);
VALUE rb_apply(VALUE, ID, VALUE);
void rb_backtrace(void);

View file

@ -7,4 +7,8 @@ class TestNotImplement < Test::Unit::TestCase
Bug.funcall(:notimplement)
}
end
def test_respond_to
assert_not_respond_to(Bug, :notimplement)
end
end

View file

@ -7356,6 +7356,8 @@ rb_w32_pow(double x, double y)
}
#endif
VALUE (*const rb_f_notimplement_)(int, const VALUE *, VALUE) = rb_f_notimplement;
#if RUBY_MSVCRT_VERSION < 120
#include "missing/nextafter.c"
#endif