From 21531c5ddb969e8a5bc63a8cd1d924c6ada7accb Mon Sep 17 00:00:00 2001 From: "alexey.lysiuk" Date: Thu, 10 Jan 2019 13:05:35 +0200 Subject: [PATCH] - unary minus operator propagates boolean operand to integer https://forum.zdoom.org/viewtopic.php?t=63214 --- src/scripting/backend/codegen.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/scripting/backend/codegen.cpp b/src/scripting/backend/codegen.cpp index 72de1b6b33..02aadc01fa 100644 --- a/src/scripting/backend/codegen.cpp +++ b/src/scripting/backend/codegen.cpp @@ -1881,6 +1881,12 @@ FxExpression *FxMinusSign::Resolve(FCompileContext& ctx) delete this; return e; } + else if (Operand->ValueType == TypeBool) + { + Operand = new FxIntCast(Operand, true); + Operand = Operand->Resolve(ctx); + assert(Operand != nullptr); + } ValueType = Operand->ValueType; return this; }