From 41ae9d56244308529f43bc9759f023e9c5d49433 Mon Sep 17 00:00:00 2001 From: Tim Quatmann Date: Mon, 30 Nov 2020 11:48:35 +0100 Subject: [PATCH] Fixed silently truncating bits when parsing integer literal expressions (see https://github.com/moves-rwth/stormpy/issues/20) --- src/storm-parsers/parser/ExpressionCreator.cpp | 2 +- src/storm-parsers/parser/ExpressionCreator.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/storm-parsers/parser/ExpressionCreator.cpp b/src/storm-parsers/parser/ExpressionCreator.cpp index f8cc19ea6..13ffea01b 100644 --- a/src/storm-parsers/parser/ExpressionCreator.cpp +++ b/src/storm-parsers/parser/ExpressionCreator.cpp @@ -173,7 +173,7 @@ namespace storm { } } - storm::expressions::Expression ExpressionCreator::createIntegerLiteralExpression(int value, bool&) const { + storm::expressions::Expression ExpressionCreator::createIntegerLiteralExpression(int64_t value, bool&) const { if (this->createExpressions) { return manager.integer(value); } else { diff --git a/src/storm-parsers/parser/ExpressionCreator.h b/src/storm-parsers/parser/ExpressionCreator.h index 8115856de..2c6f31894 100644 --- a/src/storm-parsers/parser/ExpressionCreator.h +++ b/src/storm-parsers/parser/ExpressionCreator.h @@ -66,7 +66,7 @@ namespace storm { storm::expressions::Expression createPowerModuloExpression(storm::expressions::Expression const& e1, storm::expressions::OperatorType const& operatorType, storm::expressions::Expression const& e2, bool& pass) const; storm::expressions::Expression createUnaryExpression(std::vector const& operatorType, storm::expressions::Expression const& e1, bool& pass) const; storm::expressions::Expression createRationalLiteralExpression(storm::RationalNumber const& value, bool& pass) const; - storm::expressions::Expression createIntegerLiteralExpression(int value, bool& pass) const; + storm::expressions::Expression createIntegerLiteralExpression(int64_t value, bool& pass) const; storm::expressions::Expression createBooleanLiteralExpression(bool value, bool& pass) const; storm::expressions::Expression createMinimumMaximumExpression(storm::expressions::Expression const& e1, storm::expressions::OperatorType const& operatorType, storm::expressions::Expression const& e2, bool& pass) const; storm::expressions::Expression createFloorCeilExpression(storm::expressions::OperatorType const& operatorType, storm::expressions::Expression const& e1, bool& pass) const;