Convert vector expressions when passing parameters.

Calling a function with [vector stuff] caused an ICE.
This commit is contained in:
Bill Currie 2016-01-08 21:16:37 +09:00
parent 1061256c4f
commit bf40f0126e

View file

@ -1836,11 +1836,11 @@ build_function_call (expr_t *fexpr, type_t *ftype, expr_t *params)
for (e = params, i = 0; e; e = e->next, i++) {
if (has_function_call (e)) {
*a = new_temp_def_expr (arg_types[i]);
arg_exprs[arg_expr_count][0] = cast_expr (arg_types[i], e);
arg_exprs[arg_expr_count][0] = cast_expr (arg_types[i], convert_vector (e));
arg_exprs[arg_expr_count][1] = *a;
arg_expr_count++;
} else {
*a = cast_expr (arg_types[i], e);
*a = cast_expr (arg_types[i], convert_vector (e));
}
a = &(*a)->next;
}