commit - f5b4351d0b7b927bdca9c46bd239eed63cdf1fac
commit + 388764d5d9b81f65b591e7ff8dd8c187b4c7fd5f
blob - d955cd56ace44687676d3abbf3a5fe8e0cb19a49
blob + 21693e9db5bb1de3fd4b22b864482179dc333c5e
--- cc/irc/irc.c
+++ cc/irc/irc.c
nextch ();
parse_int ();
return TK_REG;
+ case '-':
+ nextch ();
+ parse_int ();
+ lval.i = -lval.i;
+ return TK_INT;
case '(':
case ')':
case '{':
break;
}
break;
- // TODO: shifts
case EX_LSL:
shift (fn, "shl", &fn->regs[e->bin.l], &e->bin.r);
break;
blob - a40799c281aab31dd6a69cef7462f958a03f0ecd
blob + f40174905a6499ded17706cc59a6777e9c9f3b50
--- cc/irc/test.ir
+++ cc/irc/test.ir
let $4: qword = add $2, $3;
ret $4;
}
+
+fn negative (): qword {
+ ret -1;
+}