#define ZERO 0
#include <limits.h> /* PATH_MAX */
-#ifndef PATH_MAX /* POSIX, but not required */
-# define PATH_MAX 255 /* define a reasonable value */
+#if !defined(PATH_MAX) || (PATH_MAX < 2048)
+# undef PATH_MAX
+# define PATH_MAX 2048 /* define a reasonable value */
#endif
#define MAX_REG_PARMS 1
MODEL_MEDIUM = 4,
MODEL_LARGE = 8,
MODEL_FLAT24 = 16,
- MODEL_PAGE0 = 32 /* for the xa51 port */
+ MODEL_PAGE0 = 32, /* for the xa51 port */
+ MODEL_HUGE = 64 /* for banked support */
};
/* overlay segment name and the functions
int printSearchDirs; /* display the directories in the compiler's search path */
int vc_err_style; /* errors and warnings are compatible with Micro$oft visual studio */
int use_stdout; /* send errors to stdout instead of stderr */
- int no_std_crt0; /*For the z80/gbz80 do not link default crt0.o*/
+ int no_std_crt0; /* for the z80/gbz80 do not link default crt0.o*/
+ int std_c99; /* enable C99 keywords/constructs */
+ int std_sdcc; /* enable SDCC extensions to C */
+ const char *code_seg; /* segment name to use instead of CSEG */
+ const char *const_seg; /* segment name to use instead of CONST */
/* sets */
set *calleeSavesSet; /* list of functions using callee save */
set *excludeRegsSet; /* registers excluded from saving */
};
/* forward definition for variables accessed globally */
-extern int noAssemble; /* no assembly, stop after code generation */
+extern int noAssemble; /* no assembly, stop after code generation */
extern char *yytext;
extern char *currFname;
extern char *fullSrcFileName; /* full name for the source file; */
extern char buffer[PATH_MAX * 2];/* general buffer SDCCmain.c */
extern int currRegBank; /* register bank being used SDCCgens.c */
extern int RegBankUsed[4]; /* JCF: register banks used SDCCmain.c */
+extern int BitBankUsed; /* MB: overlayable bit bank SDCCmain.c */
extern struct symbol *currFunc; /* current function SDCCgens.c */
extern int cNestLevel; /* block nest level SDCCval.c */
extern int currBlockno; /* sequentail block number */