git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4106 4a8a32a2...
[fw/sdcc] / src / SDCCglobl.h
index 850c06331d1c5cb92ca51f1a6c124c23eb24bd0e..1b34d11a8e4654a53e69e890eb6da576be8bd370 100644 (file)
@@ -38,8 +38,9 @@
 #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
@@ -170,7 +171,8 @@ enum
     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
@@ -249,7 +251,11 @@ struct options
     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 */
@@ -257,7 +263,7 @@ struct options
   };
 
 /* 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; */
@@ -282,6 +288,7 @@ extern int reentrant;           /* /X flag has been sent     SDCC.y */
 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 */