From 0af40c757f083cc12988effb46da5313cd042f00 Mon Sep 17 00:00:00 2001 From: David Mitchell Date: Mon, 5 Sep 2016 15:49:28 +0100 Subject: [PATCH] toke.c: fix mswin32 builds MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 9bde56224 added this as part of macro: - PL_last_lop_op = f; \ + PL_last_lop_op = f < 0 ? -f : f; \ which broke win32 builds due to this UNIBRACK(-OP_ENTEREVAL) expanding to PL_last_lop_op = -345 < 0 ? --345 : -345 and the -- being seen as a pre-dec op. Diagnosed by Dagfinn Ilmari Mannsåker. Signed-off-by: Petr Písař --- toke.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/toke.c b/toke.c index 2350703..a1cdda8 100644 --- a/toke.c +++ b/toke.c @@ -241,7 +241,7 @@ static const char* const lex_state_names[] = { if (have_x) PL_expect = x; \ PL_bufptr = s; \ PL_last_uni = PL_oldbufptr; \ - PL_last_lop_op = f < 0 ? -f : f; \ + PL_last_lop_op = (f) < 0 ? -(f) : (f); \ if (*s == '(') \ return REPORT( (int)FUNC1 ); \ s = skipspace(s); \ -- 2.7.4