From ff36c3dfaed966e467ef18ec1a2a4172795481c0 Mon Sep 17 00:00:00 2001 From: xushiwei Date: Tue, 7 May 2024 16:12:27 +0800 Subject: [PATCH] llgo/ssa: Advance fix --- ssa/expr.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ssa/expr.go b/ssa/expr.go index b4df26c1..4dfa3b62 100644 --- a/ssa/expr.go +++ b/ssa/expr.go @@ -503,11 +503,11 @@ func (b Builder) Advance(ptr Expr, offset Expr) Expr { } var elem llvm.Type var prog = b.Prog - var telem = ptr.raw.Type.(*types.Pointer).Elem() - if telem == types.Typ[types.Invalid] { // void + switch t := ptr.raw.Type.(type) { + case *types.Basic: // void elem = prog.tyInt8() - } else { - elem = prog.rawType(telem).ll + default: + elem = prog.rawType(t.(*types.Pointer).Elem()).ll } ret := llvm.CreateGEP(b.impl, elem, ptr.impl, []llvm.Value{offset.impl}) return Expr{ret, ptr.Type}