* intnum.c (yasm_intnum_set_uint): New function to set intnum to any

arbitrary integer.
(yasm_intnum_zero): Reimplement using yasm_intnum_set_uint.
* intnum.h (yasm_intnum_set_uint): Prototype.

svn path=/trunk/yasm/; revision=1339
0.5.0rc2
Peter Johnson 19 years ago
parent dfc99b073d
commit 7a31b45af1
  1. 8
      libyasm/intnum.c
  2. 6
      libyasm/intnum.h

@ -451,12 +451,18 @@ yasm_intnum_calc(yasm_intnum *acc, yasm_expr_op op, yasm_intnum *operand,
void
yasm_intnum_zero(yasm_intnum *intn)
{
yasm_intnum_set_uint(intn, 0);
}
void
yasm_intnum_set_uint(yasm_intnum *intn, unsigned long val)
{
if (intn->type == INTNUM_BV) {
BitVector_Destroy(intn->val.bv);
intn->type = INTNUM_UL;
}
intn->val.ul = 0;
intn->val.ul = val;
}
int

@ -117,6 +117,12 @@ void yasm_intnum_calc(yasm_intnum *acc, yasm_expr_op op, yasm_intnum *operand,
*/
void yasm_intnum_zero(yasm_intnum *intn);
/** Set an intnum to an unsigned integer.
* \param intn intnum
* \param val integer value
*/
void yasm_intnum_set_uint(yasm_intnum *intn, unsigned long val);
/** Simple value check for 0.
* \param acc intnum
* \return Nonzero if acc==0.

Loading…
Cancel
Save