зеркало из https://github.com/github/ruby.git
Ensure that unmatched arity fails in C++
This commit is contained in:
Родитель
b3ddeac33e
Коммит
a3daf8e49a
|
@ -22,5 +22,18 @@ begin
|
|||
end
|
||||
|
||||
if ok
|
||||
create_makefile("-test-/cxxanyargs")
|
||||
$srcs = %w[cxxanyargs.cpp]
|
||||
$cleanfiles << "failure.failed"
|
||||
create_makefile("-test-/cxxanyargs") do |mk|
|
||||
mk << <<MK
|
||||
|
||||
cxxanyargs.#$OBJEXT: failure.failed
|
||||
|
||||
failure.failed: failure.cpp
|
||||
\t$(Q)$(RUBY) -rfileutils \\
|
||||
\t -e "err = IO.popen(%[$(MAKE) failure.#$OBJEXT], err:[:child, :out], &:read)" \\
|
||||
\t -e "abort err unless /rb_define_method/ =~ err" \\
|
||||
\t -e "FileUtils.touch(*ARGV)" $@
|
||||
MK
|
||||
end
|
||||
end
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
#include <ruby/ruby.h>
|
||||
|
||||
static VALUE
|
||||
func_arg1(VALUE self, VALUE arg1)
|
||||
{
|
||||
return arg1;
|
||||
}
|
||||
|
||||
extern "C" void
|
||||
Init_failure(void)
|
||||
{
|
||||
rb_define_method(rb_cObject, "arg1", func_arg1, 0);
|
||||
}
|
Загрузка…
Ссылка в новой задаче