From 2d63bc3ee2a686560d29e1eb7b433deb45fd7619 Mon Sep 17 00:00:00 2001 From: "Arnold D. Robbins" Date: Sun, 16 Oct 2016 10:25:02 +0300 Subject: Implement unary plus for real, including for pretty printing. --- profile.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'profile.c') diff --git a/profile.c b/profile.c index 623da3ff..f9c7c809 100644 --- a/profile.c +++ b/profile.c @@ -463,10 +463,13 @@ cleanup: case Op_field_spec: case Op_field_spec_lhs: case Op_unary_minus: + case Op_unary_plus: case Op_not: t1 = pp_pop(); if (is_binary(t1->type) - || (((OPCODE) t1->type) == pc->opcode && pc->opcode == Op_unary_minus)) + || (((OPCODE) t1->type) == pc->opcode + && (pc->opcode == Op_unary_minus + || pc->opcode == Op_unary_plus))) pp_parenthesize(t1); /* optypes table (eval.c) includes space after ! */ @@ -1198,6 +1201,7 @@ prec_level(int type) return 13; case Op_unary_minus: + case Op_unary_plus: case Op_not: return 12; @@ -1284,6 +1288,7 @@ is_scalar(int type) case Op_postincrement: case Op_postdecrement: case Op_unary_minus: + case Op_unary_plus: case Op_not: return true; -- cgit v1.2.3