* doc/sdccman.lyx: new pragma NOIV by Johannes Stezenbach <js@convergence.de>
[fw/sdcc] / src / SDCCglobl.h
index f9dd2453970545a20c2e3faa11c95615068c7709..c9ce2630f28d8669aa8d3982f818069d5c18919a 100644 (file)
@@ -97,6 +97,7 @@ typedef int bool;
 #define PRAGMA_NOOVERLAY   "NOOVERLAY"
 #define PRAGMA_CALLEESAVES "CALLEE-SAVES"
 #define PRAGMA_EXCLUDE     "EXCLUDE"
+#define PRAGMA_NOIV        "NOIV"
 #define PRAGMA_OVERLAY     "OVERLAY"
 #define  SMALL_MODEL 0
 #define  LARGE_MODEL 1
@@ -236,6 +237,7 @@ struct options
     int useAccelerator;                /* use ds390 Arithmetic Accelerator */
     char *calleeSaves[128];    /* list of functions using callee save */
     char *excludeRegs[32];     /* registers excluded from saving */
+    int noiv;                  /* do not generate irq vector table entries */
     int all_callee_saves;      /* callee saves for all functions */
     int stack_probe;            /* insert call to function __stack_probe */
     int tini_libid;            /* library ID for TINI */
@@ -249,7 +251,10 @@ struct options
     int data_loc;              /* interram start location       */
     int idata_loc;             /* indirect address space        */
     int code_loc;              /* code location start           */
-    int iram_size;             /* internal ram size (used only for error checking) */    
+    int iram_size;             /* internal ram size (used only for error checking) */   
+    int xram_size;             /* external ram size (used only for error checking) */
+       bool xram_size_set; /* since xram_size=0 is a possibility */
+    int code_size;             /* code size (used only for error checking) */    
   };
 
 /* forward definition for variables accessed globally */