Release 0.6.0
Version 0.6.0 again has many improvements. Big changes are much better CGo support, support for js.FuncOf
(Go 1.12+), and support for two new boards: the Adafruit Feather M0 and the Adafruit Trinket M0. Other than that, there were lots of smaller improvements and bug fixes.
0.6.0
- command line
- some portability improvements
- make
$GOROOT
more robust and configurable - check for Clang at the Homebrew install location as fallback
- compiler driver
- support multiple variations of LLVM commands, for non-Debian distributions
- compiler
- improve code quality in multiple ways
- make panic configurable, adding trap on panic
- refactor many internal parts of the compiler
- print all errors encountered during compilation
- implement calling function values of a named type
- implement returning values from blocking functions
- allow larger-than-int values to be sent across a channel
- implement complex arithmetic
- improve hashmap support
- add debuginfo for function arguments
- insert nil checks on stores (increasing code size)
- implement volatile operations as compiler builtins
- add
//go:inline
pragma - add build tags for the Go stdlib version
- cgo
- implement
char
,enum
andvoid*
types - support
#include
for builtin headers - improve typedef/struct/enum support
- only include symbols that are necessary, for broader support
- mark external function args as
nocapture
- implement support for some
#define
constants - implement support for multiple CGo files in a single package
- implement
- standard library
machine
: remove microbit matrix (moved to drivers repository)machine
: refactor pins to usePin
type instead ofGPIO
runtime
: print more interface types on panic, includingerror
- targets
arm
: print an error on HardFault (including stack overflows)atsamd21
: fix a bug in the ADC peripheralatsamd21
: add support for I2Sfeather-m0
: add support for this boardnrf51
: fix a bug in I2Cstm32f103xx
: fix a bug in I2Csyscall
: implementExit
on unixtrinket-m0
: add support for this boardwasm
: make main example smallerwasm
: don't cache wasm file in the server, for ease of debuggingwasm
: work around bug #41508 that caused a deadlock while linkingwasm
: add support forjs.FuncOf