diff --git a/_examples/misc/native_test.wa b/_examples/misc/native_test.wa new file mode 100644 index 0000000000000000000000000000000000000000..e5eac5ce3921991e95d87edf8116e5314afe4c03 --- /dev/null +++ b/_examples/misc/native_test.wa @@ -0,0 +1,22 @@ +# 版权 @2022 凹语言 作者。保留所有权利。 + +fn main { + println("你好,凹语言", '!') + println("your lucky numbers:", calc1(6, 9, 8), ", ", 5, ", ", 5.44, ", ", calc3(6, 9, 8)) +} + +fn calc0(a: i32, b: i32, c: i32) i32 { + return (-a) * 5 / (b - c + 2) +} + +fn calc1(a: i32, b: i32, c: i32) i32 { + return calc0(a, b, c) +} + +fn calc2(a: float32, b: float32, c: float32) float32 { + return (-a) * 5 / (b - c + 2) +} + +fn calc3(a: float32, b: float32, c: float32) float32 { + return calc2(a, b, c) +} diff --git a/internal/app/app.wa.go b/internal/app/app.wa.go index e80f3282662293cc856c71d23f52572a5d1cd16f..8d0a2a7cfcdee9a13b6e321ab59063c01197cacf 100644 --- a/internal/app/app.wa.go +++ b/internal/app/app.wa.go @@ -318,7 +318,7 @@ func (p *App) LLVM(infile string, outfile string, target string) error { } // Invoke command `clang infile.s -o outfile --target=xxx`. - clang := []string{infile + ".s", "-o", outfile} + clang := []string{infile + ".s", "-static", "-o", outfile} if target != "" { clang = append(clang, "-target", target) }