diff --git a/dmd/expression.c b/dmd/expression.c index 67b90e60..d21335f7 100644 --- a/dmd/expression.c +++ b/dmd/expression.c @@ -1512,7 +1512,8 @@ complex_t IntegerExp::toComplex() int IntegerExp::isBool(int result) { - return result ? value != 0 : value == 0; + int r = toInteger() != 0; + return result ? r : !r; } Expression *IntegerExp::semantic(Scope *sc)