summaryrefslogtreecommitdiff
path: root/insns.def
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-05 15:01:42 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-05 15:01:42 +0000
commit837c76bd7baee9aaeebd94b4c0719094e1463ff5 (patch)
treebc4f51441208baf18a4f036ebca84313efff4ae8 /insns.def
parent6b1924b176a7a056ba8c703cb2cf2146ab081327 (diff)
* compile.c (iseq_compile_each): should call compile_cpath() for
modules as well. [ruby-dev:34585] * insns.def (defineclass): add undef handling. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'insns.def')
-rw-r--r--insns.def5
1 files changed, 4 insertions, 1 deletions
diff --git a/insns.def b/insns.def
index ba7beec33c..0850fab32f 100644
--- a/insns.def
+++ b/insns.def
@@ -972,8 +972,11 @@ defineclass
case 2:
/* val is dummy. classdef returns class scope value */
/* super is dummy */
- if (cbase == Qnil) {
+ if (cbase == Qundef) {
cbase = vm_get_cbase(th);
+ if (NIL_P(cbase)) {
+ rb_raise(rb_eTypeError, "no class/module to define constant");
+ }
}
vm_check_if_namespace(cbase);