Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.34
 
1.35
 
MAIN:ragge:20120925191750
 
local2.c
_>456456 
 457457 
 458458 void
 459459 zzzcode(NODE *p, int c)
 460460 {
 461461         NODE *l, *r;
<> 462+        TWORD t;
462463         int m;
 463464         char *ch;
 464465 
 465466         switch (c) {
 466467         case 'N'/* logical ops, turned into 0-1 */
 467468                 /* use register given by register 1 */
     
 !
570571 
 571572         case 'Z':       /* complement mask for bit instr */
 572573                 printf("$%Ld", ~p->n_right->n_lval);
 573574                 return;
 574575 
 575576         case 'U':       /* 32 - n, for unsigned right shifts */
<>576 -                m = p->n_left->n_type == UCHAR ? 8 :
 577 -                    p->n_left->n_type == USHORT ? 16 : 32;
  577+                t = DEUNSIGN(p->n_left->n_type);
  578+                m = t == CHAR ? 8 : t == SHORT ? 16 : 32;
578579                 printf("$" CONFMT, m - p->n_right->n_lval);
 579580                 return;
 580581 
 581582         case 'T':       /* rounded structure length for arguments */
 582583                 {
 583584                 int size;
     
 !
11921193                             mkunode(FUNARG, p->n_left, 0, p->n_left->n_type),
 11931194                             mkunode(FUNARG, p->n_right, 0, p->n_right->n_type),
 11941195                             INT);
 11951196                         p->n_left = mklnode(ICON, 0, 0, FTN|p->n_type);
 11961197                         p->n_left->n_name = "__lshrdi3";
 11971198                         p->n_op = CALL;
<>1198 -                } else if (p->n_type == INT) {
  1199+                } else if (p->n_type == INT || p->n_type == LONGLONG) {
<_11991200                         /* convert >> to << with negative shift count */
 12001201                         /* RS of char & short must use extv */
 12011202                         if (p->n_right->n_op == ICON) {
 12021203                                 p->n_right->n_lval = -p->n_right->n_lval;
 12031204                         } else if (p->n_right->n_op == UMINUS) {
 12041205                                 r = p->n_right->n_left;
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-11-01 04:22 +0100