Damian Gryski
c0ea21ece7
src/reflect: add test for indirect array indexing
2021-12-18 10:02:36 +01:00
Damian Gryski
81edf577a3
src/reflect: add test for indirect pointer fix
2021-12-18 10:02:36 +01:00
Damian Gryski
484bb8f13d
src/reflect: fix stripPrefix comment
2021-12-18 10:02:36 +01:00
Damian Gryski
ae1e7731a4
src/reflect: comment out a now-failing test
...
Keys() is unimplemented, which is required to compare
these two maps.
2021-12-18 10:02:36 +01:00
Damian Gryski
518745ea79
src/reflect: make sure indirect pointers are handled correctly
...
Fixes #2370
Fixes #2323
2021-12-18 10:02:36 +01:00
Damian Gryski
38b14706e2
internal/task: fix two missed instances of extalloc
2021-12-17 17:36:49 -05:00
Nia Waldvogel
747336f0a9
runtime: remove extalloc
...
The extalloc collector has been broken for a while, and it doesn't seem reasonable to fix right now.
In addition, after a recent change it no longer compiles.
In the future similar functionality can hopefully be reintroduced, but for now this seems to be the most reasonable option.
2021-12-17 18:15:18 +01:00
Nia Waldvogel
e4de7b4957
internal/task: swap stack chain when switching goroutines
...
This change swaps the stack chain when switching goroutines, ensuring that the chain is maintained consistently.
This is only really currently necessary with asyncify on wasm.
2021-12-17 10:01:11 +01:00
Nia Waldvogel
e6fbad13c6
runtime (gc): correct scan bounds
...
This fixes 2 bugs in the GC scan bounds:
1. On AVR, the GC could sometimes read one byte past the end of a block due to the difference between pointer size and alignment.
2. On WASM, the linker does not properly align the marker for the end of the globals section. A manual alignment operation has been added to markGlobals to work around this.
2021-12-17 09:26:44 +01:00
Dan Kegel
62bda8e129
os: os_chmod_test.go: fix copyright
2021-12-16 16:36:53 -05:00
Dan Kegel
51d6ffb3be
os: Chmod: don't test on wasi yet, wasi-libc does not yet support it
...
Lets "tinygo test -target wasi os" compile, if not pass.
For https://github.com/tinygo-org/tinygo/issues/2369
2021-12-16 16:36:53 -05:00
deadprogram
5264469cbd
machine/stm32wl: unify implementation for RNG for stm32wl with other STM32 processors
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-15 18:33:41 +01:00
Nia Waldvogel
c096f35224
runtime: handle negative sleep times
...
This change fixes the edge case where a negative sleep time is provided.
When this happens, the call now returns immediately (as specified by the docs for time.Sleep).
2021-12-15 17:52:48 +01:00
Dan Kegel
929cd767c1
os/path_windows_test.go: don't fail on Wine, which allows dots for cur dir even in extended length paths
2021-12-15 12:23:28 +01:00
deadprogram
e1df2510d4
machine/stm32f4, stm32f7, stm32l4: implement TRNG for randomness
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-15 11:38:40 +01:00
deadprogram
2ebaa9f520
machine/samd51: implement TRNG for randomness
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-14 14:55:19 +01:00
deadprogram
5159eab694
examples: add example to exercise random number generation
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-14 14:55:19 +01:00
Dan Kegel
75dfb26452
os: skip TestMkdirTempBadDir on windows until TestStatBadDir passes
2021-12-14 09:25:27 +01:00
Dan Kegel
971da0bc09
os: implement and test os.MkdirTemp
2021-12-14 09:25:27 +01:00
Dan Kegel
0420842f4d
os: skip TestStatBadPath on windows for now
...
I'm not up enough on how syscall errors work on windows to figure this out yet.
2021-12-14 09:25:27 +01:00
Dan Kegel
d30f8b6ed6
os.Stat: returned error on nonexistent path did not satisfy IsNotExist
...
Add direct test for the problem to make the fix commit clearer.
Noticed while implementing MkdirTemp on mac; the upstream tests for MkdirTemp fail without this.
2021-12-14 09:25:27 +01:00
Dan Kegel
1f6b4a5e7b
os_test.go: use CreateTemp now that it is implemented
2021-12-14 09:25:27 +01:00
Dan Kegel
51fc78c100
os: implement and smoketest os.Clearenv
2021-12-13 23:05:17 +01:00
Dan Kegel
e4f2b9c003
os: implement and smoketest os.Unsetenv
2021-12-13 23:05:17 +01:00
Dan Kegel
cff4493ca0
os: implement and smoketest os.Setenv
2021-12-13 23:05:17 +01:00
Olivier Fauchon
93ac7cec0d
stm32/stm32wlx: Add support for stm32wl55_cm4
...
board/stm32: Add support for GNSE (Generic Node Sensor Edition)
Thanks to @jamestait for his help on GNSE port
2021-12-13 16:02:00 +01:00
Olivier Fauchon
b4503c1e37
stm32wl: STM32WL TRNG implementation in crypto/rand
2021-12-11 12:25:08 +01:00
Rouven Broszeit
0f69d016a0
Added realloc implementation to GCs
...
When using the latest wasi-libc I experienced a
panic on an attempt to call realloc. My first attempt to
add it to arch_tinygowasm.go was obviously not good (PR #2194 ). So here
is another suggestion.
2021-12-10 17:51:08 +01:00
Federico G. Schwindt
08d0dc0d25
Enable Getwd() in wasi and add tests
2021-12-10 09:50:38 +01:00
Dan Kegel
039186a2a3
src/os/stat.go: get build tags right, maybe
...
Should fix https://github.com/tinygo-org/tinygo/issues/2354
Untested with wasi
2021-12-09 22:14:29 +01:00
Damian Gryski
d6c892fe7b
src/runtime: fix nil map dereference
...
Operations on nil maps are accepted and shouldn't
panic. The base hashmapGet/hashmapDelete handled
nil-maps correctly, but the hashmapBinary versions
could segfault accessing the nil map while trying
to hash the key.
Fixes #2341
2021-12-09 18:23:49 +01:00
Federico G. Schwindt
cfe6b9765f
Test net.Buffers{}
2021-12-09 14:35:52 +01:00
Federico G. Schwindt
539495ef45
Add net.Buffers
...
Should fix https://github.com/mailru/easyjson/issues/335 , for the
most part.
2021-12-09 14:35:52 +01:00
Damian Gryski
1903cf23c9
src/runtime: improve float/complex hashing
...
This allows positive and negative zero to hash to the same value,
as required by Go.
This is not perfect, but the best I could do without
revamping all the hash funtions to take a seed.
Fixes #2356
2021-12-08 22:38:22 +01:00
deadprogram
9734f349a3
net/interface: use internal implementation for itoa.Uitoa
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-08 14:43:45 +01:00
soypat
d87ff838eb
net: add bare Interface implementation
2021-12-08 12:34:08 +01:00
Damian Gryski
a360c82b40
src/runtime: strengthen hash function for structs and arrays
...
Using `|` to combine hash values will slowly turn every bit on.
Hashes combined with `^` with keep more entropy.
2021-12-08 10:33:35 +01:00
deadprogram
4a2faeb2c5
machine/stm32f103: initial implementation on ADC interface
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-07 20:12:23 +01:00
deadprogram
99f00d396d
machine/bluepill: add definitions for ADC pins
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-07 20:12:23 +01:00
deadprogram
049c5ed3b1
machine/stm32f4: initial implementation for ADC interface
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-07 20:12:23 +01:00
deadprogram
cce02cd046
machine/stm32f4disco: add definitions for ADC pins
...
Signed-off-by: deadprogram <ron@hybridgroup.com>
2021-12-07 20:12:23 +01:00
Dan Kegel
be7bbba4ca
os: implement and smoketest os.Chmod
2021-12-07 10:54:02 +01:00
Dan Kegel
e668c8c1a7
os: implement and smoketest os.Chdir
2021-12-07 10:54:02 +01:00
Dan Kegel
d62c9696fb
os_unix_test.go: rename to os_anyos_test.go, add windows build tag
...
Also remove now-unsupported freebsd build tag.
2021-12-06 21:56:41 +01:00
Damian Gryski
343146f35c
src/testing: stub b.RunParallel() and PB.Next()
2021-12-06 20:09:36 +01:00
Dan Kegel
1a22d92217
os: remove as-yet unused function splitPath
2021-12-03 09:38:40 +01:00
Dan Kegel
8416bb61d8
os: implement MkdirAll
2021-12-03 09:38:40 +01:00
Damian Gryski
85ad157f3f
src/os: fix build tags for non-windows PathSeparator
2021-12-01 18:39:37 +01:00
Dan Kegel
b123ffcea4
os: implement CreateTemp
...
Until tinygo implements fastrand(), use a placeholder RNG here.
2021-12-01 12:53:04 +01:00
Dan Kegel
ec9fd3fb38
os, syscall: implement Stat and Lstat
...
File.Stat is left as a stub for now.
Tests are a bit stubbed down because os.ReadDir, os.Symlink, and t.TempDir are not yet (fully) implemented.
TODO: reimport tests from upstream as those materialize.
2021-12-01 00:23:23 +01:00