Ron Evans
b4dd2dbf60
docs: change links in README and remove old ReadTheDocs pages to point to TinyGo.org site
Signed-off-by: Ron Evans <ron@hybridgroup.com>
6 years ago
Konstantin Yegupov
a8dd82538e
all: add flag to enable i64 parameters in WebAssembly
6 years ago
Johan Brandhorst
a830451426
Dockerfile, README, docs: Remove entrypoint
This was causing more trouble than it was helping,
so lets remove it.
6 years ago
Ayke van Laethem
564b1b3312
compiler: always use fat function pointers with context
This reduces complexity in the compiler without affecting binary sizes
too much.
Cortex-M0: no changes
Linux x64: no changes
WebAssembly: some testcases (calls, coroutines, map) are slightly bigger
6 years ago
Ron Evans
8325f2a53d
reelboard: support Reel Board (nrf52840 dev board)
Signed-off-by: Ron Evans <ron@hybridgroup.com>
6 years ago
Ron Evans
8f35a4711a
pca10056: support this nrf52840-based board
Signed-off-by: Ron Evans <ron@hybridgroup.com>
6 years ago
Ayke van Laethem
e54a1c4dc0
compiler: disallow exporting functions that have their address taken
This simplifies the ABI a lot and makes future changes easier.
In the future, determining which functions need a context parameter
should be moved from IR generation into an optimization pass, avoiding
the need for recursively scanning the Go SSA.
6 years ago
Darren Rush
cea0a5977a
docs: enable tinygo/docker to resolve go dependencies
Example for mapping the GOPATH into the tinygo docker image so that go
dependencies installed on the host can be found by the image.
6 years ago
Ayke van Laethem
62d74d8329
all: compile and link using clang, where possible
6 years ago
Ron Evans
ce0ad1daa2
pca10031: add support for PCA10031 nrf51 wireless dongle
Signed-off-by: Ron Evans <ron@hybridgroup.com>
6 years ago
Ayke van Laethem
9392ef900d
avr: add support for the digispark
Blinking the on-board LED works. Nothing else has been tested yet.
6 years ago
Ayke van Laethem
74b5e28a38
docs: add documentation for the -gc compiler flag
6 years ago
Ron Evans
ae3535945c
all: add support to Dockerfile for AVR and ARM targets
Signed-off-by: Ron Evans <ron@hybridgroup.com>
6 years ago
Ayke van Laethem
101d41dc58
compiler: pass i64 return value in an extra pointer param
To support the WebAssembly<->JS barrier, return values also have to be
passed in memory. i64 return values are used by syscall/js, so must be
supported across this ABI barrier.
6 years ago
Ayke van Laethem
2e22d53e5d
compiler: work around i64 limitation in JavaScript
JavaScript does not support i64 directly, so make sure we pass a pointer
instead which can be read from JavaScript.
This is a temporary workaround which should be removed once JavaScript
supports some form of i64 (probably in the form of BigInt).
6 years ago
Ayke van Laethem
c7cf6f0e82
docs: move calling convention documentation here
6 years ago
Ayke van Laethem
85d5fe7643
docs: add description of internal datatypes
6 years ago
Ayke van Laethem
06b8afab2e
docs: add command line subcommands + flags documentation
6 years ago
Ayke van Laethem
7ea9a32058
docs: give a small example how JS<->wasm bridging is done
6 years ago
Ayke van Laethem
c88d2d10a7
docs: give a working Docker example
6 years ago
Ayke van Laethem
58ce5d9bf2
docs: add WebAssembly to targets and improve formatting
6 years ago
Ayke van Laethem
e5e09747f0
all: add WebAssembly backend
6 years ago
Johan Brandhorst
97caabb8c2
Add Dockerfile
6 years ago
Ayke van Laethem
b81aecf753
docs: add "Supported targets" page
6 years ago
Ayke van Laethem
72390c21cb
docs: add FAQ
6 years ago
Ayke van Laethem
392bba8394
compiler: add support for parameters to inline assembly
6 years ago
Ayke van Laethem
0e65b0da1c
docs: add page "Go on microcontrollers"
6 years ago
Ayke van Laethem
823ecd5167
docs: reorder internals sections
6 years ago
Ayke van Laethem
f0f6a12d19
docs: add avr-libc as a dependency
6 years ago
Ayke van Laethem
22da104530
all: use compiler-rt for builtins
6 years ago
Ayke van Laethem
bcf441ccba
docs: add another way in which a llvm-7-dev installation can fail
6 years ago
Ayke van Laethem
a2e57b40f9
docs: update installation instructions
* Update to system-installed LLVM.
* Avoid the use of make.
6 years ago
Ayke van Laethem
3850530c88
docs/installation: fix LLVM hyperlink
6 years ago
Ayke van Laethem
3e1a60351d
docs/internals: fix hyperlink
6 years ago
Ayke van Laethem
c9a2b3f417
docs: remove "Indices and tables"
6 years ago
Ayke van Laethem
f7f33a1163
docs: add initial documentation
6 years ago