mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-15 08:23:41 +00:00
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.
This commit is contained in:
committed by
Ron Evans
parent
a94e03eff2
commit
109b5298c4
+2
-15
@@ -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/":
|
||||
|
||||
Reference in New Issue
Block a user