Exit gracefully if an external function name is used as a model local variable.

Closes #599
issue#70
Sébastien Villemot 2014-02-03 16:22:42 +01:00
parent 1ae4bebf5e
commit 9624478766
1 changed files with 3 additions and 0 deletions

View File

@ -342,6 +342,9 @@ ParsingDriver::add_expression_variable(string *name)
|| mod_file->symbol_table.getType(*name) == eLogTrend)
error("Variable " + *name + " not allowed outside model declaration, because it is a trend variable.");
if (mod_file->symbol_table.getType(*name) == eExternalFunction)
error("Symbol '" + *name + "' is the name of a MATLAB/Octave function, and cannot be used as a variable.");
int symb_id = mod_file->symbol_table.getID(*name);
expr_t id = data_tree->AddVariable(symb_id);