some fixes
[fw/sdcc] / src / SDCCicode.h
index ca4142468909f2360c6d76b290d1a2eb437c619a..d94c8de517b0dec8e9076df91f7078e26b75dd91 100644 (file)
@@ -87,7 +87,6 @@ typedef struct operand
     unsigned int noSpilLoc:1;  /* cannot be assigned a spil location */
 
     unsigned key;
-    int parmBytes;
     union
       {
        struct symbol *symOperand;      /* operand is of type symbol */
@@ -176,6 +175,9 @@ typedef struct iCode
 
     int lineno;                        /* file & lineno for debug information */
     char *filename;
+    
+    int parmBytes;             /* if call/pcall, count of parameter bytes 
+                                  on stack */
   }
 iCode;
 
@@ -269,7 +271,7 @@ bool isOperandOnStack (operand *);
 int isOperandVolatile (operand *, bool);
 int isOperandGlobal (operand *);
 void printiCChain (iCode *, FILE *);
-operand *ast2iCode (ast *);
+operand *ast2iCode (ast *,int);
 operand *geniCodeCast (sym_link *, operand *, bool);
 operand *geniCodePtrPtrSubtract (operand *, operand *);
 void initiCode ();
@@ -280,7 +282,7 @@ iCodeTable *getTableEntry (int);
 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 *);