diff --git a/cl/compile.go b/cl/compile.go index 8421a2ad..a4f67c8b 100644 --- a/cl/compile.go +++ b/cl/compile.go @@ -473,7 +473,7 @@ func (p *context) compileValue(b llssa.Builder, v ssa.Value) llssa.Expr { g := p.varOf(v) return g.Expr case *ssa.Const: - t := v.Type() + t := types.Default(v.Type()) return b.Const(v.Value, p.prog.Type(t)) } panic(fmt.Sprintf("compileValue: unknown value - %T\n", v)) diff --git a/ssa/expr.go b/ssa/expr.go index 19674755..7e3a310f 100644 --- a/ssa/expr.go +++ b/ssa/expr.go @@ -135,7 +135,7 @@ func (b Builder) Const(v constant.Value, typ Type) Expr { if v == nil { return prog.Null(typ) } - switch t := types.Default(typ.t).(type) { + switch t := typ.t.(type) { case *types.Basic: kind := t.Kind() switch { diff --git a/ssa/type.go b/ssa/type.go index b5e4bb85..6b02513a 100644 --- a/ssa/type.go +++ b/ssa/type.go @@ -208,7 +208,7 @@ func (p Program) tyInt64() llvm.Type { } func (p Program) toLLVMType(typ types.Type) Type { - switch t := types.Default(typ).(type) { + switch t := typ.(type) { case *types.Basic: switch t.Kind() { case types.Int: