From 4d33d9d38b81c8c9f0e94042b59c426b3d30566f Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Fri, 20 Apr 2018 16:18:54 +0200 Subject: [PATCH] Implement -expr --- tgo.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tgo.go b/tgo.go index 830845eb..50756be3 100644 --- a/tgo.go +++ b/tgo.go @@ -780,6 +780,8 @@ func (c *Compiler) parseUnOp(frame *Frame, unop *ssa.UnOp) (llvm.Value, error) { switch unop.Op { case token.NOT: // ! return c.builder.CreateNot(x, ""), nil + case token.SUB: // -num + return c.builder.CreateSub(llvm.ConstInt(x.Type(), 0, false), x, ""), nil case token.MUL: // *ptr, dereference pointer return c.builder.CreateLoad(x, ""), nil default: