Skip to content
Snippets Groups Projects
Commit fd923d42 authored by Ferhat Mihoubi's avatar Ferhat Mihoubi
Browse files

Displays an error message when the model contains pound expressions and...

Displays an error message when the model contains pound expressions and 'bytecode' or 'block' options are present
parent b91dd270
Branches
Tags
No related merge requests found
...@@ -4175,3 +4175,16 @@ DynamicModel::fillEvalContext(eval_context_t &eval_context) const ...@@ -4175,3 +4175,16 @@ DynamicModel::fillEvalContext(eval_context_t &eval_context) const
it != trendVars.end(); it++) it != trendVars.end(); it++)
eval_context[*it] = 2; //not <= 0 bc of log, not 1 bc of powers eval_context[*it] = 2; //not <= 0 bc of log, not 1 bc of powers
} }
bool
DynamicModel::isModelLocalVariableUsed() const
{
set<int> used_local_vars;
size_t i = 0;
while (i < equations.size() && used_local_vars.size() == 0)
{
equations[i]->collectModelLocalVariables(used_local_vars);
i++;
}
return used_local_vars.size() > 0;
}
...@@ -476,6 +476,7 @@ public: ...@@ -476,6 +476,7 @@ public:
else else
return (-1); return (-1);
}; };
bool isModelLocalVariableUsed() const;
}; };
#endif #endif
...@@ -163,6 +163,13 @@ ModFile::checkPass() ...@@ -163,6 +163,13 @@ ModFile::checkPass()
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
if (block || byte_code)
if (dynamic_model.isModelLocalVariableUsed())
{
cerr << "ERROR: In 'model' block, 'block' or 'bytecode' options are not yet compatible with pound expressions" << endl;
exit(EXIT_FAILURE);
}
if ((stochastic_statement_present || mod_file_struct.check_present || mod_file_struct.steady_present) && no_static) if ((stochastic_statement_present || mod_file_struct.check_present || mod_file_struct.steady_present) && no_static)
{ {
cerr << "ERROR: no_static option is incompatible with stoch_simul, estimation, osr, ramsey_policy, discretionary_policy, steady and check commands" << endl; cerr << "ERROR: no_static option is incompatible with stoch_simul, estimation, osr, ramsey_policy, discretionary_policy, steady and check commands" << endl;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment