Skip to content

Commit

Permalink
Change some types from d_uns64 to dinteger_t.
Browse files Browse the repository at this point in the history
If you imaging to implement cent/ucent type then you have to change
these places. It is more convenient to use dinteger_t here.
  • Loading branch information
redstar committed Apr 6, 2015
1 parent 7522d0d commit 181dc36
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 19 deletions.
30 changes: 15 additions & 15 deletions src/constfold.c
Expand Up @@ -414,7 +414,7 @@ UnionExp Div(Type *type, Expression *e1, Expression *e2)
n2 = 1;
}
if (e1->type->isunsigned() || e2->type->isunsigned())
n = ((d_uns64) n1) / ((d_uns64) n2);
n = ((dinteger_t) n1) / ((dinteger_t) n2);
else
n = n1 / n2;
new(&ue) IntegerExp(loc, n, type);
Expand Down Expand Up @@ -483,7 +483,7 @@ UnionExp Mod(Type *type, Expression *e1, Expression *e2)
}
}
if (e1->type->isunsigned() || e2->type->isunsigned())
n = ((d_uns64) n1) % ((d_uns64) n2);
n = ((dinteger_t) n1) % ((dinteger_t) n2);
else
n = n1 % n2;
new(&ue) IntegerExp(loc, n, type);
Expand Down Expand Up @@ -1108,19 +1108,19 @@ UnionExp Cmp(TOK op, Type *type, Expression *e1, Expression *e2)
{
switch (op)
{
case TOKlt: n = ((d_uns64) n1) < ((d_uns64) n2); break;
case TOKle: n = ((d_uns64) n1) <= ((d_uns64) n2); break;
case TOKgt: n = ((d_uns64) n1) > ((d_uns64) n2); break;
case TOKge: n = ((d_uns64) n1) >= ((d_uns64) n2); break;

case TOKleg: n = 1; break;
case TOKlg: n = ((d_uns64) n1) != ((d_uns64) n2); break;
case TOKunord: n = 0; break;
case TOKue: n = ((d_uns64) n1) == ((d_uns64) n2); break;
case TOKug: n = ((d_uns64) n1) > ((d_uns64) n2); break;
case TOKuge: n = ((d_uns64) n1) >= ((d_uns64) n2); break;
case TOKul: n = ((d_uns64) n1) < ((d_uns64) n2); break;
case TOKule: n = ((d_uns64) n1) <= ((d_uns64) n2); break;
case TOKlt: n = ((dinteger_t) n1) < ((dinteger_t) n2); break;
case TOKle: n = ((dinteger_t) n1) <= ((dinteger_t) n2); break;
case TOKgt: n = ((dinteger_t) n1) > ((dinteger_t) n2); break;
case TOKge: n = ((dinteger_t) n1) >= ((dinteger_t) n2); break;

case TOKleg: n = 1; break;
case TOKlg: n = ((dinteger_t) n1) != ((dinteger_t) n2); break;
case TOKunord: n = 0; break;
case TOKue: n = ((dinteger_t) n1) == ((dinteger_t) n2); break;
case TOKug: n = ((dinteger_t) n1) > ((dinteger_t) n2); break;
case TOKuge: n = ((dinteger_t) n1) >= ((dinteger_t) n2); break;
case TOKul: n = ((dinteger_t) n1) < ((dinteger_t) n2); break;
case TOKule: n = ((dinteger_t) n1) <= ((dinteger_t) n2); break;

default:
assert(0);
Expand Down
6 changes: 3 additions & 3 deletions src/ctfeexpr.c
Expand Up @@ -1028,7 +1028,7 @@ void intBinary(TOK op, IntegerExp *dest, Type *type, IntegerExp *e1, IntegerExp
result = 1;
}
else if (e1->type->isunsigned() || e2->type->isunsigned())
result = ((d_uns64) n1) / ((d_uns64) n2);
result = ((dinteger_t) n1) / ((dinteger_t) n2);
else
result = n1 / n2;
break;
Expand Down Expand Up @@ -1058,7 +1058,7 @@ void intBinary(TOK op, IntegerExp *dest, Type *type, IntegerExp *e1, IntegerExp
}
}
if (e1->type->isunsigned() || e2->type->isunsigned())
result = ((d_uns64) n1) % ((d_uns64) n2);
result = ((dinteger_t) n1) % ((dinteger_t) n2);
else
result = n1 % n2;
break;
Expand Down Expand Up @@ -1217,7 +1217,7 @@ bool isCtfeComparable(Expression *e)
}

/// Returns e1 OP e2; where OP is ==, !=, <, >=, etc. Result is 0 or 1
int intUnsignedCmp(TOK op, d_uns64 n1, d_uns64 n2)
int intUnsignedCmp(TOK op, dinteger_t n1, dinteger_t n2)
{
int n;
switch (op)
Expand Down
2 changes: 1 addition & 1 deletion src/mtype.c
Expand Up @@ -2940,7 +2940,7 @@ unsigned TypeBasic::alignsize()
Expression *TypeBasic::getProperty(Loc loc, Identifier *ident, int flag)
{
Expression *e;
d_int64 ivalue;
dinteger_t ivalue;
d_float80 fvalue;

//printf("TypeBasic::getProperty('%s')\n", ident->toChars());
Expand Down

0 comments on commit 181dc36

Please sign in to comment.