Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.21
 
1.22
 
MAIN:ragge:20050302163716
 
optim.c
_>147147                                 o = p->n_op = LS, RV(p) = -RV(p);
 148148                         p->n_left = zapleft(p->n_left);
 149149                 }
<>150 -                if (RV(p) < 0) {
 151 -                        RV(p) = -RV(p);
 152 -                        p->n_op = LS;
 153 -                        goto again;
  150+                if (RO(p) == ICON) {
  151+                        if (RV(p) < 0) {
  152+                                RV(p) = -RV(p);
  153+                                p->n_op = LS;
  154+                                goto again;
  155+                        }
  156+                        if (RV(p) >= tsize(p->n_type, p->n_df, p->n_sue) &&
  157+                            ISUNSIGNED(p->n_type)) { /* ignore signed shifts */
  158+                                /* too many shifts */
  159+                                tfree(p->n_left);
  160+                                nfree(p->n_right);
  161+                                p->n_op = ICON; p->n_lval = 0; p->n_sp = NULL;
  162+                        } else if (RV(p) == 0)
  163+                                p = zapleft(p);
154164                 }
<>155 -                if (RV(p) >= tsize(p->n_type, p->n_df, p->n_sue) &&
 156 -                    ISUNSIGNED(p->n_type)) { /* ignore signed right shifts */
 157 -                        /* too many shifts */
 158 -                        tfree(p->n_left);
 159 -                        nfree(p->n_right);
 160 -                        p->n_op = ICON; p->n_lval = 0; p->n_sp = NULL;
 161 -                } else if (RV(p) == 0)
 162 -                        p = zapleft(p);
163165                 break;
 164166 
 165167         case LS:
     
 !
171173                         RV(p) -= RV(p->n_left);
 172174                         p->n_left = zapleft(p->n_left);
 173175                 }
<>174 -                if (RV(p) < 0) {
 175 -                        RV(p) = -RV(p);
 176 -                        p->n_op = RS;
 177 -                        goto again;
  176+                if (RO(p) == ICON) {
  177+                        if (RV(p) < 0) {
  178+                                RV(p) = -RV(p);
  179+                                p->n_op = RS;
  180+                                goto again;
  181+                        }
  182+                        if (RV(p) >= tsize(p->n_type, p->n_df, p->n_sue)) {
  183+                                /* too many shifts */
  184+                                tfree(p->n_left);
  185+                                nfree(p->n_right);
  186+                                p->n_op = ICON; p->n_lval = 0; p->n_sp = NULL;
  187+                        } else if (RV(p) == 0) 
  188+                                p = zapleft(p);
178189                 }
<>179 -                if (RV(p) >= tsize(p->n_type, p->n_df, p->n_sue)) {
 180 -                        /* too many shifts */
 181 -                        tfree(p->n_left);
 182 -                        nfree(p->n_right);
 183 -                        p->n_op = ICON; p->n_lval = 0; p->n_sp = NULL;
 184 -                } else if (RV(p) == 0
 185 -                        p = zapleft(p);
<_186190                 break;
 187191 
 188192         case MINUS:
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-31 04:17 +0200