]> git.sur5r.net Git - cc65/commitdiff
Merge remote-tracking branch 'upstream/master'
authormrdudz <mrdudz@users.noreply.github.com>
Wed, 19 Nov 2014 14:44:14 +0000 (15:44 +0100)
committermrdudz <mrdudz@users.noreply.github.com>
Wed, 19 Nov 2014 14:44:14 +0000 (15:44 +0100)
.travis.yml
Makefile.gh-pages [deleted file]
Makefile.travis [new file with mode: 0644]
README.md
doc/index.sgml
src/cc65/coptstop.c
src/cc65/symtab.c

index eae13f70ef177e8e0f21c4498e65b301ddd8eb91..a11412230b0f3e7fbf199f3495a26662a7d42154 100644 (file)
@@ -1,7 +1,7 @@
 language:
   - c
 install:
-  - sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686
+  - sudo apt-get install linuxdoc-tools linuxdoc-tools-info binutils-mingw-w64-i686 gcc-mingw-w64-i686 sshpass
 script:
   - make bin USER_CFLAGS=-Werror
   - make lib QUIET=1
@@ -9,7 +9,8 @@ script:
   - make bin USER_CFLAGS=-Werror CROSS_COMPILE=i686-w64-mingw32-
   - make doc zip
 after_success:
-  - make -f Makefile.gh-pages
+  - make -f Makefile.travis
 env:
   global:
     - secure: "h+hoQdEHGPLNwaqGKmSaM8NBRDLc2X+W05VsnNG2Feq/wPv/AiBjONNlzN7jRf6D6f3aoPXaQ2Lc3bYWdxGvFRCmwiofdxkJI9n5L8HPHLZ2lf37MQsXmGJzoTFOvjPLj73H6HlbI9Ux0El3zO6hvalxiXj6TfoZ41dbhNyvpYk="
+    - secure: "A4hMEe5RRfUtYjFGbT7QAvT1Tyo434N+/TiuQeQ4q0L46c79LnXuGQzbFLOFZshZiplLkJr7lFg466CoI1bf2L0cQOew/LesMhE75v0HQ7tZnExWhdpAk0ri6nWixbjn/dmQ0+HxjzJ48A44DMMBYcvSIsO4vflvuJ8etfSg42k="
diff --git a/Makefile.gh-pages b/Makefile.gh-pages
deleted file mode 100644 (file)
index 4c6734c..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-.PHONY: all
-
-.SUFFIXES:
-
-GH_PAGES = ../gh-pages
-
-all:
-       echo $(TRAVIS_COMMIT) | zip -z cc65
-ifdef GH_TOKEN
-       git clone --branch=gh-pages https://$(GH_TOKEN)@github.com/cc65/cc65.git $(GH_PAGES)
-       cd $(GH_PAGES) && git config user.name "Oliver Schmidt"
-       cd $(GH_PAGES) && git config user.email "ol.sc@web.de"
-       cd $(GH_PAGES) && git config push.default simple
-       cd $(GH_PAGES) && $(RM) -r doc download
-       cd $(GH_PAGES) && mkdir doc download
-       cp html/*.* $(GH_PAGES)/doc
-       cp cc65.zip $(GH_PAGES)/download/cc65-snapshot-win32.zip
-       cd $(GH_PAGES) && git add -A doc download
-       cd $(GH_PAGES) && git commit -m "Updated from commit $(TRAVIS_COMMIT)."
-       cd $(GH_PAGES) && git push
-endif
diff --git a/Makefile.travis b/Makefile.travis
new file mode 100644 (file)
index 0000000..78ded63
--- /dev/null
@@ -0,0 +1,36 @@
+.PHONY: all gh-pages sf-files
+
+.SUFFIXES:
+
+all: gh-pages sf-files
+
+GH_NAME = Oliver Schmidt
+GH_MAIL = ol.sc@web.de
+GH_PATH = ../doc
+
+gh-pages:
+ifdef GH_TOKEN
+       @echo 'git clone --branch=gh-pages https://$$(GH_TOKEN)@github.com/cc65/doc.git $(GH_PATH)'
+       @git clone --branch=gh-pages https://$(GH_TOKEN)@github.com/cc65/doc.git $(GH_PATH)
+       cd $(GH_PATH) && git config user.name "$(GH_NAME)"
+       cd $(GH_PATH) && git config user.email "$(GH_MAIL)"
+       cd $(GH_PATH) && git config push.default simple
+       $(RM) $(GH_PATH)/*.*
+       cp html/*.* $(GH_PATH)
+       cd $(GH_PATH) && git add -A
+       -cd $(GH_PATH) && git commit -m "Updated from commit $(TRAVIS_COMMIT)."
+       cd $(GH_PATH) && git push -q
+endif
+
+SF_USER = oliverschmidt
+SF_HOST = frs.sourceforge.net
+SF_FILE = /home/frs/project/cc65/cc65-snapshot-win64.zip
+
+SCPFLAGS = -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -q
+
+sf-files:
+ifdef SF_PASS
+       echo $(TRAVIS_COMMIT) | zip -z cc65
+       @echo 'sshpass -p $$(SF_PASS) scp $(SCPFLAGS) cc65.zip $(SF_USER)@$(SF_HOST):$(SF_FILE)'
+       @sshpass -p $(SF_PASS) scp $(SCPFLAGS) cc65.zip $(SF_USER)@$(SF_HOST):$(SF_FILE)
+endif
index 81805f03bd970eedc0ee3b784dfa7ed12287a456..bf7d6dcdee78b2b99f2e5d959bb6f6b51ca3510a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
-[documentation](http://cc65.github.io/cc65/doc)
+[documentation](http://cc65.github.io/doc)
 
-[wiki](https://github.com/cc65/wiki/wiki)
+[wiki](http://github.com/cc65/wiki/wiki)
 
-[![build status](https://travis-ci.org/cc65/cc65.png)](https://travis-ci.org/cc65/cc65/builds)
+[![build status](http://travis-ci.org/cc65/cc65.png)](http://travis-ci.org/cc65/cc65/builds)
 
 cc65 is a complete cross development package for 65(C)02 systems, including
 a powerful macro assembler, a C compiler, linker, librarian and several
index c773448651f13bb627551950247a060a0e4cc86e..7de8b26cea1270d3dc1b75541ef930a211c1cf28 100644 (file)
@@ -2,7 +2,7 @@
 
 <article>
 <title>cc65 Documentation Overview
-<author><url url="https://github.com/cc65/cc65/">
+<author><url url="http://cc65.github.io/doc">
 <date>
 
 <sect>Program documentation<p>
index cf6392bd33a930a426f7d22b77c6e0d8fbc998dd..427d0bd137e7fca39585e2e559c3f7f3c7c3507d 100644 (file)
@@ -766,8 +766,12 @@ static unsigned Opt_toseqax_tosneax (StackOpData* D, const char* BoolTransformer
         InsertEntry (D, X, D->IP++);
 
         /* Lhs load entries can be removed */
-        D->Lhs.X.Flags |= LI_REMOVE;
-        D->Lhs.A.Flags |= LI_REMOVE;
+        if (LoadX->AM != AM65_IMM) {
+            D->Lhs.X.Flags |= LI_REMOVE;
+        }
+        if (LoadA->AM != AM65_IMM) {
+            D->Lhs.A.Flags |= LI_REMOVE;
+        }
 
     } else if ((D->Rhs.A.Flags & (LI_DIRECT | LI_RELOAD_Y)) == LI_DIRECT &&
                (D->Rhs.X.Flags & (LI_DIRECT | LI_RELOAD_Y)) == LI_DIRECT) {
@@ -790,8 +794,12 @@ static unsigned Opt_toseqax_tosneax (StackOpData* D, const char* BoolTransformer
         InsertEntry (D, X, D->IP++);
 
         /* Rhs load entries can be removed */
-        D->Rhs.X.Flags |= LI_REMOVE;
-        D->Rhs.A.Flags |= LI_REMOVE;
+        if (LoadX->AM != AM65_IMM) {
+            D->Rhs.X.Flags |= LI_REMOVE;
+        }
+        if (LoadA->AM != AM65_IMM) {
+            D->Rhs.A.Flags |= LI_REMOVE;
+        }
 
     } else if ((D->Rhs.A.Flags & LI_DIRECT) != 0 &&
                (D->Rhs.X.Flags & LI_DIRECT) != 0) {
index 191daddad50df5c213effd4617921f5891bbd38c..1f63e9430da997d511994f76b0bd3933ed5f514a 100644 (file)
@@ -268,7 +268,9 @@ void EnterFunctionLevel (void)
     TagTab  = S;
 
     /* Create and assign a new label table */
-    LabelTab = NewSymTable (SYMTAB_SIZE_LABEL);
+    S = NewSymTable (SYMTAB_SIZE_LABEL);
+    S->PrevTab = LabelTab;
+    LabelTab = S;
 }
 
 
@@ -286,6 +288,7 @@ void RememberFunctionLevel (struct FuncDesc* F)
     /* Don't delete the tables */
     SymTab = SymTab->PrevTab;
     TagTab = TagTab->PrevTab;
+    LabelTab = LabelTab->PrevTab;
 }