diff options
-rw-r--r-- | src/analyzer.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/analyzer.c b/src/analyzer.c index 6154029..4b15e0a 100644 --- a/src/analyzer.c +++ b/src/analyzer.c @@ -417,7 +417,7 @@ analyzeexpr(struct azctx *ctx, idx_t i) SET_DST_IF_SRC(ctx->cnst, i, rhs); type_t *t = ctx->types[rhs]; if (ctx->ast.kinds[i] == ASTUNNEG - && (t->kind != TYPE_NUM || !t->issigned)) + && (t->kind != TYPE_NUM || (!t->issigned && t->size != 0))) { err("analyzer: Unary negation is reserved for signed numeric " "types"); |