diff -r 59435d4c5e0c -r 21a97cdb317d stage3/fill_candidate_datatypes.cc --- a/stage3/fill_candidate_datatypes.cc Fri May 06 11:48:02 2016 +0300 +++ b/stage3/fill_candidate_datatypes.cc Tue Jun 28 16:35:47 2016 +0300 @@ -1831,7 +1831,8 @@ /* NOTE: The parameter 'called_function_declaration' is used to pass data between the stage 3 and stage 4. */ // SYM_REF2(il_formal_funct_call_c, function_name, il_param_list, symbol_c *called_function_declaration; int extensible_param_count;) void *fill_candidate_datatypes_c::visit(il_formal_funct_call_c *symbol) { - symbol->il_param_list->accept(*this); + /* non-standard extension allowing functions with no input parameters => il_param_list may be NULL !!! */ + if (NULL != symbol->il_param_list) symbol->il_param_list->accept(*this); generic_function_call_t fcall_param = { /* fcall_param.function_name = */ symbol->function_name, @@ -2170,7 +2171,7 @@ void *fill_candidate_datatypes_c::visit(function_invocation_c *symbol) { if (NULL != symbol->formal_param_list) symbol-> formal_param_list->accept(*this); else if (NULL != symbol->nonformal_param_list) symbol->nonformal_param_list->accept(*this); - else ERROR; + // else ERROR; NOTE-> We support the non-standard feature of POUS with no in, out and inout parameters, so this is no longer an internal error! generic_function_call_t fcall_param = { function_name: symbol->function_name,