aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-18 05:34:34 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-12-18 05:34:34 +0000
commit9c00c1234d39eef8d42c63aa95353def7ee6a1da (patch)
treefc93f79ec07ffc413b247b756b69454664e7c9df
parentcf2bbc89d26ef29ab33b3a11a71c30ffba35fe2f (diff)
downloadruby-9c00c1234d39eef8d42c63aa95353def7ee6a1da.tar.gz
* ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow
allocation framework right now. [ruby-core:41710] [Bug #5773] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34070 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--ext/bigdecimal/bigdecimal.c4
-rw-r--r--test/bigdecimal/test_bigdecimal.rb4
3 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 566e03f023..01be941bba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun Dec 18 14:34:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/bigdecimal/bigdecimal.c (Init_bigdecimal): does not follow
+ allocation framework right now. [ruby-core:41710] [Bug #5773]
+
Sun Dec 18 12:42:48 2011 Aaron Patterson <aaron@tenderlovemaking.com>
* ext/psych/lib/psych/visitors/to_ruby.rb: BigDecimals can be restored
diff --git a/ext/bigdecimal/bigdecimal.c b/ext/bigdecimal/bigdecimal.c
index 8b5b68e8ea..ce1feeb090 100644
--- a/ext/bigdecimal/bigdecimal.c
+++ b/ext/bigdecimal/bigdecimal.c
@@ -2830,12 +2830,16 @@ Init_bigdecimal(void)
/* Class and method registration */
rb_cBigDecimal = rb_define_class("BigDecimal",rb_cNumeric);
+ rb_undef_alloc_func(rb_cBigDecimal); /* TODO: define alloc func */
/* Global function */
rb_define_global_function("BigDecimal", BigDecimal_global_new, -1);
/* Class methods */
+#if 1
+ /* TODO: follow allocation framework */
rb_define_singleton_method(rb_cBigDecimal, "new", BigDecimal_new, -1);
+#endif
rb_define_singleton_method(rb_cBigDecimal, "mode", BigDecimal_mode, -1);
rb_define_singleton_method(rb_cBigDecimal, "limit", BigDecimal_limit, -1);
rb_define_singleton_method(rb_cBigDecimal, "double_fig", BigDecimal_double_fig, 0);
diff --git a/test/bigdecimal/test_bigdecimal.rb b/test/bigdecimal/test_bigdecimal.rb
index a9524bb2ae..e855d5617d 100644
--- a/test/bigdecimal/test_bigdecimal.rb
+++ b/test/bigdecimal/test_bigdecimal.rb
@@ -19,6 +19,10 @@ class TestBigDecimal < Test::Unit::TestCase
[ BigDecimal::ROUND_FLOOR, :floor],
]
+ def assert_allocate
+ assert_raise(TypeError) {BigDecimal.allocate}
+ end
+
def assert_nan(x)
assert(x.nan?, "Expected #{x.inspect} to be NaN")
end