ssa: builtin len&cap
This commit is contained in:
@@ -1,11 +1,33 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"github.com/goplus/llgo/internal/runtime/c"
|
||||
)
|
||||
|
||||
var a int64 = 1<<63 - 1
|
||||
var b int64 = -1 << 63
|
||||
var c uint64 = 1<<64 - 1
|
||||
var n uint64 = 1<<64 - 1
|
||||
|
||||
func main() {
|
||||
var a = []int{1, 2, 3, 4}
|
||||
_ = len(a)
|
||||
_ = len([]int{1, 2, 3, 4})
|
||||
var s = []int{1, 2, 3, 4}
|
||||
var a = [...]int{1, 2, 3, 4}
|
||||
|
||||
out(len(s))
|
||||
out(len([]int{1, 2, 3, 4}))
|
||||
out(len(a))
|
||||
out(len(&a))
|
||||
out(len([4]int{1, 2, 3, 4}))
|
||||
string_len("hello")
|
||||
|
||||
out(cap(s))
|
||||
out(cap(a))
|
||||
out(cap(&a))
|
||||
}
|
||||
|
||||
func string_len(s string) {
|
||||
out(len(s))
|
||||
}
|
||||
|
||||
func out(n int) {
|
||||
c.Printf(c.Str("%d\n"), n)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user