tinygo/compiler
Ayke van Laethem 6108ee6859 cgo: refactor union support
Instead of putting the magic in the AST, generate regular accessor
methods. This avoids a number of special cases in the compiler, and
avoids missing any of them.

The resulting union accesses are somewhat clunkier to use, but the
compiler implementation has far less coupling between the CGo
implementation and the IR generator.
2019-11-07 21:39:29 +01: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 add blocking select 2019-11-04 09:15:21 +01:00
check.go use error returns to generate detailed error messages in the IR checker 2019-10-25 15:50:03 +02:00
compiler.go cgo: refactor union support 2019-11-07 21:39:29 +01: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 miscompile of static goroutine calls to closures 2019-11-02 12:50:32 +01:00
func.go all: refactor compile options 2019-11-04 11:45:35 +01:00
gc.go all: refactor compile options 2019-11-04 11:45:35 +01:00
goroutine-lowering.go all: refactor compile options 2019-11-04 11:45:35 +01:00
goroutine.go all: refactor compile options 2019-11-04 11:45:35 +01:00
inlineasm.go all: add HiFive1 rev B board with RISC-V architecture 2019-07-07 14:03:24 +02:00
interface-lowering.go compiler: fix interface lowering miscompilation with reflect 2019-10-25 09:35:05 -04:00
interface.go cgo: refactor union support 2019-11-07 21:39:29 +01:00
llvm.go fix goroutine lowering type errors 2019-10-16 16:04:37 +02:00
map.go compiler: add support for pointers as map keys 2019-06-08 21:48:05 +02:00
optimizer.go all: refactor compile options 2019-11-04 11:45:35 +01:00
reflect.go reflect: delete incorrect optimization 2019-09-24 16:13:19 +02:00
sizes.go cgo: refactor union support 2019-11-07 21:39:29 +01:00
symbol.go compiler: add //go:align pragma 2019-09-18 20:15:17 +02:00
syscall.go all: refactor compile options 2019-11-04 11:45:35 +01: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