ssa: fix ssa.Index and indexType

This commit is contained in:
visualfc
2024-06-16 22:18:02 +08:00
parent 3ff5caef94
commit f7cddb81df
5 changed files with 156 additions and 101 deletions

View File

@@ -1,25 +1,33 @@
package main
import "github.com/goplus/llgo/c"
type point struct {
x int
y int
}
type N [2]int
type T *N
type S []int
func main() {
a := [...]point{{1, 2}, {3, 4}, {5, 6}}[2]
c.Printf(c.Str("%d %d\n"), a.x, a.y)
println(a.x, a.y)
b := [...][2]int{[2]int{1, 2}, [2]int{3, 4}}[1]
c.Printf(c.Str("%d %d\n"), b[0], b[1])
println(b[0], b[1])
var i int = 2
n := [...]int{1, 2, 3, 4, 5}[i]
c.Printf(c.Str("%d\n"), n)
c.Printf(c.Str("%d\n"), [...]int{1, 2, 3, 4, 5}[i])
println([...]int{1, 2, 3, 4, 5}[i])
s := "123456"
c.Printf(c.Str("%c\n"), s[i])
c.Printf(c.Str("%c\n"), "123456"[1])
println(string(s[i]))
println(string("123456"[1]))
var n = N{1, 2}
var t T = &n
println(t[1])
var s1 = S{1, 2, 3, 4}
println(s1[1])
println([2]int{}[0])
}