#include "SDCCsymt.h"
#include "SDCCval.h"
#include "SDCCset.h"
+#include "SDCCmem.h"
#define EX_OP 0
#define EX_VALUE 1
unsigned type:3;
unsigned decorated:1;
- unsigned hasVargs:1;
unsigned isError:1;
unsigned funcName:1;
unsigned rvalue:1;
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 */
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 */
x->opval.op == EQ_OP || \
x->opval.op == NE_OP ))
#define IS_CAST_OP(x) (IS_AST_OP(x) && x->opval.op == CAST)
+#define IS_TERNARY_OP(x) (IS_AST_OP(x) && x->opval.op == '?')
+#define IS_COLON_OP(x) (IS_AST_OP(x) && x->opval.op == ':')
#define IS_ADDRESS_OF_OP(x) (IS_AST_OP(x) && \
x->opval.op == '&' && \
x->right == NULL )
/* 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);
// exported variables
extern set *operKeyReset;
extern int noAlloc;
+extern int inInitMode;
#endif