stage3/fill_candidate_datatypes.cc
changeset 1022 0d4d3a502d82
parent 1017 3f12e23b253b
child 1040 e8563dcaefca
--- a/stage3/fill_candidate_datatypes.cc	Fri May 06 11:48:02 2016 +0300
+++ b/stage3/fill_candidate_datatypes.cc	Thu Sep 08 17:44:44 2016 +0100
@@ -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,