dbetz / propeller-gcc Goto Github PK
View Code? Open in Web Editor NEWA port of GCC to the Parallax Propeller
License: GNU General Public License v3.0
A port of GCC to the Parallax Propeller
License: GNU General Public License v3.0
Please add installing fastspin too. It already is built while building spin2cpp, just installing it is missing.
diff --git a/Makefile b/Makefile
index d510865..583a727 100644
--- a/Makefile
+++ b/Makefile
@@ -330,7 +330,7 @@ spin2cpp:
@$(ECHO) Building spin2cpp
@$(MAKE) -C spin2cpp CROSS=$(CROSS) BUILD=$(BUILD)/spin2cpp
@$(ECHO) Installing spin2cpp
- @$(CP) $(BUILD)/spin2cpp/spin2cpp$(EXT) $(PREFIX)/bin
+ @$(CP) $(BUILD)/spin2cpp/spin2cpp$(EXT) $(BUILD)/spin2cpp/fastspin$(EXT) $(PREFIX)/bin
.PHONY: clean-spin2cpp
clean-spin2cpp:
When porting a pasm source to gcc-as, I found these two errors are not reported (file compiles but result is not what is expected):
%% number syntax is not supported, result is always 0, workaround use any other number syntax (%binary works, $hex works, etc.)
file include directive doesn't work, result is the definition of one long with value 0, workaround use .incbin as per gcc-as documentation
The README.md documentation of propeller-ggc at the top level gives an incorrect naming for the file that fixes xcode warnings. Here's the incorrect text:
Also, the Xcode compiler seems to be more picky than the compilers on other platforms
so you will probably need to disable some warnings:
source fix_xcode_warnings.sh **<== incorrect file name with underscores**
Should be:
source fix-xcode-warnings.sh <== '-' dashes replace '_' underscores
If users copy/paste the uncorrected line into a terminal session, they'll get a failure:
-bash: fix_xcode_warnings.sh: No such file or directory
I'd like to say it's a bug in 6.0, but it's certainly possible that there's a bug in my code as well. All I know is that build 2408 compiles my code in such a way that it runs correctly, and the latest 6.0 build (from my build server) does not.
The code I'm testing is this example:
#include <PropWare/printer/printer.h>
#include <PropWare/filesystem/sd.h>
#include <PropWare/filesystem/fat/fatfilereader.h>
using namespace PropWare;
int main() {
const SD driver;
FatFS filesystem(&driver);
filesystem.mount();
FatFileReader reader(filesystem, "fat_test.txt");
reader.open();
while (!reader.eof())
pwOut << reader.get_char();
return 0;
}
I understand that's not much help since it includes a lot of unknowns. I worked through it a bit to try and narrow down what is causing the issue, and here's what I found out:
This doesn't work (and by that, I mean nothing is printed to the terminal. nothing at all - even the first "Hello" line)
#include <PropWare/printer/printer.h>
#include <PropWare/filesystem/sd.h>
#include <PropWare/filesystem/fat/fatfilereader.h>
using namespace PropWare;
int main() {
pwOut << "Hello\n";
const SD driver;
pwOut << "Hello\n";
FatFS filesystem(&driver);
pwOut << "Hello\n";
return 0;
}
And this does (all three "Hello"s are printed)
#include <PropWare/printer/printer.h>
#include <PropWare/filesystem/sd.h>
#include <PropWare/filesystem/fat/fatfilereader.h>
using namespace PropWare;
int main() {
pwOut << "Hello\n";
const SD driver;
pwOut << "Hello\n";
//FatFS filesystem(&driver);
pwOut << "Hello\n";
return 0;
}
I commented out the constructor for both FatFS and Filesystem (parent class to FatFS) such that they were quite trivial, and it didn't help.
Once in a while, when I compile PropWare with make -j9
, I get a failure the first time through. Usually that means I haven't declared dependencies correct and so something is being linked before the library really exists.... but that isn't the case here.
adcACpropab.s: Assembler messages:
adcACpropab.s:109: Error: junk at end of line, first unrecognized character is `,'
adcACpropab.s is not part of the source - that is the compiled assembly from PropGCC, coming from a file in the Simple library propsideworkspace/Learn/Simple_Libraries/Convert/libadcACpropab/adcACpropab.cogc
. This is with a recent build of PropGCC GCC4 from my TeamCity server.
I use headers such as cstring
in PropWare, but these are not included in PropGCC GCCv5 yet.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.