* .version: Updated to 2.3.1
[fw/sdcc] / src / pic / main.c
index ebc5839bde0d96d6aa83d46938e723937e7f276a..ee7c699a22cdd94e2911dadf43381a4b03868b2d 100644 (file)
@@ -7,7 +7,8 @@
 #include "common.h"
 #include "main.h"
 #include "ralloc.h"
-#include "gen.h"
+//#include "gen.h"
+
 
 static char _defaultRules[] =
 {
@@ -42,6 +43,7 @@ static char *_pic14_keywords[] =
   NULL
 };
 
+void  pCodeInitRegisters(void);
 
 void pic14_assignRegisters (eBBlock ** ebbs, int count);
 
@@ -51,6 +53,7 @@ static void
 _pic14_init (void)
 {
   asm_addTree (&asm_asxxxx_mapping);
+  pCodeInitRegisters();
 }
 
 static void
@@ -83,6 +86,9 @@ _pic14_parseOptions (int *pargc, char **argv, int *i)
 static void
 _pic14_finaliseOptions (void)
 {
+
+      port->mem.default_local_map = data;
+      port->mem.default_globl_map = data;
 #if 0
   /* Hack-o-matic: if we are using the flat24 model,
    * adjust pointer sizes.
@@ -222,14 +228,17 @@ PORT pic_port =
   {
     _asmCmd,
     NULL,
+    NULL,
     NULL,
        //"-plosgffc",          /* Options with debug */
        //"-plosgff",           /* Options without debug */
-    0
+    0,
+    ".asm"
   },
   {
     _linkCmd,
     NULL,
+    NULL,
     ".rel"
   },
   {
@@ -237,7 +246,7 @@ PORT pic_port =
   },
   {
        /* Sizes: char, short, int, long, ptr, fptr, gptr, bit, float, max */
-    1, 1, 2, 4, 1, 2, 1, 1, 4, 4
+    1, 2, 2, 4, 1, 2, 1, 1, 4, 4
        /* TSD - I changed the size of gptr from 3 to 1. However, it should be
           2 so that we can accomodate the PIC's with 4 register banks (like the
           16f877)
@@ -265,7 +274,7 @@ PORT pic_port =
   },
     /* pic14 has an 8 bit mul */
   {
-    1, 0
+    1, -1
   },
   "_",
   _pic14_init,
@@ -280,6 +289,7 @@ PORT pic_port =
   _pic14_reset_regparm,
   _pic14_regparm,
   NULL,
+  NULL,
   FALSE,
   0,                           /* leave lt */
   0,                           /* leave gt */
@@ -287,5 +297,6 @@ PORT pic_port =
   1,                           /* transform >= to ! < */
   1,                           /* transform != to !(a == b) */
   0,                           /* leave == */
+  FALSE,                        /* No array initializer support. */
   PORT_MAGIC
 };