[Yarv-devel] evalc.patch

Kashia Buch kashia at vfemail.net
Mon Oct 10 08:21:08 EDT 2005


Hi,

this happened after applying the evalc.patch to current ruby CVS HEAD  
"2005-10-09":

jo:~/build/ruby john$ patch -p0 < evalc.patch
patching file eval.c
Hunk #2 succeeded at 905 with fuzz 2 (offset -61 lines).
Hunk #3 succeeded at 921 (offset -61 lines).
Hunk #4 succeeded at 956 (offset -60 lines).
Hunk #5 succeeded at 4557 with fuzz 2 (offset -167 lines).
Hunk #6 succeeded at 4946 with fuzz 2 (offset -174 lines).
Hunk #7 succeeded at 4961 (offset -180 lines).
Hunk #8 succeeded at 5175 (offset -191 lines).
Hunk #9 succeeded at 5651 with fuzz 1 (offset -238 lines).
Hunk #10 succeeded at 5743 (offset -236 lines).
Hunk #11 succeeded at 6007 with fuzz 2 (offset -224 lines).
Hunk #12 succeeded at 6026 (offset -224 lines).
Hunk #13 succeeded at 6036 (offset -225 lines).
Hunk #14 succeeded at 6600 (offset -254 lines).
Hunk #15 succeeded at 7713 (offset -324 lines).

jo:~/build/ruby john$ make

...

gcc -g -O2  -fno-common -pipe -fno-common   -I. -I.  -c eval.c
eval.c: In function `rb_call0':
eval.c:5659: error: `nosuper' undeclared (first use in this function)
eval.c:5659: error: (Each undeclared identifier is reported only once
eval.c:5659: error: for each function it appears in.)
eval.c:5659: warning: passing arg 6 of pointer to function discards  
qualifiers from pointer target type
make: *** [eval.o] Error 1

the lines in which the error occures:

if(IS_YARV_WORKING()){
     if(nd_type(body) == NODE_SCOPE){
       rb_warning("Ruby method is invoked under YARV environment");
     }
     else{
       return YARV_CALL0(klass, recv, id, oid, argc, argv, body, nosuper);
     }
   }

nosuper isn't defined in that function, I just added a "int nosuper = 0"  
before that call, it compiled flawlessly, but I somehow doubt that this is  
really correct.


Kash
-- 
Feel the love
http://pinkjuice.com/pics/ruby.png


More information about the Yarv-devel mailing list