added _JavaNative to debug info printing
[fw/sdcc] / src / SDCCast.h
index c469be9f2bee35867745d7c4bc0a6dac008dbdda..69f95c0ad0d0c64572287c3788aab3c997c49dcd 100644 (file)
@@ -43,7 +43,6 @@ typedef struct ast
 
     unsigned type:3;
     unsigned decorated:1;
-    unsigned hasVargs:1;
     unsigned isError:1;
     unsigned funcName:1;
     unsigned rvalue:1;
@@ -66,6 +65,7 @@ typedef struct ast
     union
       {
        char *inlineasm;        /* pointer to inline assembler code */
+       literalList *constlist; /* init list for array initializer. */
        symbol *sym;            /* if block then -> symbols */
        value *args;            /* if function then args    */
        /* if switch then switch values */
@@ -100,8 +100,6 @@ typedef struct ast
     sym_link *ftype;           /* start of type chain for this subtree */
     sym_link *etype;           /* end of type chain for this subtree   */
 
-    symbol *argSym;            /* argument symbols            */
-    value *args;               /* args of a function          */
     struct ast *left;          /* pointer to left tree        */
     struct ast *right;         /* pointer to right tree       */
     symbol *trueLabel;         /* if statement trueLabel */
@@ -171,7 +169,7 @@ ast;
 /* forward declarations for global variables */
 extern ast *staticAutos;
 extern FILE *codeOutFile;
-extern memmap *GcurMemmap;
+extern struct memmap *GcurMemmap;
 
 /* forward definitions for functions   */
 ast *newAst_VALUE (value * val);
@@ -189,7 +187,6 @@ ast *createBlock (symbol *, ast *);
 ast *createLabel (symbol *, ast *);
 ast *createCase (ast *, ast *, ast *);
 ast *createDefault (ast *, ast *);
-ast *optimizeCompare (ast *);
 ast *forLoopOptForm (ast *);
 ast *argAst (ast *);
 ast *resolveSymbols (ast *);
@@ -200,7 +197,9 @@ ast *createDo (symbol *, symbol *, symbol *, ast *, ast *);
 ast *createFor (symbol *, symbol *, symbol *, symbol *, ast *, ast *, ast *, ast *);
 void eval2icode (ast *);
 value *constExprValue (ast *, int);
+bool constExprTree (ast *);
 symbol *funcOfType (char *, sym_link *, sym_link *, int, int);
+symbol * funcOfTypeVarg (char *, char * , int , char **);
 ast *initAggregates (symbol *, initList *, ast *);
 bool hasSEFcalls (ast *);
 void addSymToBlock (symbol *, ast *);
@@ -208,5 +207,6 @@ void addSymToBlock (symbol *, ast *);
 // exported variables 
 extern set *operKeyReset;
 extern int noAlloc;
+extern int inInitMode;
 
 #endif