summaryrefslogtreecommitdiffstats
path: root/Source/cmExprParserHelper.cxx
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2018-07-16 17:06:29 (GMT)
committerBrad King <brad.king@kitware.com>2018-07-16 18:46:43 (GMT)
commit406f397e8b5524107457cc2d70bd22878350e9e1 (patch)
tree9ff09e0750b1b7e98c690f50da265869643afc43 /Source/cmExprParserHelper.cxx
parentdd5c54600b6f651898925bfd9ec4406ccfc7be95 (diff)
downloadCMake-406f397e8b5524107457cc2d70bd22878350e9e1.zip
CMake-406f397e8b5524107457cc2d70bd22878350e9e1.tar.gz
CMake-406f397e8b5524107457cc2d70bd22878350e9e1.tar.bz2
math: Restore toleration of unexpected characters in an expression
Prior to commit 7c4c13ffef (math: Reject unexpected expression input explicitly, 2018-05-18) we ignored unexpected characters in an expression that otherwise can be parsed. In order to preserve compatibility with projects that accidentally used this, convert the error to a warning.
Diffstat (limited to 'Source/cmExprParserHelper.cxx')
-rw-r--r--Source/cmExprParserHelper.cxx9
1 files changed, 9 insertions, 0 deletions
diff --git a/Source/cmExprParserHelper.cxx b/Source/cmExprParserHelper.cxx
index 821667b..8d3dad7 100644
--- a/Source/cmExprParserHelper.cxx
+++ b/Source/cmExprParserHelper.cxx
@@ -101,6 +101,15 @@ void cmExprParserHelper::Error(const char* str)
this->ErrorString = ostr.str();
}
+void cmExprParserHelper::UnexpectedChar(char c)
+{
+ unsigned long pos = static_cast<unsigned long>(this->InputBufferPos);
+ std::ostringstream ostr;
+ ostr << "Unexpected character in expression at position " << pos << ": " << c
+ << "\n";
+ this->WarningString += ostr.str();
+}
+
void cmExprParserHelper::SetResult(KWIML_INT_int64_t value)
{
this->Result = value;