stage3/print_datatypes_error.cc
changeset 847 079ab7d4b728
parent 841 aed36f08545d
child 848 db78824cec23
equal deleted inserted replaced
846:24d0be6c31f7 847:079ab7d4b728
   248 					}
   248 					}
   249 #endif
   249 #endif
   250 					if (function_invocation_error)
   250 					if (function_invocation_error)
   251 						/* when handling a IL function call, and an error is found in the first parameter, then we bug out and do not print out any more error messages. */
   251 						/* when handling a IL function call, and an error is found in the first parameter, then we bug out and do not print out any more error messages. */
   252 						return;
   252 						return;
   253 				}
   253 				} else {
   254 				else if (!get_datatype_info_c::is_type_valid(param_value->datatype)) {
   254 					if (!get_datatype_info_c::is_type_valid(param_value->datatype)) {
   255 					function_invocation_error = true;
   255 						function_invocation_error = true;
   256 					STAGE3_ERROR(0, param_value, param_value, "Data type incompatibility for value passed in position %d when invoking %s '%s'", i, POU_str, ((identifier_c *)fcall_data.function_name)->value);
   256 						STAGE3_ERROR(0, param_value, param_value, "Data type incompatibility for value passed in position %d when invoking %s '%s'", i, POU_str, ((identifier_c *)fcall_data.function_name)->value);
       
   257 					}
       
   258 					param_value->accept(*this);
   257 				}
   259 				}
   258 			}
   260 			}
   259 	}
   261 	}
   260 
   262 
   261 	if (NULL == fcall_data.called_function_declaration) {
   263 	if (NULL == fcall_data.called_function_declaration) {