tinygo/testdata
Ayke van Laethem e1052f921c compiler: define atomic intrinsic functions directly
This changes the compiler from treating calls to sync/atomic.* functions
as special calls (emitted directly at the call site) to actually
defining their declarations when there is no Go SSA implementation. And
rely on the inliner to inline these very small functions.
This works a bit better in practice. For example, this makes it possible
to use these functions in deferred function calls.

This commit is a bit large because it also needs to refactor a few
things to make it possible to define such intrinsic functions.
2022-06-24 11:10:24 +02:00
..
cgo cgo: add support for C.CString and related functions 2021-11-24 21:09:29 +01:00
embed all: add support for the embed package 2022-05-30 10:41:17 +02:00
alias.go fix bug in IR regarding type aliases 2019-09-20 10:35:49 +02:00
alias.txt fix bug in IR regarding type aliases 2019-09-20 10:35:49 +02:00
atomic.go compiler: define atomic intrinsic functions directly 2022-06-24 11:10:24 +02:00
atomic.txt compiler: define atomic intrinsic functions directly 2022-06-24 11:10:24 +02:00
binop.go runtime: allow comparing interfaces in reflectValueEqual() 2021-11-24 14:17:47 +01:00
binop.txt runtime: allow comparing interfaces in reflectValueEqual() 2021-11-24 14:17:47 +01:00
calls.go compiler: add support for recursive function types 2021-10-30 15:55:20 +02:00
calls.txt compiler: implement func value and builtin defers 2020-07-31 01:48:57 +02:00
channel.go compiler: fix a few crashes due to named types 2020-05-27 16:14:41 +02:00
channel.txt runtime: add cap and len support for chans 2020-05-12 01:17:27 +02:00
corpus.yaml compiler: implement recover() built-in function 2022-06-16 07:59:21 +02:00
env.go os: stub out support for some more features 2021-11-26 08:05:35 +01:00
env.txt wasm: add support for the crypto/rand package 2021-08-05 19:01:14 +02:00
filesystem.go Enable Getwd() in wasi and add tests 2021-12-10 09:50:38 +01:00
filesystem.txt main: clean up tests 2021-04-09 18:33:48 +02:00
float.go compiler: test float to int conversions and fix upper-bound calculation 2021-01-19 14:02:32 +01:00
float.txt compiler: test float to int conversions and fix upper-bound calculation 2021-01-19 14:02:32 +01:00
gc.go avr: use a garbage collector 2020-01-27 19:01:55 +01:00
gc.txt runtime: implement a simple mark/sweep garbage collector 2018-11-18 19:18:39 +01:00
generics.go compiler: add support for type parameters (aka generics) 2022-06-11 20:41:16 +02:00
generics.txt compiler: add support for type parameters (aka generics) 2022-06-11 20:41:16 +02:00
go1.17.go compiler: add support for new language features of Go 1.17 2021-08-30 09:18:58 +02:00
go1.17.txt compiler: add support for new language features of Go 1.17 2021-08-30 09:18:58 +02:00
goroutines.go internal/task: remove coroutines 2022-01-19 14:42:02 -05:00
goroutines.txt interp: run goroutine starts and checks at runtime 2021-12-24 09:10:21 +01:00
init.go interp: use object layout information for LLVM types 2021-11-02 22:16:15 +01:00
init.txt interp: don't ignore array indices for untyped objects 2021-07-14 07:55:05 +02:00
init_multi.go testdata: add more test cases in testdata 2018-10-25 20:37:35 +02:00
init_multi.txt testdata: add more test cases in testdata 2018-10-25 20:37:35 +02:00
interface.go compiler: fix difference in aliases in interface methods 2022-04-07 12:54:17 +02:00
interface.txt compiler: fix difference in aliases in interface methods 2022-04-07 12:54:17 +02:00
json.go transform: optimize reflect.Type Implements() method 2021-03-28 14:00:37 +02:00
json.txt transform: optimize reflect.Type Implements() method 2021-03-28 14:00:37 +02:00
ldflags.go main: implement -ldflags="-X ..." 2021-04-09 18:33:48 +02:00
ldflags.txt main: implement -ldflags="-X ..." 2021-04-09 18:33:48 +02:00
map.go avr: enable testdata/map.go 2022-05-18 15:20:09 +02:00
map.txt testdata: move map growth test to map.go 2022-04-28 09:14:45 +02:00
math.go runtime: add support for math package 2019-02-05 19:37:21 +01:00
math.txt runtime: add support for math package 2019-02-05 19:37:21 +01:00
print.go runtime: use dedicated printfloat32 2020-10-02 11:26:22 +02:00
print.txt runtime: use dedicated printfloat32 2020-10-02 11:26:22 +02:00
rand.go wasm: add support for the crypto/rand package 2021-08-05 19:01:14 +02:00
rand.txt wasm: add support for the crypto/rand package 2021-08-05 19:01:14 +02:00
recover.go compiler: implement recover() built-in function 2022-06-16 07:59:21 +02:00
recover.txt compiler: implement recover() built-in function 2022-06-16 07:59:21 +02:00
reflect.go compiler: alignof(func) is 1 pointer, not 2 2022-05-25 11:01:00 +02:00
reflect.txt compiler: alignof(func) is 1 pointer, not 2 2022-05-25 11:01:00 +02:00
slice.go compiler: allow slices of empty structs. 2022-04-07 12:00:27 +02:00
slice.txt compiler: compare slice against nil 2018-10-20 17:22:51 +02:00
sort.go implement reflect.Swapper 2020-10-23 21:37:35 +02:00
sort.txt implement reflect.Swapper 2020-10-23 21:37:35 +02:00
stdlib.go runtime: handle negative sleep times 2021-12-15 17:52:48 +01:00
stdlib.txt os: implement virtual filesystem support 2020-05-13 08:08:57 +02:00
string.go compiler: fix named string to []byte slice conversion 2020-07-29 12:13:37 +02:00
string.txt compiler,runtime: implement []rune to string conversion 2019-08-11 15:45:35 +02:00
structs.go compiler: support recursive types 2019-10-13 23:07:47 +02:00
structs.txt compiler: support recursive types 2019-10-13 23:07:47 +02:00
testing.go On baremetal platforms, use simpler test matcher. Fixes #2666. 2022-03-15 05:59:00 +01:00
testing.txt On baremetal platforms, use simpler test matcher. Fixes #2666. 2022-03-15 05:59:00 +01:00
testing_go118.go main_test.go: fork testdata/testing.go for go 1.18 2022-04-06 20:03:04 +02:00
testing_go118.txt main_test.go: fork testdata/testing.go for go 1.18 2022-04-06 20:03:04 +02:00
zeroalloc.go testdata: fix formatting 2020-05-12 01:17:27 +02:00
zeroalloc.txt add code to handle programs which use heap allocations but never hit the GC 2019-11-17 15:14:51 +01:00