Quick Search:

Mode

Context

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

Other Diffs

Ignore

Blank Lines Whitespace: Expand:

Diff

1.5
 
1.6
 
MAIN:ragge:20020520162701
 
trees.c
_>668668 
 669669         /* usual type conversions -- handle casts of constants */
 670670 #define ISLONG(t)       ((t) == LONG || (t) == ULONG)
<> 671+#define ISLONGLONG(t)   ((t) == LONGLONG || (t) == ULONGLONG)
671672         if (ISLONG(p->in.type) || ISLONG(q->in.type))
 672673                 utype = u ? ULONG : LONG;
<> 674+        else if (ISLONGLONG(p->in.type) || ISLONGLONG(q->in.type))
  675+                utype = u ? ULONGLONG : LONGLONG;
673676         else
 674677                 utype = u ? UNSIGNED : INT;
 675678         if( !ISPTR(p->in.type) && p->in.type != utype )
     
 !
978981         register TWORD ty;
 979982 
 980983         if( (ty=BTYPE(p->in.type)) == ENUMTY || ty == MOETY ) {
<>981 -                if( dimtab[ p->fn.csiz ] == SZCHAR ) ty = CHAR;
 982 -                else if( dimtab[ p->fn.csiz ] == SZINT ) ty = INT;
 983 -                else if( dimtab[ p->fn.csiz ] == SZSHORT ) ty = SHORT;
 984 -                else ty = LONG;
 985 -                ty = ctype( ty );
  984+                if (dimtab[p->fn.csiz] == SZCHAR)
  985+                        ty = CHAR;
  986+                else if (dimtab[p->fn.csiz] == SZINT)
  987+                        ty = INT;
  988+                else if (dimtab[p->fn.csiz] == SZSHORT)
  989+                        ty = SHORT;
  990+                else if (dimtab[p->fn.csiz] == SZLONGLONG)
  991+                        ty = LONGLONG;
  992+                else
  993+                        ty = LONG;
  994+                ty = ctype(ty);
986995                 p->fn.csiz = ty;
 987996                 MODTYPE(p->in.type,ty);
<>988 -                if( p->in.op == ICON && ty != LONG ) p->in.type = p->fn.csiz = INT;
  997+                if (p->in.op == ICON && ty != LONG && ty != LONGLONG)
  998+                        p->in.type = p->fn.csiz = INT;
989999                 }
 9901000         }
 9911001 #endif
     
 !
11461156         if (t1 == DOUBLE || t1 == FLOAT || t2 == DOUBLE || t2 == FLOAT)
 11471157                 t = DOUBLE;
 11481158 #endif
<>1149 -        else if( t1==LONG || t2==LONG ) t = LONG;
 1150 -        else t = INT;
  1159+        else if (t1==LONG || t2==LONG)
  1160+                t = LONG;
  1161+        else if (t1==LONGLONG || t2 == LONGLONG)
  1162+                t = LONGLONG;
  1163+        else
  1164+                t = INT;
11511165 
<>1152 -        if( o == ASSIGN || o == CAST || o == RETURN )
 1153 -        {
  1166+        if( o == ASSIGN || o == CAST || o == RETURN ) {
11541167                 tu = p->in.left->in.type;
 11551168                 t = t1;
<>1156 -                }
 1157 -        else {
  1169+        } else {
11581170                 tu = (u && UNSIGNABLE(t))?ENUNSIGN(t):t;
<>1159 -                }
  1171+        }
11601172 
 11611173         /* because expressions have values that are at least as wide
 11621174            as INT or UNSIGNED, the only conversions needed
     
 !
15221534                 return( MINT|MPTI|MDBI );
 15231535         case UNSIGNED:
 15241536         case ULONG:
<> 1537+        case ULONGLONG:
15251538         case INT:
 15261539         case LONG:
<> 1540+        case LONGLONG:
<_15271541                 return( MINT|MDBI|MPTI );
 15281542         case FLOAT:
 15291543         case DOUBLE:
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-09-30 22:00 +0200