diff options
author | Daniel Franke <franke@edf-online.de> | 2018-05-18 19:59:46 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2018-06-22 13:00:34 (GMT) |
commit | 5b0f73a15a7b49461123a969bbebceff4284df9c (patch) | |
tree | fb9b32ce694a969018ffb0edf604227ea6a7a630 /Source | |
parent | 963b8d9f6c1c4bcce2a82ade137a82b17ef75780 (diff) | |
download | CMake-5b0f73a15a7b49461123a969bbebceff4284df9c.zip CMake-5b0f73a15a7b49461123a969bbebceff4284df9c.tar.gz CMake-5b0f73a15a7b49461123a969bbebceff4284df9c.tar.bz2 |
math: Use 64-bit integer type for computation
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmExprParserHelper.cxx | 3 | ||||
-rw-r--r-- | Source/cmExprParserHelper.h | 10 | ||||
-rw-r--r-- | Source/cmMathCommand.cxx | 7 |
3 files changed, 12 insertions, 8 deletions
diff --git a/Source/cmExprParserHelper.cxx b/Source/cmExprParserHelper.cxx index fe7159a..c68ebc0 100644 --- a/Source/cmExprParserHelper.cxx +++ b/Source/cmExprParserHelper.cxx @@ -13,6 +13,7 @@ cmExprParserHelper::cmExprParserHelper() { this->FileLine = -1; this->FileName = nullptr; + this->Result = 0; } cmExprParserHelper::~cmExprParserHelper() @@ -85,7 +86,7 @@ void cmExprParserHelper::Error(const char* str) this->ErrorString = ostr.str(); } -void cmExprParserHelper::SetResult(int value) +void cmExprParserHelper::SetResult(KWIML_INT_int64_t value) { this->Result = value; } diff --git a/Source/cmExprParserHelper.h b/Source/cmExprParserHelper.h index dcdaca9..c3cb53b 100644 --- a/Source/cmExprParserHelper.h +++ b/Source/cmExprParserHelper.h @@ -5,6 +5,8 @@ #include "cmConfigure.h" // IWYU pragma: keep +#include "cm_kwiml.h" + #include <string> #include <vector> @@ -13,7 +15,7 @@ class cmExprParserHelper public: struct ParserType { - int Number; + KWIML_INT_int64_t Number; }; cmExprParserHelper(); @@ -24,9 +26,9 @@ public: int LexInput(char* buf, int maxlen); void Error(const char* str); - void SetResult(int value); + void SetResult(KWIML_INT_int64_t value); - int GetResult() { return this->Result; } + KWIML_INT_int64_t GetResult() { return this->Result; } const char* GetError() { return this->ErrorString.c_str(); } @@ -41,7 +43,7 @@ private: void CleanupParser(); - int Result; + KWIML_INT_int64_t Result; const char* FileName; long FileLine; std::string ErrorString; diff --git a/Source/cmMathCommand.cxx b/Source/cmMathCommand.cxx index c1cd1b6..f0945b2 100644 --- a/Source/cmMathCommand.cxx +++ b/Source/cmMathCommand.cxx @@ -2,10 +2,11 @@ file Copyright.txt or https://cmake.org/licensing for details. */ #include "cmMathCommand.h" -#include <stdio.h> - #include "cmExprParserHelper.h" #include "cmMakefile.h" +#include "cm_kwiml.h" + +#include <stdio.h> class cmExecutionStatus; @@ -44,7 +45,7 @@ bool cmMathCommand::HandleExprCommand(std::vector<std::string> const& args) } char buffer[1024]; - sprintf(buffer, "%d", helper.GetResult()); + sprintf(buffer, "%" KWIML_INT_PRId64, helper.GetResult()); this->Makefile->AddDefinition(outputVariable, buffer); return true; |