Quick Search:

Mode

Context

Displaying 6 lines of context. None | Less | More | Full

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.7
 
1.8
 
MAIN:ragge:20080927073522
 
local2.c
_>528528         }
 529529 
 530530 int
 531531 canaddr( p ) NODE *p; {
 532532         register int o = p->n_op;
 533533 
<>534 -        if( o==NAME || o==REG || o==ICON || o==OREG || (o==UMUL && shumul(p->n_left)) ) return(1);
  534+        if( o==NAME || o==REG || o==ICON || o==OREG || (o==UMUL && shumul(p->n_left, STARNM|SOREG)) ) return(1);
535535         return(0);
 536536         }
 537537 
 538538 shltype( o, p ) register NODE *p; {
<>539 -        return( o== REG || o == NAME || o == ICON || o == OREG || ( o==UMUL && shumul(p->n_left)) );
  539+        return( o== REG || o == NAME || o == ICON || o == OREG || ( o==UMUL && shumul(p->n_left, STARNM|SOREG)) );
540540         }
 541541 #endif
 542542 
 543543 int
 544544 fldexpand(NODE *p, int cookie, char **cp)
 545545 {
     
 !
552552                 (p->n_op == OREG && (!R2TEST(p->n_rval) || tlen(p) == 1)) );
 553553         }
 554554 
 555555 int
 556556 shtemp( p ) register NODE *p; {
 557557         if( p->n_op == STARG ) p = p->n_left;
<>558 -        return( p->n_op==NAME || p->n_op ==ICON || p->n_op == OREG || (p->n_op==UMUL && shumul(p->n_left)) );
  558+        return( p->n_op==NAME || p->n_op ==ICON || p->n_op == OREG || (p->n_op==UMUL && shumul(p->n_left, STARNM|SOREG)) );
559559         }
 560560 
 561561 int
<>562 -shumul( p ) register NODE *p; {
  562+shumul( p, shape ) register NODE *p; int shape; {
563563         register int o;
 564564         extern int xdebug;
 565565 
 566566         if (xdebug) {
 567567                  printf("\nshumul:op=%d,lop=%d,rop=%d", p->n_op, p->n_left->n_op, p->n_right->n_op);
 568568                 printf(" prname=%s,plty=%d, prlval=%lld\n", p->n_right->n_name, p->n_left->n_type, p->n_right->n_lval);
 569569                 }
 570570 
 571571 
 572572         o = p->n_op;
<>573 -        if( o == NAME || (o == OREG && !R2TEST(p->n_rval)) || o == ICON ) return( STARNM );
  573+        if( o == NAME || (o == OREG && !R2TEST(p->n_rval)) || o == ICON )
  574+                if (shape & STARNM)
  575+                        return SRDIR;
574576 
 575577 #ifdef notyet
 576578         if( ( o == INCR || o == ASG MINUS ) &&
 577579             ( p->n_left->n_op == REG && p->n_right->n_op == ICON ) &&
 578580             p->n_right->n_name[0] == '\0' )
 579581                 {
     
 !
609611                                 else return(0);
 610612                         }
 611613                 return( p->n_right->n_lval == o ? STARREG : 0);
 612614                 }
 613615 #endif
 614616 
<>615 -        return( 0 );
  617+        return( SRNOPE );
<_616618         }
 617619 
 618620 void
 619621 adrcon( val ) CONSZ val; {
 620622         printf( "$" );
 621623         printf( CONFMT, val );
FishEye: Open Source License registered to PCC.
Your maintenance has expired. You can renew your license at http://www.atlassian.com/fisheye/renew
Atlassian FishEye, CVS analysis. (Version:1.6.3 Build:build-336 2008-11-04) - Administration - Page generated 2014-08-29 03:11 +0200