trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling cleanup.

* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
	cleanup.

From-SVN: r180917
This commit is contained in:
Mikael Morin 2011-11-04 00:19:11 +00:00
parent 6492221c6c
commit bc4b3d2dfd
2 changed files with 12 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Small argument handling
cleanup.
2011-11-04 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.c (gfc_conv_intrinsic_arith): Update conditions.

View File

@ -2569,7 +2569,7 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op,
stmtblock_t block;
tree tmp;
gfc_loopinfo loop;
gfc_actual_arglist *actual;
gfc_actual_arglist *arg_array, *arg_mask;
gfc_ss *arrayss;
gfc_ss *maskss;
gfc_se arrayse;
@ -2608,9 +2608,10 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op,
gfc_add_modify (&se->pre, resvar, tmp);
arg_array = expr->value.function.actual;
/* Walk the arguments. */
actual = expr->value.function.actual;
arrayexpr = actual->expr;
arrayexpr = arg_array->expr;
arrayss = gfc_walk_expr (arrayexpr);
gcc_assert (arrayss != gfc_ss_terminator);
@ -2619,9 +2620,9 @@ gfc_conv_intrinsic_arith (gfc_se * se, gfc_expr * expr, enum tree_code op,
maskexpr = NULL;
else
{
actual = actual->next->next;
gcc_assert (actual);
maskexpr = actual->expr;
arg_mask = arg_array->next->next;
gcc_assert (arg_mask != NULL);
maskexpr = arg_mask->expr;
}
if (maskexpr && maskexpr->rank > 0)