this wasn't intended to be this way
[fw/sdcc] / src / SDCCicode.h
index 12d31f035b2877a2348e2433661208030dd451b0..a7534ecca0151ab617cff4f1c51c7efb23d673ce 100644 (file)
@@ -49,6 +49,7 @@ typedef enum
 OPTYPE;
 
 #define IS_SYMOP(op) (op && op->type == SYMBOL)
+#define IS_VALOP(op) (op && op->type == VALUE)
 #define ADDTOCHAIN(x) addSetHead(&iCodeChain,x)
 
 #define LRFTYPE       sym_link *ltype = operandType(left), \
@@ -67,6 +68,7 @@ OPTYPE;
 #define OP_SYMBOL(op)      op->operand.symOperand
 #define OP_SYM_TYPE(op)    op->operand.symOperand->type
 #define OP_SYM_ETYPE(op)   op->operand.symOperand->etype
+#define OP_VALUE(op)       op->operand.valOperand
 #define SPIL_LOC(op)       op->operand.symOperand->usl.spillLoc
 #define OP_LIVEFROM(op)    op->operand.symOperand->liveFrom
 #define OP_LIVETO(op)      op->operand.symOperand->liveTo
@@ -167,7 +169,7 @@ typedef struct iCode
     union
       {
        symbol *label;          /* for a goto statement     */
-       value *args;
+       value *args;            /* for a function */
       }
     argLabel;