return NULL;
val = newValue ();
- val->etype = getSpec (val->type = copyLinkChain (dtype));
+ if (dtype)
+ val->etype = getSpec (val->type = copyLinkChain (dtype));
+ else
+ {
+ val->etype = val->type = newLink (SPECIFIER);
+ SPEC_NOUN (val->etype) = V_VOID;
+ }
SPEC_SCLS (val->etype) = S_LITERAL;
/* if it is not a specifier then we can assume that */
SPEC_CVAL (val->etype).v_float = fval;
else if (SPEC_NOUN (val->etype) == V_BIT ||
SPEC_NOUN (val->etype) == V_SBIT)
- SPEC_CVAL (val->etype).v_uint = l & 1;
+ SPEC_CVAL (val->etype).v_uint = l ? 1 : 0;
else if (SPEC_NOUN (val->etype) == V_BITFIELD)
SPEC_CVAL (val->etype).v_uint = l &
(0xffffu >> (16 - SPEC_BLEN (val->etype)));