* .version: changed to version 2.5.3
[fw/sdcc] / src / z80 / main.c
index 44cd21e372a12822924cf40b903877e9b6ea2c31..248e31b5112d41f835028b0e24168c598309ed36 100644 (file)
@@ -81,6 +81,8 @@ static char *_keywords[] =
   "banked",
   "at",       //.p.t.20030714 adding support for 'sfr at ADDR' construct
   "_naked",   //.p.t.20030714 adding support for '_naked' functions
+  "critical",
+  "interrupt",
   NULL
 };
 
@@ -111,13 +113,13 @@ _gbz80_init (void)
 }
 
 static void
-_reset_regparm ()
+_reset_regparm (void)
 {
   _G.regParams = 0;
 }
 
 static int
-_reg_parm (sym_link * l)
+_reg_parm (sym_link * l, bool reentrant)
 {
   if (options.noRegParams) 
     {
@@ -602,6 +604,7 @@ PORT z80_port =
     "CODE",
     "DATA",
     "ISEG",
+    NULL, /* pdata */
     "XSEG",
     "BSEG",
     "RSEG",
@@ -611,6 +614,7 @@ PORT z80_port =
     "HOME",
     NULL, /* xidata */
     NULL, /* xinit */
+    NULL, /* const_name */
     NULL,
     NULL,
     1
@@ -623,10 +627,24 @@ PORT z80_port =
   {
     0, 2
   },
+  {
+    z80_emitDebuggerSymbol
+  },
+  {
+    255,        /* maxCount */
+    3,          /* sizeofElement */
+    /* The rest of these costs are bogus. They approximate */
+    /* the behavior of src/SDCCicode.c 1.207 and earlier.  */
+    {4,4,4},    /* sizeofMatchJump[] */
+    {0,0,0},    /* sizeofRangeCompare[] */
+    0,          /* sizeofSubtract */
+    3,          /* sizeofDispatch */
+  },
   "_",
   _z80_init,
   _parseOptions,
   _z80_options,
+  NULL,
   _finaliseOptions,
   _setDefaultOptions,
   z80_assignRegisters,
@@ -636,6 +654,7 @@ PORT z80_port =
   NULL,                                /* no genAssemblerEnd */
   0,                           /* no local IVT generation code */
   0,                            /* no genXINIT code */
+  NULL,                        /* genInitStartup */
   _reset_regparm,
   _reg_parm,
   _process_pragma,
@@ -702,6 +721,7 @@ PORT gbz80_port =
     "CODE",
     "DATA",
     "ISEG",
+    NULL, /* pdata */
     "XSEG",
     "BSEG",
     "RSEG",
@@ -711,6 +731,7 @@ PORT gbz80_port =
     "HOME",
     NULL, /* xidata */
     NULL, /* xinit */
+    NULL, /* const_name */
     NULL,
     NULL,
     1
@@ -723,10 +744,24 @@ PORT gbz80_port =
   {
     0, 2
   },
+  {
+    z80_emitDebuggerSymbol
+  },
+  {
+    255,        /* maxCount */
+    3,          /* sizeofElement */
+    /* The rest of these costs are bogus. They approximate */
+    /* the behavior of src/SDCCicode.c 1.207 and earlier.  */
+    {4,4,4},    /* sizeofMatchJump[] */
+    {0,0,0},    /* sizeofRangeCompare[] */
+    0,          /* sizeofSubtract */
+    3,          /* sizeofDispatch */
+  },
   "_",
   _gbz80_init,
   _parseOptions,
   _gbz80_options,
+  NULL,
   _finaliseOptions,
   _setDefaultOptions,
   z80_assignRegisters,
@@ -736,6 +771,7 @@ PORT gbz80_port =
   NULL,                                /* no genAssemblerEnd */
   0,                           /* no local IVT generation code */
   0,                            /* no genXINIT code */
+  NULL,                        /* genInitStartup */
   _reset_regparm,
   _reg_parm,
   _process_pragma,