Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.140
 
1.141
 
MAIN:ragge:20050629175946
 
reader.c
_>773773                 gencode(p->n_right, INTAREG|INTBREG);
 774774                 if ((p->n_su & RMASK) == ROREG)
 775775                         canon(p);
<>776 -                else if (xnewreg && (p->n_su & RMASK) == RREG &&
 777 -                    (q->rewrite & RRIGHT) && p->n_right->n_rall != p->n_rall) {
 778 -                        rmove(p->n_right->n_rall, p->n_rall, p->n_type);
 779 -                        p->n_right->n_rall = p->n_rall;
 780 -                        p->n_right->n_rval = p->n_rall;
  776+                else if (xnewreg && (p->n_su & RMASK) == RREG) {
  777+                        if (q->needs & NSPECIAL) {
  778+                                int left, right, res, mask;
  779+
  780+                                nspecial(q, &left, &right, &res, &mask);
  781+                                if (right && ffs(right)-1 != p->n_right->n_rall) {
  782+                                        rmove(p->n_right->n_rall,
  783+                                            ffs(right)-1, p->n_type);
  784+                                        p->n_right->n_rall = ffs(right)-1;
  785+                                        p->n_right->n_rval = ffs(right)-1;
  786+                                }
  787+                        } else if ((q->rewrite & RRIGHT) &&
  788+                            p->n_right->n_rall != p->n_rall) {
  789+                                rmove(p->n_right->n_rall, p->n_rall, p->n_type);
  790+                                p->n_right->n_rall = p->n_rall;
  791+                                p->n_right->n_rval = p->n_rall;
  792+                        }
781793                 }
 782794         }
 783795         if (p->n_su & LMASK) {
     
 !
807819                 gencode(p->n_right, INTAREG|INTBREG);
 808820                 if ((p->n_su & RMASK) == ROREG)
 809821                         canon(p);
<>810 -                else if (xnewreg && (p->n_su & RMASK) == RREG &&
 811 -                    (q->rewrite & RRIGHT) && p->n_right->n_rall != p->n_rall) {
 812 -                        rmove(p->n_right->n_rall, p->n_rall, p->n_type);
 813 -                        p->n_right->n_rall = p->n_rall;
 814 -                        p->n_right->n_rval = p->n_rall;
  822+                else if (xnewreg && (p->n_su & RMASK) == RREG) {
  823+                        if (q->needs & NSPECIAL) {
  824+                                int left, right, res, mask;
  825+
  826+                                nspecial(q, &left, &right, &res, &mask);
  827+                                if (right && ffs(right)-1 != p->n_right->n_rall) {
  828+                                        rmove(p->n_right->n_rall,
  829+                                            ffs(right)-1, p->n_type);
  830+                                        p->n_right->n_rall = ffs(right)-1;
  831+                                        p->n_right->n_rval = ffs(right)-1;
  832+                                }
  833+                        } else if ((q->rewrite & RRIGHT) &&
  834+                            p->n_right->n_rall != p->n_rall) {
  835+                                rmove(p->n_right->n_rall, p->n_rall, p->n_type);
  836+                                p->n_right->n_rall = p->n_rall;
  837+                                p->n_right->n_rval = p->n_rall;
  838+                        }
<_815839                 }
 816840         }
 817841         expand(p, cookie, q->cstring);
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-21 20:03 +0200