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 compiler: support constant indices with a named type 2019-10-01 21:31:00 +02:00
calls.go Improved blocking (#513) 2019-09-22 17:58:00 +02:00
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 fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
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 fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
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 compiler: add support for pointers as map keys 2019-06-08 21:48:05 +02:00
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 compiler: allow larger-than-int values to be sent across a channel 2019-05-05 16:46:50 +02:00
symbol.go compiler: add //go:align pragma 2019-09-18 20:15:17 +02:00
syscall.go fix bugs found by LLVM assertions 2019-09-16 18:31:33 +02:00
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