Граф коммитов

30 коммитов

Автор SHA1 Сообщение Дата
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.
2018-12-01 17:41:20 +01:00
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.
2018-12-01 13:40:42 +01:00
Ayke van Laethem
62d74d8329
all: compile and link using clang, where possible 2018-11-22 16:20:10 +01:00
Ron Evans
ce0ad1daa2
pca10031: add support for PCA10031 nrf51 wireless dongle
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-11-21 10:36:36 +01:00
Ayke van Laethem
9392ef900d
avr: add support for the digispark
Blinking the on-board LED works. Nothing else has been tested yet.
2018-11-20 18:50:24 +01:00
Ayke van Laethem
74b5e28a38
docs: add documentation for the -gc compiler flag 2018-11-18 19:32:57 +01:00
Ron Evans
ae3535945c
all: add support to Dockerfile for AVR and ARM targets
Signed-off-by: Ron Evans <ron@hybridgroup.com>
2018-11-15 12:53:10 +01:00
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.
2018-11-14 12:35:43 +01:00
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).
2018-11-03 12:03:49 +01:00
Ayke van Laethem
c7cf6f0e82
docs: move calling convention documentation here 2018-11-01 11:41:24 +01:00
Ayke van Laethem
85d5fe7643
docs: add description of internal datatypes 2018-10-31 20:47:12 +01:00
Ayke van Laethem
06b8afab2e
docs: add command line subcommands + flags documentation 2018-10-31 19:55:48 +01:00
Ayke van Laethem
7ea9a32058
docs: give a small example how JS<->wasm bridging is done 2018-10-31 19:55:46 +01:00
Ayke van Laethem
c88d2d10a7
docs: give a working Docker example 2018-10-21 22:42:38 +02:00
Ayke van Laethem
58ce5d9bf2
docs: add WebAssembly to targets and improve formatting 2018-10-21 20:22:21 +02:00
Ayke van Laethem
e5e09747f0
all: add WebAssembly backend 2018-10-21 19:47:47 +02:00
Johan Brandhorst
97caabb8c2 Add Dockerfile 2018-10-21 00:28:18 +01:00
Ayke van Laethem
b81aecf753
docs: add "Supported targets" page 2018-10-18 15:35:50 +02:00
Ayke van Laethem
72390c21cb
docs: add FAQ 2018-10-17 17:55:11 +02:00
Ayke van Laethem
392bba8394
compiler: add support for parameters to inline assembly 2018-10-15 19:37:09 +02:00
Ayke van Laethem
0e65b0da1c
docs: add page "Go on microcontrollers" 2018-10-09 15:32:40 +02:00
Ayke van Laethem
823ecd5167
docs: reorder internals sections 2018-10-09 15:32:40 +02:00
Ayke van Laethem
f0f6a12d19
docs: add avr-libc as a dependency 2018-10-07 22:14:44 +02:00
Ayke van Laethem
22da104530
all: use compiler-rt for builtins 2018-10-07 19:04:29 +02:00
Ayke van Laethem
bcf441ccba
docs: add another way in which a llvm-7-dev installation can fail 2018-09-30 18:02:15 +02:00
Ayke van Laethem
a2e57b40f9
docs: update installation instructions
* Update to system-installed LLVM.
  * Avoid the use of make.
2018-09-30 15:40:58 +02:00
Ayke van Laethem
3850530c88
docs/installation: fix LLVM hyperlink 2018-09-23 17:21:49 +02:00
Ayke van Laethem
3e1a60351d
docs/internals: fix hyperlink 2018-09-23 17:20:24 +02:00
Ayke van Laethem
c9a2b3f417
docs: remove "Indices and tables" 2018-09-23 17:05:32 +02:00
Ayke van Laethem
f7f33a1163
docs: add initial documentation 2018-09-23 16:46:57 +02:00