Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.237
 
1.238
 
MAIN:gmcgarry:20090813080125
 
trees.c
_>8181 static struct symtab *findmember(struct symtab *, char *);
 8282 int inftn; /* currently between epilog/prolog */
 8383 
<> 84+static char *tnames[] = {
  85+        "undef",
  86+        "farg",
  87+        "char",
  88+        "unsigned char",
  89+        "short",
  90+        "unsigned short",
  91+        "int",
  92+        "unsigned int",
  93+        "long",
  94+        "unsigned long",
  95+        "long long",
  96+        "unsigned long long",
  97+        "float",
  98+        "double",
  99+        "long double",
  100+        "strty",
  101+        "unionty",
  102+        "enumty",
  103+        "moety",
  104+        "void",
  105+        "signed", /* pass1 */
  106+        "bool", /* pass1 */
  107+        "fimag", /* pass1 */
  108+        "dimag", /* pass1 */
  109+        "limag", /* pass1 */
  110+        "fcomplex", /* pass1 */
  111+        "dcomplex", /* pass1 */
  112+        "lcomplex", /* pass1 */
  113+        "enumty", /* pass1 */
  114+        "?", "?"
  115+};
  116+
84117 /*      some special actions, used in finding the type of nodes */
 85118 # define NCVT 01
 86119 # define PUN 02
     
 !
747780                 p->n_lval ^= val;
 748781                 break;
 749782         case LS:
<>750 -                i = val;
  783+                i = (int)val;
751784                 p->n_lval = p->n_lval << i;
 752785                 break;
 753786         case RS:
<>754 -                i = val;
  787+                i = (int)val;
755788                 if (u) {
 756789                         v1 = v1 >> i;
 757790                         p->n_lval = v1;
     
 !
13131346            are those involving FLOAT/DOUBLE, and those
 13141347            from LONG to INT and ULONG to UNSIGNED */
 13151348 
<>1316 -
 1317 -        if (t != t1 || (ru && !lu))
  1349+        if (t != t1 || (ru && !lu)) {
  1350+                if (Wtruncate && o != CAST && p->n_right->n_op != ICON &&
  1351+                    tsize(t1, 0, MKSUE(t2)) > tsize(tu, 0, MKSUE(tu)))
  1352+                        werror("conversion to '%s' from '%s' may alter its value",
  1353+                            tnames[tu], tnames[t1]);
13181354                 p->n_left = makety( p->n_left, tu, 0, 0, MKSUE(tu));
<> 1355+        }
13191356 
<>1320 -        if (t != t2 || o==CAST || (lu && !ru))
  1357+        if (t != t2 || o==CAST || (lu && !ru)) {
  1358+                if (Wtruncate && o != CAST && p->n_right->n_op != ICON &&
  1359+                    tsize(t2, 0, MKSUE(t2)) > tsize(tu, 0, MKSUE(tu)))
  1360+                        werror("conversion to '%s' from '%s' may alter its value",
  1361+                            tnames[tu], tnames[t2]);
13211362                 p->n_right = makety(p->n_right, tu, 0, 0, MKSUE(tu));
<> 1363+        }
13221364 
 13231365         if( casgop(o) ){
 13241366                 p->n_type = p->n_left->n_type;
     
 !
14301472                 } else if (ISCTY(t) || ISITY(t))
 14311473                         cerror("complex constant3");
 14321474         }
<> 1475+
14331476         p = block(SCONV, p, NIL, t, d, sue);
 14341477         p->n_qual = q;
 14351478         return clocal(p);
     
 !
17971840         while (p->n_op == COMOP) {
 17981841                 /* XXX hack for GCC ({ }) ops */
 17991842                 if (p->n_left->n_op == GOTO) {
<>1800 -                        int v = p->n_left->n_left->n_lval;
  1843+                        int v = (int)p->n_left->n_left->n_lval;
18011844                         ecomp(p->n_left);
 18021845                         plabel(v+1);
 18031846                 } else
     
 !
23442387         case STASG:
 23452388                 /* STASG used for stack array init */
 23462389                 if (ISARY(p->n_type)) {
<>2347 -                        int size1 = tsize(p->n_type, p->n_left->n_df,
  2390+                        int size1 = (int)tsize(p->n_type, p->n_left->n_df,
23482391                             p->n_left->n_sue)/SZCHAR;
<>2349 -                        p->n_stsize = tsize(p->n_type, p->n_right->n_df,
  2392+                        p->n_stsize = (int)tsize(p->n_type, p->n_right->n_df,
23502393                             p->n_right->n_sue)/SZCHAR;
 23512394                         if (size1 < p->n_stsize)
 23522395                                 p->n_stsize = size1;
     
 !
23592402         case STCALL:
 23602403         case USTCALL:
 23612404                 /* set up size parameters */
<>2362 -                p->n_stsize = (tsize(STRTY, p->n_left->n_df,
 2363 -                    p->n_left->n_sue)+SZCHAR-1)/SZCHAR;
  2405+                p->n_stsize = (int)((tsize(STRTY, p->n_left->n_df,
  2406+                    p->n_left->n_sue)+SZCHAR-1)/SZCHAR);
23642407                 p->n_stalign = talign(STRTY,p->n_left->n_sue)/SZCHAR;
 23652408                 break;
 23662409 
     
 !
26732716 {
 26742717         return crslab++;
 26752718 }
<_2676 -
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-22 23:38 +0200