diff options
author | Ayke van Laethem <[email protected]> | 2021-02-12 01:34:22 +0100 |
---|---|---|
committer | Ron Evans <[email protected]> | 2022-05-18 15:20:09 +0200 |
commit | 109b5298c4b2e068a00de5376d9552ace4a5cda4 (patch) | |
tree | 224d2f72ec5c0cfae7cc0a88f7082dd11f5f9006 /main_test.go | |
parent | a94e03eff26792effe80ec3accb8c251d165681e (diff) | |
download | tinygo-109b5298c4b2e068a00de5376d9552ace4a5cda4.tar.gz tinygo-109b5298c4b2e068a00de5376d9552ace4a5cda4.zip |
avr: use compiler-rt
This change adds support for compiler-rt, which supports float64 (unlike
libgcc for AVR). This gets a number of tests to pass that require
float64 support.
We're still using libgcc with this change, but libgcc will probably be
removed eventually once AVR support in compiler-rt is a bit more mature.
I've also pushed a fix for a small regression in our
xtensa_release_14.0.0-patched LLVM branch that has also been merged
upstream. Without it, a floating point comparison against zero always
returns true which is certainly a bug. It is necessary to correctly
print floating point values.
Diffstat (limited to 'main_test.go')
-rw-r--r-- | main_test.go | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/main_test.go b/main_test.go index 6139b74b7..0e6bdfbdf 100644 --- a/main_test.go +++ b/main_test.go @@ -182,11 +182,6 @@ func runPlatTests(options compileopts.Options, tests []string, t *testing.T) { // Not all tests are currently supported on AVR. // Skip the ones that aren't. switch name { - case "atomic.go": - // Requires GCC 11.2.0 or above for interface comparison. - // https://github.com/gcc-mirror/gcc/commit/f30dd607669212de135dec1f1d8a93b8954c327c - continue - case "reflect.go": // Reflect tests do not work due to type code issues. continue @@ -203,20 +198,12 @@ func runPlatTests(options compileopts.Options, tests []string, t *testing.T) { // Reflect size calculation crashes. continue - case "binop.go": - // Interface comparison results are inverted. - continue - case "channel.go": // Freezes after recv from closed channel. continue - case "float.go", "math.go", "print.go": - // Stuck in runtime.printfloat64. - continue - - case "interface.go": - // Several comparison tests fail. + case "math.go": + // Stuck somewhere, not sure what's happening. continue case "cgo/": |