tinygo/compiler
Ayke van Laethem 52bac4d75b compiler: support recursive types
Previously, the cycle was broken by inserting an unsafe.Pointer type in
some places. This is of course incorrect, and makes debugging harder.
However, LLVM provides a way to make temporary nodes that are later
replaced, exactly for this purpose.

This commit uses those temporary metadata nodes to allow such recursive
types.
2019-10-13 23:07:47 +02:00
..
asserts.go
calls.go
channel.go Improved blocking (#513) 2019-09-22 17:58:00 +02:00
check.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
compiler.go compiler: support recursive types 2019-10-13 23:07:47 +02:00
defer.go
errors.go all: improve compiler error handling 2019-04-26 08:52:10 +02:00
func-lowering.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
func.go compiler: add support for 'go' on func values 2019-08-17 11:51:43 +02:00
gc.go
goroutine-lowering.go fix LLVM assertions from improved blocking 2019-09-25 23:04:53 +02:00
goroutine.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
inlineasm.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
interface-lowering.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
interface.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
llvm.go reflect: add support for linked lists 2019-08-11 15:00:43 +02:00
map.go
optimizer.go Improved blocking (#513) 2019-09-22 17:58:00 +02:00
reflect.go reflect: delete incorrect optimization 2019-09-24 16:13:19 +02:00
sizes.go
symbol.go compiler: add //go:align pragma 2019-09-18 20:15:17 +02:00
syscall.go
volatile.go compiler: implement volatile operations as compiler builtins 2019-05-14 12:24:01 +02:00
wordpack.go compiler: rename getZeroValue to llvm.ConstNull 2019-09-15 19:09:10 +02:00