Fix bug: correctly handle formal function calls in IL with no parameters.
authormjsousa
Thu, 26 May 2016 15:05:34 +0100
changeset 1017 3f12e23b253b
parent 1016 91bef6704b44
child 1018 49c4edf76e63
Fix bug: correctly handle formal function calls in IL with no parameters.
stage3/fill_candidate_datatypes.cc
--- a/stage3/fill_candidate_datatypes.cc	Thu May 26 15:00:20 2016 +0100
+++ b/stage3/fill_candidate_datatypes.cc	Thu May 26 15:05:34 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,