../m
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 19 Jan 2003 17:41:58 +0000 (17:41 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 19 Jan 2003 17:41:58 +0000 (17:41 +0000)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2160 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
src/SDCCmain.c
src/SDCCpeeph.c
src/ds390/peeph.def
src/mcs51/peeph.def
support/regression/Makefile
support/regression/generate-cases.py

index 922d9acd8b37c6c469f813f9e0ea2ca0b4fe157e..7d65dcc2f0d4b1ffa638a62f183837f9f6a1b4a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,15 @@
 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
 
-        * moved tinitalk to device/examples/ds390
+       * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
+       * src/SDCCpeeph.c (replaceRule): fix bug #663503
+       * support/regression/Makefile: separate temp files for ports
+       * support/regression/generate-cases.py: separate temp files for ports
+       * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
+       * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
+
+2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
+
+       * moved tinitalk to device/examples/ds390
 
 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
 
@@ -30,7 +39,7 @@
 
        * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
        * src/SDCCutil.c (join): ugly bug: missing '\0'
-       * as/mcs51/lkmem.c (summary): sp on address 7 is save
+       * as/mcs51/lkmem.c (summary): sp on address 7 is safe
 
 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
 
 
        * support/regression/tests/bug-524691.c: made it a little less shy 
 
-       * src/SDCCast.c (decorateType): fixed bug #524697 
+       * src/SDCCast.c (decorateType): fixed bug #524697
 
        * src/SDCCast.c: made some lineno improvements
 
index 8cd269b1a24ef0190cd0b9daf0827bd1a0e257b7..7d9ae8442bcd1128016086df1d42aec6a2e6e179 100644 (file)
@@ -1194,7 +1194,7 @@ linkEdit (char **envp)
 {
   FILE *lnkfile;
   char *segName, *c;
-  int i;
+  int i, system_ret;
 
   /* first we need to create the <filename>.lnk file */
   sprintf (scratchFileName, "%s.lnk", dstFileName);
@@ -1350,10 +1350,7 @@ linkEdit (char **envp)
       buildCmdLine2 (buffer, port->linker.mcmd);
     }
 
-  if (my_system (buffer))
-    {
-      exit (1);
-    }
+  system_ret = my_system (buffer);
   /* TODO: most linker don't have a -o parameter */
   /* -o option overrides default name? */
   if (fullDstFileName)
@@ -1392,6 +1389,10 @@ linkEdit (char **envp)
       strcpy (q, "mem");
       rename (scratchFileName, fullDstFileName);
     }
+  if (system_ret)
+    {
+      exit (1);
+    }
 }
 
 /*-----------------------------------------------------------------*/
index 070d902338c5dbcb5ac69baa2ca1199393f6d63f..3adf8fce235bd0abc29ddf3895ee182fcbcf83a7 100644 (file)
@@ -836,8 +836,7 @@ replaceRule (lineNode ** shead, lineNode * stail, peepRule * pr)
       (*shead)->prev->next = lhead;
       lhead->prev = (*shead)->prev;
     }
-  else
-    *shead = lhead;
+  *shead = lhead;
   /* now for the tail */
   if (stail && stail->next)
     {
index 9cefcc7d217567053c4b76876f0945111fbc2b3b..86bddf16fe32add4dd1a61fa6de8171f65a9844a 100644 (file)
@@ -2367,10 +2367,35 @@ replace {
 }
 
 replace {
-        mov     r%1,a
-        mov     a,ar%1
+        sjmp    %1
+%2:
+        mov     %3,%4
+%5:
+        ret
 } by {
-        mov     r%1,a
-        ; Peephole 237   removed redundant move
+        ; Peephole 237a  removed sjmp to ret
+        ret
+%2:
+        mov     %3,%4
+%1:
+        ret
 }
 
+replace {
+        sjmp    %1
+%2:
+        mov     %3,%4
+        mov     dpl,%6
+        mov     dph,%7
+%5:
+        ret
+} by {
+        ; Peephole 237b  removed sjmp to ret
+        ret
+%2:
+        mov     %3,%4
+        mov     dpl,%6
+        mov     dph,%7
+%1:
+        ret
+}
index 51def27f4bdd93acf7214b7055d3a3299e4c3cc0..ea06c71ee052f9db17cd9ac6abaf915c563f5995 100644 (file)
@@ -2070,10 +2070,35 @@ replace {
 }
 
 replace {
-        mov     r%1,a
-        mov     a,ar%1
+        sjmp    %1
+%2:
+        mov     %3,%4
+%5:
+        ret
 } by {
-        mov     r%1,a
-        ; Peephole 237   removed redundant move
+        ; Peephole 237a  removed sjmp to ret
+        ret
+%2:
+        mov     %3,%4
+%1:
+        ret
 }
 
+replace {
+        sjmp    %1
+%2:
+        mov     %3,%4
+        mov     dpl,%6
+        mov     dph,%7
+%5:
+        ret
+} by {
+        ; Peephole 237b  removed sjmp to ret
+        ret
+%2:
+        mov     %3,%4
+        mov     dpl,%6
+        mov     dph,%7
+%1:
+        ret
+}
index 888d7f07d12b876798bafb78abf6729c9e60d9bb..a6301688e78a468c031f3dc4cf3cce030c6b2fa5 100644 (file)
@@ -146,11 +146,11 @@ SDCCFLAGS += -Ifwk/include -Itests
 # Rule to generate the iterations of a test suite off the soure suite.
 $(PORT_CASES_DIR)/%/iterations.stamp: $(TESTS_DIR)/%.c $(GENERATE_CASES)
        echo Processing $<
-       rm -rf $(CASES_DIR)/$(TESTS_NAME)
-       mkdir -p $(CASES_DIR)/$(TESTS_NAME)
+       rm -rf $(CASES_DIR)/$(PORT)/$(TESTS_NAME)
+       mkdir -p $(CASES_DIR)/$(PORT)/$(TESTS_NAME)
        mkdir -p `dirname $@`
-       python $(GENERATE_CASES) $< > /dev/null
-       cp $(CASES_DIR)/$(TESTS_NAME)/*.c `dirname $@`
+       python $(GENERATE_CASES) $< $(CASES_DIR)/$(PORT) > /dev/null
+       cp $(CASES_DIR)/$(PORT)/$(TESTS_NAME)/*.c `dirname $@`
        touch $@
 
 # Rule linking the combined results log to all of the files in the
index a7dd57b489556675c3ca992a6df6e177e949de43..18b55e9e28affd51a002b43002b7a36dcf6cf704 100644 (file)
@@ -5,7 +5,7 @@ import sys, re, tempfile, os
 
 # Globals
 # Directory that the generated files should be placed into
-outdir = 'gen'
+outdir = sys.argv[2]
 
 # Start of the test function table definition
 testfuntableheader = """
@@ -177,9 +177,9 @@ class InstanceGenerator:
         os.remove(self.tmpname)
 
 # Check and parse the command line arguments
-if len(sys.argv) < 2:
+if len(sys.argv) < 3:
     # PENDING: How to throw an error?
-    print "usage: generate-cases.py template.c"
+    print "usage: generate-cases.py template.c outdir"
 
 # Input name is the first arg.