Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.36
 
1.37
 
MAIN:ragge:20060204174346
 
local.c
_>8787                         }
 8888                 break;
 8989 
<>90 -        case FUNARG:
 91 -                /* Args smaller than int are given as int */
 92 -                if (p->n_type != CHAR && p->n_type != UCHAR &&
 93 -                    p->n_type != SHORT && p->n_type != USHORT)
 94 -                        break;
 95 -                p->n_left = block(SCONV, p->n_left, NIL, INT, 0, MKSUE(INT));
 96 -                p->n_type = INT;
 97 -                p->n_sue = MKSUE(INT);
 98 -                p->n_rval = SZINT;
  90+        case CALL:
  91+                /* Fix function call arguments. On x86, just add funarg */
  92+                for (r = p->n_right; r->n_op == CM; r = r->n_left) {
  93+                        if (r->n_right->n_op != STARG)
  94+                                r->n_right = block(FUNARG, r->n_right, NIL,
  95+                                    r->n_right->n_type, r->n_right->n_df,
  96+                                    r->n_right->n_sue);
  97+                }
  98+                if (r->n_op != STARG) {
  99+                        l = talloc();
  100+                        *l = *r;
  101+                        r->n_op = FUNARG; r->n_left = l; r->n_type = l->n_type;
  102+                }
99103                 break;
<>100 -
  104+                
101105         case CBRANCH:
 102106                 l = p->n_left;
 103107 
     
 !
118122                                 l->n_type = t;
 119123                                 l->n_right->n_type = t;
 120124                         }
<>121 -#if 0
 122 -                          else if (l->n_right->n_op == SCONV &&
 123 -                            l->n_left->n_type == l->n_right->n_type) {
 124 -                                r = l->n_left->n_left;
 125 -                                nfree(l->n_left);
 126 -                                l->n_left = r;
 127 -                                r = l->n_right->n_left;
 128 -                                nfree(l->n_right);
 129 -                                l->n_right = r;
 130 -                        }
 131 -#endif
<_132125                 }
 133126                 break;
 134127 
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-10-31 07:18 +0100