Implement printing of booleans

Этот коммит содержится в:
Ayke van Laethem 2018-08-22 00:54:39 +02:00
родитель a30ffa5c1e
коммит 2777f8464e
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: E97FF5335DFDFDED
2 изменённых файлов: 10 добавлений и 1 удалений

Просмотреть файл

@ -1008,7 +1008,8 @@ func (c *Compiler) parseBuiltin(frame *Frame, args []ssa.Value, callName string)
panic("undefined: " + name) panic("undefined: " + name)
} }
c.builder.CreateCall(fn, []llvm.Value{value}, "") c.builder.CreateCall(fn, []llvm.Value{value}, "")
continue } else if typ.Kind() == types.Bool {
c.builder.CreateCall(c.mod.NamedFunction("runtime.printbool"), []llvm.Value{value}, "")
} else { } else {
return llvm.Value{}, errors.New("unknown basic arg type: " + typ.String()) return llvm.Value{}, errors.New("unknown basic arg type: " + typ.String())
} }

Просмотреть файл

@ -101,3 +101,11 @@ func printptr(ptr uintptr) {
ptr <<= 4 ptr <<= 4
} }
} }
func printbool(b bool) {
if b {
printstring("true")
} else {
printstring("false")
}
}