ruby-changes:2473
From: ko1@a...
Date: 19 Nov 2007 02:44:22 +0900
Subject: [ruby-changes:2473] nobu - Ruby:r13964 (trunk): * compile.c (iseq_compile_each): alias and undef accept dsyms as well
nobu 2007-11-19 02:44:09 +0900 (Mon, 19 Nov 2007) New Revision: 13964 Modified files: trunk/ChangeLog trunk/compile.c Log: * compile.c (iseq_compile_each): alias and undef accept dsyms as well as literals. [ruby-dev:32308] http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/compile.c?r1=13964&r2=13963 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13964&r2=13963 Index: ChangeLog =================================================================== --- ChangeLog (revision 13963) +++ ChangeLog (revision 13964) @@ -1,3 +1,8 @@ +Mon Nov 19 02:44:07 2007 Nobuyoshi Nakada <nobu@r...> + + * compile.c (iseq_compile_each): alias and undef accept dsyms as well + as literals. [ruby-dev:32308] + Mon Nov 19 02:31:36 2007 Nobuyoshi Nakada <nobu@r...> * eval_method.ci (rb_add_method): no redefinition warning for undef. Index: compile.c =================================================================== --- compile.c (revision 13963) +++ compile.c (revision 13964) @@ -4067,10 +4067,11 @@ } case NODE_ALIAS:{ VALUE s1, s2; + enum node_type t; - if (nd_type(node->u1.node) != NODE_LIT || - nd_type(node->u2.node) != NODE_LIT) { - rb_bug("alias args must be NODE_LIT"); + if (((t = nd_type(node->u1.node)) != NODE_LIT && t != NODE_DSYM) || + ((t = nd_type(node->u2.node)) != NODE_LIT && t != NODE_DSYM)) { + rb_compile_bug(ERROR_ARGS "alias args must be NODE_LIT or NODE_DSYM"); } s1 = node->u1.node->nd_lit; s2 = node->u2.node->nd_lit; @@ -4091,8 +4092,9 @@ break; } case NODE_UNDEF:{ - if (nd_type(node->u2.node) != NODE_LIT) { - rb_bug("undef args must be NODE_LIT"); + enum node_type t = nd_type(node->u2.node); + if (t != NODE_LIT && t != NODE_DSYM) { + rb_compile_bug(ERROR_ARGS "undef args must be NODE_LIT"); } ADD_INSN1(ret, nd_line(node), undef, ID2SYM(rb_to_id(node->u2.node->nd_lit))); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml