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
- 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="
+++ /dev/null
-.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
--- /dev/null
+.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
-[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
<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>
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) {
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) {
TagTab = S;
/* Create and assign a new label table */
- LabelTab = NewSymTable (SYMTAB_SIZE_LABEL);
+ S = NewSymTable (SYMTAB_SIZE_LABEL);
+ S->PrevTab = LabelTab;
+ LabelTab = S;
}
/* Don't delete the tables */
SymTab = SymTab->PrevTab;
TagTab = TagTab->PrevTab;
+ LabelTab = LabelTab->PrevTab;
}