Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								8e5731aee7 
								
							 
						 
						
							
							
								
								compiler: add support for pointers as map keys  
							
							
							
						 
						
							2019-06-08 21:48:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0cc35b6188 
								
							 
						 
						
							
							
								
								Add a note to use --recursive when cloning the TinyGo repo  
							
							
							
						 
						
							2019-06-08 22:50:14 +10:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								5cf7fba1a4 
								
							 
						 
						
							
							
								
								compiler: remove //go:volatile support  
							
							
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								e67506ee68 
								
							 
						 
						
							
							
								
								arm: update to avoid //go:volatile  
							
							... 
							
							
							
							This change results in changes to all smoketests for Cortex-M based
chips: they get a bit smaller (32-48 bytes). I'm not sure why but
probably because the inliner made a different inlining decision. There
was a similar effect when files generated from SVD files switched to the
new volatile types so it's probably harmless. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								f2c205a008 
								
							 
						 
						
							
							
								
								machine: update ringbuffer to use runtime/volatile.Register8  
							
							... 
							
							
							
							This avoids the //go:volatile pragma, which will be removed soon.
There were no changes to the output of the smoke tests. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								c84c625585 
								
							 
						 
						
							
							
								
								runtime: update to avoid //go:volatile  
							
							... 
							
							
							
							There was exactly one change in the output of the smoke tests:
examples/test. However, it still runs just fine on a PCA10040. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								9673ad3774 
								
							 
						 
						
							
							
								
								all: move Register{8,16,32} values into runtime/volatile  
							
							... 
							
							
							
							This avoids duplication of code. None of the smoke tests have changed
their output. 
							
						 
						
							2019-06-06 19:46:49 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								66aca428ba 
								
							 
						 
						
							
							
								
								compiler: rename import path if it lies in TINYGOPATH  
							
							... 
							
							
							
							This allows importing (for example) both
"github.com/tinygo-org/tinygo/src/machine" and "machine" without issues.
The former is renamed to just "machine". 
							
						 
						
							2019-06-06 16:01:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								ec87811420 
								
							 
						 
						
							
							
								
								compiler: do not panic on duplicate functions  
							
							... 
							
							
							
							Instead, show a regular error message. This is much more user-friendly. 
							
						 
						
							2019-06-06 16:01:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								776dc1e0d9 
								
							 
						 
						
							
							
								
								main: show a better error when version detection of GOROOT failed  
							
							
							
						 
						
							2019-06-06 13:59:37 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								beea2f1f30 
								
							 
						 
						
							
							
								
								docs: add note to current/future contributors to please start by opening a GH issue to avoid duplication of effort  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-06-06 12:09:17 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								5f9c683abf 
								
							 
						 
						
							
							
								
								main: return an error when running a command failed  
							
							
							
						 
						
							2019-06-05 09:08:44 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								0ce4d90779 
								
							 
						 
						
							
							
								
								cgo: add support for anonymous structs  
							
							
							
						 
						
							2019-06-03 20:01:47 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Tomer Elmalem 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								1047c9bd05 
								
							 
						 
						
							
							
								
								reflect: stub out reflect.New and reflect.Zero  
							
							
							
						 
						
							2019-06-03 19:26:47 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								1d7cc2c242 
								
							 
						 
						
							
							
								
								cgo: add support for bitfields using generated getters and setters  
							
							
							
						 
						
							2019-06-03 16:13:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								23c8d15847 
								
							 
						 
						
							
							
								
								main: add -dev suffix to version  
							
							
							
						 
						
							2019-06-03 16:09:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								da85710894 
								
							 
						 
						
							
							
								
								main: version 0.6.0  
							
							
							
						 
						
							2019-05-29 16:38:04 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									j7b 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0ae467d3e2 
								
							 
						 
						
							
							
								
								llvm cpu features  
							
							
							
						 
						
							2019-05-28 15:41:34 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Justin Clift 
								
							 
						 
						
							
							
							
							
								
							
							
								4442b1304e 
								
							 
						 
						
							
							
								
								Trivial typo fix  
							
							
							
						 
						
							2019-05-28 09:55:35 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								83ab61e261 
								
							 
						 
						
							
							
								
								ci: install Go 1.12.5 on macOS  
							
							... 
							
							
							
							This should fix compatibility with the Go 1.12 stdlib:
https://github.com/tinygo-org/tinygo/issues/368  
							
						 
						
							2019-05-27 19:47:12 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								2504754325 
								
							 
						 
						
							
							
								
								machine/samd21: use HasBits() method to simplify bit comparisons  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-27 18:43:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								be491abc46 
								
							 
						 
						
							
							
								
								machine/stm32: use HasBits() method to simplify bit comparisons  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-27 18:43:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								31189deb3b 
								
							 
						 
						
							
							
								
								machine/avr: use HasBits() method to simplify bit comparisons  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-27 18:43:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								90cd3f8ea5 
								
							 
						 
						
							
							
								
								tools: generate volatile HasBits() method in device wrappers to simplify bit comparison code  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-27 18:43:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								2f95a5d452 
								
							 
						 
						
							
							
								
								ci: use go modules instead of dep  
							
							... 
							
							
							
							This also updates the LLVM build to include this commit:
d519e424c5 
							
						 
						
							2019-05-27 18:42:36 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								eb1d834dd4 
								
							 
						 
						
							
							
								
								wasm: add support for js.FuncOf  
							
							
							
						 
						
							2019-05-27 13:35:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								3313decb68 
								
							 
						 
						
							
							
								
								compiler,runtime: make panic functions camelCase  
							
							... 
							
							
							
							Rename panic functions to be runtime.nilPanic, runtime.lookupPanic, and
runtime.slicePanic. 
							
						 
						
							2019-05-27 13:35:59 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								191a076956 
								
							 
						 
						
							
							
								
								docs: update list of supported MCU boards  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-27 09:43:24 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								0f2dcba7b3 
								
							 
						 
						
							
							
								
								syscall: implement Exit call on unix  
							
							
							
						 
						
							2019-05-27 07:50:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								94b8214529 
								
							 
						 
						
							
							
								
								machine: refactor pins to be of Pin type  
							
							
							
						 
						
							2019-05-26 20:48:50 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								421ef04efb 
								
							 
						 
						
							
							
								
								wasm: fix Makefile to avoid debuginfo  
							
							
							
						 
						
							2019-05-25 18:40:56 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								f7687c43aa 
								
							 
						 
						
							
							
								
								wasm: fix wasm-ld hang  
							
							... 
							
							
							
							See the following bugs for more information:
https://bugs.llvm.org/show_bug.cgi?id=41508 
https://bugs.llvm.org/show_bug.cgi?id=37064  
							
						 
						
							2019-05-25 18:25:46 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								5a7bab8808 
								
							 
						 
						
							
							
								
								main: add the absolute path to clang-8 on macOS  
							
							... 
							
							
							
							This avoids the need to correctly set $PATH if LLVM 8 has been installed
using Homebrew. 
							
						 
						
							2019-05-24 19:53:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								3a73e64557 
								
							 
						 
						
							
							
								
								tools/gen-device: complete refactor to new generator based on volatile package  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-24 16:28:47 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								9f8340a970 
								
							 
						 
						
							
							
								
								machine/nrf: refactor to use volatile package/API  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-24 15:44:33 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									k-brk 
								
							 
						 
						
							
							
							
							
								
							
							
								0f6873cf02 
								
							 
						 
						
							
							
								
								machine/stm32f103xx: fix i2c 2 byte read  
							
							
							
						 
						
							2019-05-24 15:26:06 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								f2cd4d12e8 
								
							 
						 
						
							
							
								
								compiler,runtime: fix multiple definitions of a single function  
							
							... 
							
							
							
							strings.IndexByte was implemented in the runtime up to Go 1.11. It is
implemented using a direct call to internal/bytealg.IndexByte since Go
1.12.
Make sure we remain compatible with both. 
							
						 
						
							2019-05-24 14:51:40 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								7e6a54ac62 
								
							 
						 
						
							
							
								
								main: add build tags for the Go stdlib version  
							
							
							
						 
						
							2019-05-24 14:51:40 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								7156afca9e 
								
							 
						 
						
							
							
								
								interp: support some more expressions in const icmp  
							
							
							
						 
						
							2019-05-24 14:00:23 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								87ac804642 
								
							 
						 
						
							
							
								
								ci: make sure that all examples are included in the smoketests  
							
							
							
						 
						
							2019-05-24 13:51:20 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								edcb11f9f6 
								
							 
						 
						
							
							
								
								ci: move tests from CircleCI config to Makefile  
							
							... 
							
							
							
							This makes it easier to run smoke tests locally. 
							
						 
						
							2019-05-24 13:51:20 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								3568254593 
								
							 
						 
						
							
							
								
								machine/atsamd21: fix analog pin mode  
							
							
							
						 
						
							2019-05-23 20:37:10 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								3bf4c06c99 
								
							 
						 
						
							
							
								
								interp: work around limitation of constfolding in IR builder  
							
							... 
							
							
							
							The IR builder does not appear to fold comparisons of constant inttoptr
instructions to const null pointer. So do it manually during
interpretatin, as a somewhat ugly hack.
This fixes https://github.com/tinygo-org/tinygo/issues/363  
							
						 
						
							2019-05-21 19:33:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								f1d9e7b75e 
								
							 
						 
						
							
							
								
								interp: make errors during branches more reliable  
							
							... 
							
							
							
							Previously, there was a suble error in that .IsConstant() is not always
allowed to be called, resulting in a i1 that was not 0 or 1. Fix this by
checking for the constants directly and adding some more diagnostics to
catch more cases. 
							
						 
						
							2019-05-21 19:33:19 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								e4d53daa02 
								
							 
						 
						
							
							
								
								machine/stm32: refactor to use new volatile package for all register access  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-21 15:08:43 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								98a3047b58 
								
							 
						 
						
							
							
								
								all: add go.mod and go.sum files for vgo support  
							
							... 
							
							
							
							Add required files for vgo support. The new vgo system defaults to on
since Go 1.13 so we should be prepared for that once the release hits.
It is also useful for testing Go 1.13 before the release. 
							
						 
						
							2019-05-20 11:40:29 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								ba85c82fbb 
								
							 
						 
						
							
							
								
								arm: print an error when a HardFault occurs  
							
							... 
							
							
							
							This is very useful for debugging. It differentiates between a stack
overflow and other errors (because it's easy to see when a stack
overflow occurs) and prints the old stack pointer and program counter if
available. 
							
						 
						
							2019-05-20 11:39:17 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ayke van Laethem 
								
							 
						 
						
							
							
							
							
								
							
							
								7b6ef65fe7 
								
							 
						 
						
							
							
								
								compiler: create temporary allocas with appropriate lifetimes  
							
							... 
							
							
							
							Make sure all allocas are created in the entry block and are given the
right lifetimes. This is good for code quality:
  * Moving allocas to the entry block makes sure they are always
    allocated statically (avoiding the need for a frame pointer) and do
    not grow the stack on each new alloca instruction. This is
    especially useful in loops where it could otherwise lead to a stack
    overflow even though there is no recursion.
  * Adding lifetime markers allows LLVM to reuse stack areas for
    different allocas as long as their lifetimes do not overlap.
All in all, this reduces code size in all tested cases for the BBC
micro:bit, and reduces code size for most cases for WebAssembly. 
							
						 
						
							2019-05-20 09:52:42 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								de032cddd2 
								
							 
						 
						
							
							
								
								machine/sam: Refactor all machine/runtime code to use new volatile package/API  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-19 19:53:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Ron Evans 
								
							 
						 
						
							
							
							
							
								
							
							
								51c6b972bf 
								
							 
						 
						
							
							
								
								machine/feather-m0: correct board build tag and add placeholders for I2S interface  
							
							... 
							
							
							
							Signed-off-by: Ron Evans <ron@hybridgroup.com> 
							
						 
						
							2019-05-19 19:52:14 +02:00