]> git.gag.com Git - fw/sdcc/commitdiff
* src/pic16/main.c: fixed #pragma udata handling
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 27 Dec 2006 16:45:12 +0000 (16:45 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Wed, 27 Dec 2006 16:45:12 +0000 (16:45 +0000)
* src/mcs51/mcs51.dsp: added peep.[ch] to the project

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4532 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/mcs51/mcs51.dsp
src/pic16/main.c
support/cpp2/sdcpp.h

index ea4d5c7a6b316b2bf04f3b787a2adf8a96031913..f8f4477e76c56c16d1638457d4741be570c12dfc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -18,6 +18,8 @@
        * support/cpp2/libiberty/getpwd.c, support/cpp2/sdcpp.h:
          fixed for borland C
        * support/cpp2/libiberty/Makefile.bcc: updated
+       * src/pic16/main.c: fixed #pragma udata handling
+       * src/mcs51/mcs51.dsp: added peep.[ch] to the project
 
 2006-12-26 Bernhard Held <bernhard AT bernhardheld.de>
 
index f86bfb61752d3d11117f3cf9838a766001aa385d..f19afb13e4e8963b61a833edd2119625d21333df 100644 (file)
@@ -93,6 +93,10 @@ SOURCE=.\main.c
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=.\peep.c\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\ralloc.c\r
 # End Source File\r
 # End Group\r
@@ -109,6 +113,10 @@ SOURCE=.\main.h
 # End Source File\r
 # Begin Source File\r
 \r
+SOURCE=.\peep.h\r
+# End Source File\r
+# Begin Source File\r
+\r
 SOURCE=.\ralloc.h\r
 # End Source File\r
 # Begin Source File\r
index ba45634fe6d3bc73370f4d1ce29713a45462fd26..a5a81b6f5ea89be39ad0e04be127424ea6cb7e3e 100644 (file)
@@ -335,68 +335,79 @@ do_pragma(int id, const char *name, const char *cp)
         int found = 0;
 
         cp = get_pragma_token(cp, &token);
-        if (TOKEN_EOL == token.type)
-          goto udata_err;
-
-        sectname = Safe_strdup(get_pragma_string(&token));
-
-        cp = get_pragma_token(cp, &token);
-        if (TOKEN_EOL == token.type)
+        if (TOKEN_STR == token.type)
+          sectname = Safe_strdup(get_pragma_string(&token));
+        else
           {
-          udata_err:
-            //fprintf (stderr, "%s:%d: #pragma udata [section-name] [symbol] -- section-name or symbol missing!\n", filename, lineno);
             err = 1;
             break;
           }
-        symname = get_pragma_string(&token);
 
         cp = get_pragma_token(cp, &token);
-        if (TOKEN_EOL != token.type)
+        if (TOKEN_STR == token.type)
+          symname = get_pragma_string(&token);
+        else
           {
+            //fprintf (stderr, "%s:%d: #pragma udata [section-name] [symbol] -- section-name or symbol missing!\n", filename, lineno);
             err = 1;
-            break;
+            symname = NULL;
           }
 
-        while (symname) {
-          ssym = Safe_calloc(1, sizeof(sectSym));
-          ssym->name = Safe_calloc(1, strlen(symname) + 2);
-          sprintf(ssym->name, "%s%s", port->fun_prefix, symname);
-          ssym->reg = NULL;
+        while (symname)
+          {
+            ssym = Safe_calloc(1, sizeof(sectSym));
+            ssym->name = Safe_calloc(1, strlen(symname) + 2);
+            sprintf(ssym->name, "%s%s", port->fun_prefix, symname);
+            ssym->reg = NULL;
 
-          addSet(&sectSyms, ssym);
+            addSet(&sectSyms, ssym);
 
-          nsym = newSymbol((char *)symname, 0);
-          strcpy(nsym->rname, ssym->name);
+            nsym = newSymbol((char *)symname, 0);
+            strcpy(nsym->rname, ssym->name);
 
 #if 0
-          checkAddSym(&publics, nsym);
+            checkAddSym(&publics, nsym);
 #endif
 
-          found = 0;
-          for (snam = setFirstItem(sectNames);snam;snam=setNextItem(sectNames)) {
-            if (!strcmp(sectname, snam->name)){ found=1; break; }
-          }
+            found = 0;
+            for (snam = setFirstItem(sectNames);snam;snam=setNextItem(sectNames))
+              {
+                if (!strcmp(sectname, snam->name))
+                  {
+                    found=1;
+                    break;
+                  }
+              }
 
-          if(!found) {
-            snam = Safe_calloc(1, sizeof(sectName));
-            snam->name = Safe_strdup(sectname);
-            snam->regsSet = NULL;
+            if(!found)
+              {
+                snam = Safe_calloc(1, sizeof(sectName));
+                snam->name = Safe_strdup(sectname);
+                snam->regsSet = NULL;
 
-            addSet(&sectNames, snam);
-          }
+                addSet(&sectNames, snam);
+              }
 
-          ssym->section = snam;
+            ssym->section = snam;
 
 #if 0
-          fprintf(stderr, "%s:%d placing symbol %s at section %s (%p)\n", __FILE__, __LINE__,
-             ssym->name, snam->name, snam);
+            fprintf(stderr, "%s:%d placing symbol %s at section %s (%p)\n", __FILE__, __LINE__,
+               ssym->name, snam->name, snam);
 #endif
 
-          cp = get_pragma_token(cp, &token);
-          symname = (TOKEN_EOL != token.type) ? get_pragma_string(&token) : NULL;
-        }
+            cp = get_pragma_token(cp, &token);
+            if (TOKEN_STR == token.type)
+              symname = get_pragma_string(&token);
+            else if (TOKEN_EOL == token.type)
+              symname = NULL;
+            else
+              {
+                err = 1;
+                symname = NULL;
+              }
+          }
 
-        Safe_free(sectname);
+          Safe_free(sectname);
       }
       break;
 
index ef10f2881e7e60bac11a90953878ac708361cdaf..9f7ece7592fb120668a7592cfeaa292cdfc9fd23 100644 (file)
@@ -3,7 +3,11 @@
 
 #ifdef _WIN32
 #include <string.h>
+#ifdef __BORLANDC__
 #define strcasecmp  stricmp
+#else
+#define strcasecmp  _stricmp
+#endif
 #endif
 #define BYTES_BIG_ENDIAN  0