* src/pic16/gen.c (pic16_freeAsmop): release any temp registers
[fw/sdcc] / src / avr / main.c
index 25cbdb0ff7019643b7f468baf9a1a5d361f77d34..828c3c033f19bee402fa721fa54dd7f2210cde01 100644 (file)
@@ -42,13 +42,13 @@ _avr_init (void)
 }
 
 static void
-_avr_reset_regparm ()
+_avr_reset_regparm (void)
 {
        regParmFlg = 0;
 }
 
 static int
-_avr_regparm (sym_link * l)
+_avr_regparm (sym_link * l, bool reentrant)
 {
        /* the first eight bytes will be passed in
           registers r16-r23. but we won't split variables
@@ -69,7 +69,7 @@ _avr_regparm (sym_link * l)
        return 0;
 }
 
-void avr_assignRegisters (eBBlock ** ebbs, int count);
+void avr_assignRegisters (ebbIndex *);
 
 static bool
 _avr_parseOptions (int *pargc, char **argv, int *i)
@@ -207,6 +207,7 @@ PORT avr_port = {
         "CSEG",
         "DSEG",
         "ISEG",
+        NULL, //PSEG
         "XSEG",
         "BSEG",
         "RSEG",
@@ -216,6 +217,7 @@ PORT avr_port = {
         "HOME",
         NULL, // initialized xdata
         NULL, // a code copy of xiseg
+        "CONST   (CODE)",              // const_name - const data (code or not)
         NULL,
         NULL,
         0,
@@ -227,10 +229,24 @@ PORT avr_port = {
        {
           1, -1
         },
+       {
+          avr_emitDebuggerSymbol
+       },
+       {
+         255/3,      /* 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 */
+       },
        "_",
        _avr_init,
        _avr_parseOptions,
        NULL,
+       NULL,
        _avr_finaliseOptions,
        _avr_setDefaultOptions,
        avr_assignRegisters,
@@ -240,6 +256,7 @@ PORT avr_port = {
        NULL,                           /* no genAssemblerEnd */
        _avr_genIVT,
        NULL, // _avr_genXINIT
+       NULL,                   /* genInitStartup */
        _avr_reset_regparm,
        _avr_regparm,
         NULL,