From 778295a2b07111801d4d099556926fe99d35f89c Mon Sep 17 00:00:00 2001 From: scott snyder <sss@karma> Date: Sun, 3 Oct 2021 13:49:14 -0400 Subject: [PATCH] ExpressionEvaluator: Fix compilation warnings. Don't rely on falling through between switch cases. Unused function parameters. --- .../ExpressionEvaluator/ExprtkEvaluator.h | 16 +++++++-------- .../ExpressionEvaluator/IEvaluator.h | 20 +++++++++---------- .../ExpressionEvaluator/src/Evaluator.cxx | 2 ++ .../src/ExprtkEvaluator.cxx | 6 +++--- 4 files changed, 23 insertions(+), 21 deletions(-) diff --git a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h index b6502c733..cfb598083 100755 --- a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h +++ b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/ExprtkEvaluator.h @@ -57,21 +57,21 @@ public: void setVariable(const char * name, const char * expression); - void setFunction(const char * name, double (*fun)()) {;} + void setFunction(const char * /*name*/, double (*/*fun*/)()) {;} void setArray(const char * name, std::vector<double> array); - void setFunction(const char * name, double (*fun)(double)) {;} + void setFunction(const char * /*name*/, double (*/*fun*/)(double)) {;} - void setFunction(const char * name, double (*fun)(double,double)) {;} + void setFunction(const char * /*name*/, double (*/*fun*/)(double,double)) {;} - void setFunction(const char * name, double (*fun)(double,double,double)) {;} + void setFunction(const char * /*name*/, double (*/*fun*/)(double,double,double)) {;} - void setFunction(const char * name, - double (*fun)(double,double,double,double)) {;} + void setFunction(const char * /*name*/, + double (*/*fun*/)(double,double,double,double)) {;} - void setFunction(const char * name, - double (*fun)(double,double,double,double,double)) {;} + void setFunction(const char * /*name*/, + double (*/*fun*/)(double,double,double,double,double)) {;} bool findVariable(const char * name) const; diff --git a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h index 10c139250..82ed3b78a 100755 --- a/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h +++ b/GeoModelTools/ExpressionEvaluator/ExpressionEvaluator/IEvaluator.h @@ -35,27 +35,27 @@ class IEvaluator { virtual void setVariable(const char * name, const char * expression) = 0; - virtual void setFunction(const char * name, double (*fun)()) {;} + virtual void setFunction(const char * /*name*/, double (*/*fun*/)()) {;} - virtual void setFunction(const char * name, double (*fun)(double)) {;} + virtual void setFunction(const char * /*name*/, double (*/*fun*/)(double)) {;} - virtual void setFunction(const char * name, double (*fun)(double,double)) {;} + virtual void setFunction(const char * /*name*/, double (*/*fun*/)(double,double)) {;} - virtual void setFunction(const char * name, double (*fun)(double,double,double)) {;} + virtual void setFunction(const char * /*name*/, double (*/*fun*/)(double,double,double)) {;} - virtual void setFunction(const char * name, - double (*fun)(double,double,double,double)) {;} + virtual void setFunction(const char * /*name*/, + double (*/*fun*/)(double,double,double,double)) {;} - virtual void setFunction(const char * name, - double (*fun)(double,double,double,double,double)) {;} + virtual void setFunction(const char * /*name*/, + double (*/*fun*/)(double,double,double,double,double)) {;} virtual bool findVariable(const char * name) const =0; virtual bool findFunction(const char * name, int npar) const =0; - virtual void removeVariable(const char * name) {;} + virtual void removeVariable(const char * /*name*/) {;} - virtual void removeFunction(const char * name, int npar) {;} + virtual void removeFunction(const char * /*name*/, int /*npar*/) {;} virtual void clear() {;} diff --git a/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx b/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx index 85d782b56..9e3145d16 100755 --- a/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/Evaluator.cxx @@ -100,6 +100,7 @@ static int variable(const string & name, double & result, pchar exp_end = exp_begin + strlen(exp_begin) - 1; if (engine(exp_begin, exp_end, result, exp_end, dictionary) == EVAL::OK) return EVAL::OK; + return EVAL::ERROR_CALCULATION_ERROR; } default: return EVAL::ERROR_CALCULATION_ERROR; @@ -350,6 +351,7 @@ static int maker(int op, stack<double> & val) errno = 0; val.top() = std::pow(val1,val2); if (errno == 0) return EVAL::OK; + return EVAL::ERROR_CALCULATION_ERROR; case UNARY_PLUS: // unary operator '+' val.top() = val1 + val2; // val1 is zero return EVAL::OK; diff --git a/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx b/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx index 66d05c5df..c28044b62 100755 --- a/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx +++ b/GeoModelTools/ExpressionEvaluator/src/ExprtkEvaluator.cxx @@ -116,17 +116,17 @@ bool ExprtkEvaluator::findVariable(const char * name) const return (varMap.find(name)!=varMap.end()); } -bool ExprtkEvaluator::findFunction(const char * name, int npar) const +bool ExprtkEvaluator::findFunction(const char * /*name*/, int /*npar*/) const { return true; } -void ExprtkEvaluator::removeVariable(const char * name) +void ExprtkEvaluator::removeVariable(const char * /*name*/) { } -void ExprtkEvaluator::removeFunction(const char * name, int npar) +void ExprtkEvaluator::removeFunction(const char * /*name*/, int /*npar*/) { } -- GitLab