Functions: Fix incorrect assert for unused output

Since the variable for an output parameter can be null,
it is incorrect to use it later on in a reference.
This commit is contained in:
Hans Goudey 2021-09-20 20:22:52 -05:00
parent 4472a11017
commit 9e939a614e
1 changed files with 4 additions and 0 deletions

View File

@ -419,6 +419,10 @@ bool MFProcedure::validate_initialization() const
const MultiFunction &fn = *instruction->fn_;
for (const int param_index : fn.param_indices()) {
const MFParamType param_type = fn.param_type(param_index);
/* If the parameter was an unneeded output, it could be null. */
if (!instruction->params_[param_index]) {
continue;
}
const MFVariable &variable = *instruction->params_[param_index];
const InitState state = this->find_initialization_state_before_instruction(*instruction,
variable);