* doc/sdccman.lyx: updated example in section "Absolute Addressing"
[fw/sdcc] / src / SDCCicode.h
index 8c9ac33dea748e7fcc0d8828e722fb3ae4ee599e..3069ff1004c71c08e00e7854887f091f324f9780 100644 (file)
@@ -130,6 +130,7 @@ typedef struct iCode
     unsigned int op;           /* operation defined */
     int key;                   /* running key for this iCode */
     int seq;                   /* sequence number within routine */
+    int seqPoint;              /* sequence point */
     short depth;               /* loop depth of this iCode */
     short level;               /* scope level */
     short block;               /* sequential block number */
@@ -190,6 +191,7 @@ typedef struct iCode
     int argreg;                        /* argument regno for SEND/RECEIVE */
     int eBBlockNum;             /* belongs to which eBBlock */
     char riu;                  /* after ralloc, the registers in use */
+    struct ast * tree;         /* ast node for this iCode (if not NULL) */
   }
 iCode;
 
@@ -290,7 +292,6 @@ int isOperandVolatile (operand *, bool);
 int isOperandGlobal (operand *);
 void printiCChain (iCode *, FILE *);
 operand *ast2iCode (ast *,int);
-operand *geniCodeCast (sym_link *, operand *, bool);
 operand *geniCodePtrPtrSubtract (operand *, operand *);
 void initiCode ();
 iCode *iCodeFromAst (ast *);
@@ -311,7 +312,9 @@ iCode *newiCode (int, operand *, operand *);
 sym_link *operandType (operand *);
 operand *operandFromValue (value *);
 operand *operandFromSymbol (symbol *);
+operand *operandFromLink (sym_link *);
 sym_link *aggrToPtr (sym_link *, bool);
+int aggrToPtrDclType (sym_link *, bool);
 int piCode (void *, FILE *);
 int printOperand (operand *, FILE *);
 void setOperandType (operand *, sym_link *);