From 0d45d2106973d2c3452739d4abd27deaada992f3 Mon Sep 17 00:00:00 2001 From: Alexander Medvednikov Date: Wed, 11 Mar 2020 02:28:19 +0100 Subject: [PATCH] cgen: fix string <> methods and multiple returns --- vlib/v/gen/cgen.v | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/vlib/v/gen/cgen.v b/vlib/v/gen/cgen.v index 9db65ef5a6..ad71c9f020 100644 --- a/vlib/v/gen/cgen.v +++ b/vlib/v/gen/cgen.v @@ -241,8 +241,8 @@ fn (g mut Gen) stmt(node ast.Stmt) { g.write('return') // multiple returns if it.exprs.len > 1 { - type_sym := g.table.get_type_symbol(g.fn_decl.typ) - g.write(' ($type_sym.name){') + styp := g.typ(g.fn_decl.typ) + g.write(' ($styp){') for i, expr in it.exprs { g.write('.arg$i=') g.expr(expr) @@ -789,8 +789,20 @@ fn (g mut Gen) infix_expr(it ast.InfixExpr) { .ne{ 'string_ne(' } + .lt{ + 'string_lt(' + } + .le{ + 'string_le(' + } + .gt{ + 'string_gt(' + } + .ge{ + 'string_ge(' + } else { - ''} + '/*infix_expr error*/'} } g.write(fn_name) g.expr(it.left)