Hi Chip, Can you please apply this patch for me? This is a fix to the YACC file. As a result you will also have to checkin the imcparser.c and imcparser.h after applying the patch and recompiling the source.
Thanks, Vishal Index: compilers/imcc/imcc.y =================================================================== --- compilers/imcc/imcc.y (revision 13035) +++ compilers/imcc/imcc.y (working copy) @@ -202,7 +202,7 @@ r->type = (r->type & VT_ENCODED) ? VT_PCC_SUB|VT_ENCODED : VT_PCC_SUB; r->pcc_sub = calloc(1, sizeof(struct pcc_sub_t)); cur_call = r; - i->line = line - 1; + i->line = line ; add_namespace(interp, unit); return i; } On 7/3/06, Vishal Soni <[EMAIL PROTECTED]> wrote:
Will, Did we get this one in? -Vishal On 6/30/06, Vishal Soni <[EMAIL PROTECTED]> wrote: > > Hi, > > The .end seems to be replaced by an implicit end. > > -Vishal > > > On 6/29/06, Will Coleda via RT < [EMAIL PROTECTED]> > wrote: > > > > Hey, Vishal: > > > > > [vsoni - Tue Jun 27 05:48:27 2006]: > > > > > > Hi, > > > > > > This was a straight forward fix. The line number was being > > decremented > > > at the start of a 'sub' token imcc.y. > > > > > > > > > Thanks, > > > Vishal > > > > > > Here is a sample run > > > > > > Sample Code: > > > ------------------- > > > .sub main :main > > > print "2\n" > > > print "3\n" > > > print "4\n" > > > .end > > > > > > Output: > > > -------- > > > ./parrot -d 10 ./hello.pir > > > 1 > > > last:5 > > > pcc_sub main nparams 0 > > > > > > Dumping the instructions status: > > > ------------------------------- > > > nins line blck deep flags type opnr size pc X ins > > > 0 1 0 0 0 80000 -1 0 0 main: > > > 1 2 0 0 1 0 413 2 0 print > > "2\n" > > > 2 3 0 0 1 0 413 2 2 print > > "3\n" > > > 3 4 0 0 1 0 413 2 4 print > > "4\n" > > > 4 4 0 0 0 18000 0 1 6 end > > > > Looks like the first line is fixed there (1) and then the guts are > > fixed (2,3,4), but is the > > duplicate line 4 correct? (is that corresponding to the implicit end > > that PIR puts in, or the .end > > of the subroutine? > > > > If you can just validate that, we can apply this. > > > > > > > > Labels > > > name pos last ref > > > ----------------------- > > > > > > > > > Dumping the CFG: > > > ------------------------------- > > > 0 (0) -> <- > > > > > > > > > Dumping the Dominators Tree: > > > ------------------------------- > > > 0 <- ( 0) 0 > > > > > > Loop info > > > --------- > > > > > > > > > > > > Patch > > > -------- > > > > > > Index: compilers/imcc/imcc.y > > > > > ========================================================= > > ========== > > > --- compilers/imcc/imcc.y (revision 13035) > > > +++ compilers/imcc/imcc.y (working copy) > > > @@ -202,7 +202,7 @@ > > > r->type = (r->type & VT_ENCODED) ? VT_PCC_SUB|VT_ENCODED : > > > VT_PCC_SUB; > > > r->pcc_sub = calloc(1, sizeof(struct pcc_sub_t)); > > > cur_call = r; > > > - i->line = line - 1; > > > + i->line = line ; > > > add_namespace(interp, unit); > > > return i; > > > } > > > > > > > > > > > > > > > > > > > > > > -- > Thanks, > > Vishal > -- Thanks, Vishal
-- Thanks, Vishal