unsigned int isGptr:1; /* is a generic pointer */
unsigned int isParm:1; /* is a parameter */
unsigned int isLiteral:1; /* operand is literal */
- unsigned int noSpilLoc:1; /* cannot be assigned a spil location */
unsigned key;
union
#define IC_JTCOND(x) (x)->ulrrcnd.jmpTab.condition
#define IC_JTLABELS(x) (x)->ulrrcnd.jmpTab.labels
#define IC_INLINE(x) (x)->inlineAsm
+#define IC_ARRAYILIST(x) (x)->arrayInitList
typedef struct iCode
{
argLabel;
char *inlineAsm; /* pointer to inline assembler code */
+ literalList *arrayInitList; /* point to array initializer list. */
int lineno; /* file & lineno for debug information */
char *filename;
x->op == IPOP || \
x->op == JUMPTABLE || \
x->op == RECEIVE || \
+ x->op == ARRAYINIT || \
SKIP_IC1(x)|| \
x->op == SEND )
int isOperandLiteral (operand *);
operand *operandOperation (operand *, operand *, int, sym_link *);
double operandLitValue (operand *);
-operand *operandFromLit (float);
+operand *operandFromLit (double);
operand *operandFromOperand (operand *);
int isParameterToCall (value *, operand *);
iCode *newiCodeLabelGoto (int, symbol *);