ci/instr:fix asmFull return type to match function signature when no output

This commit is contained in:
luoliwoshang
2025-08-22 15:01:59 +08:00
parent d9dc4d5943
commit 49b9b92790

View File

@@ -151,14 +151,13 @@ func (p *context) asm(b llssa.Builder, args []ssa.Value) (ret llssa.Expr) {
log.Printf("asm: %q -> %q, constraints: %q", asmString, finalAsm, constraintStr) log.Printf("asm: %q -> %q, constraints: %q", asmString, finalAsm, constraintStr)
} }
var retType llssa.Type if !hasOutput {
if hasOutput { // Make sure we return something valid
retType = b.Prog.Uintptr() b.InlineAsmFull(finalAsm, constraintStr, b.Prog.Void(), inputValues)
} else { return b.Prog.Val((uintptr(0)))
retType = b.Prog.Void()
} }
return b.InlineAsmFull(finalAsm, constraintStr, retType, inputValues) return b.InlineAsmFull(finalAsm, constraintStr, b.Prog.Uintptr(), inputValues)
} }
// ----------------------------------------------------------------------------- // -----------------------------------------------------------------------------