- val = newValue ();
- val->type = val->etype = newIntLink ();
- SPEC_SCLS (val->type) = S_LITERAL; /* will remain literal */
- SPEC_NOUN (val->etype) = V_INT;
- /* 'unsigned char' promotes to 'signed int' */
- if (!IS_CHAR (lval->etype))
- SPEC_USIGN (val->type) = SPEC_USIGN (lval->etype);
- SPEC_LONG (val->type) = SPEC_LONG (lval->etype);
-
- if (getSize (lval->type) * 8 <= (TYPE_UDWORD) floatFromVal (rval) &&
+ val = newValue();
+ val->type = val->etype = computeType (lval->etype,
+ NULL,
+ RESULT_TYPE_INT,
+ 'S');
+ SPEC_SCLS (val->etype) = S_LITERAL; /* will remain literal */
+
+ if (getSize (val->type) * 8 <= (TYPE_UDWORD) floatFromVal (rval) &&