Fixed bug #483124
[fw/sdcc] / src / pic / main.c
index d411f5003944e553949b234f5041278d1863043e..d0cd1a33f00c2e1ad9e36b93b721743caf9a7aee 100644 (file)
@@ -67,10 +67,10 @@ _pic14_regparm (sym_link * l)
 {
   /* for this processor it is simple
      can pass only the first parameter in a register */
-  if (regParmFlg)
-    return 0;
+  //if (regParmFlg)
+  //  return 0;
 
-  regParmFlg = 1;
+  regParmFlg++;// = 1;
   return 1;
 }
 
@@ -162,9 +162,9 @@ _pic14_getRegName (struct regs *reg)
 static void
 _pic14_genAssemblerPreamble (FILE * of)
 {
-  fprintf (of, "\tlist\tp=16c84\n");
+  fprintf (of, "\tlist\tp=16f877\n");
   fprintf (of, "\t__config _wdt_off\n");
-  fprintf (of, "\ninclude \"p16c84.inc\"\n");
+  fprintf (of, "\ninclude \"p16f877.inc\"\n");
 }
 
 /* Generate interrupt vector table. */
@@ -228,6 +228,7 @@ PORT pic_port =
   {
     _asmCmd,
     NULL,
+    NULL,
     NULL,
        //"-plosgffc",          /* Options with debug */
        //"-plosgff",           /* Options without debug */
@@ -237,6 +238,7 @@ PORT pic_port =
   {
     _linkCmd,
     NULL,
+    NULL,
     ".rel"
   },
   {
@@ -288,6 +290,7 @@ PORT pic_port =
   _pic14_regparm,
   NULL,
   NULL,
+  NULL,
   FALSE,
   0,                           /* leave lt */
   0,                           /* leave gt */
@@ -295,5 +298,8 @@ PORT pic_port =
   1,                           /* transform >= to ! < */
   1,                           /* transform != to !(a == b) */
   0,                           /* leave == */
+  FALSE,                        /* No array initializer support. */
+  0,                            /* no CSE cost estimation yet */
+  NULL,                        /* no builtin functions */
   PORT_MAGIC
 };