trans-expr.c (gfc_conv_function_call): Use fold_build2.
2006-01-16 Richard Guenther <rguenther@suse.de> * trans-expr.c (gfc_conv_function_call): Use fold_build2. * trans-stmt.c (gfc_trans_goto): Likewise. Use build_int_cst. * trans.c (gfc_trans_runtime_check): Don't fold the condition again. From-SVN: r109745
This commit is contained in:
parent
cab2264d17
commit
3f2ec06a70
@ -1,3 +1,10 @@
|
||||
2006-01-16 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* trans-expr.c (gfc_conv_function_call): Use fold_build2.
|
||||
* trans-stmt.c (gfc_trans_goto): Likewise. Use build_int_cst.
|
||||
* trans.c (gfc_trans_runtime_check): Don't fold the condition
|
||||
again.
|
||||
|
||||
2006-01-13 Steven G. Kargl <kargls@comcast.net>
|
||||
|
||||
PR fortran/25756
|
||||
|
@ -1830,7 +1830,8 @@ gfc_conv_function_call (gfc_se * se, gfc_symbol * sym,
|
||||
/* Check the data pointer hasn't been modified. This would
|
||||
happen in a function returning a pointer. */
|
||||
tmp = gfc_conv_descriptor_data_get (info->descriptor);
|
||||
tmp = build2 (NE_EXPR, boolean_type_node, tmp, info->data);
|
||||
tmp = fold_build2 (NE_EXPR, boolean_type_node,
|
||||
tmp, info->data);
|
||||
gfc_trans_runtime_check (tmp, gfc_strconst_fault, &se->pre);
|
||||
}
|
||||
se->expr = info->descriptor;
|
||||
|
@ -162,7 +162,8 @@ gfc_trans_goto (gfc_code * code)
|
||||
assign_error =
|
||||
gfc_build_cstring_const ("Assigned label is not a target label");
|
||||
tmp = GFC_DECL_STRING_LEN (se.expr);
|
||||
tmp = build2 (NE_EXPR, boolean_type_node, tmp, integer_minus_one_node);
|
||||
tmp = fold_build2 (NE_EXPR, boolean_type_node, tmp,
|
||||
build_int_cst (TREE_TYPE (tmp), -1));
|
||||
gfc_trans_runtime_check (tmp, assign_error, &se.pre);
|
||||
|
||||
assigned_goto = GFC_DECL_ASSIGN_ADDR (se.expr);
|
||||
|
@ -308,8 +308,6 @@ gfc_trans_runtime_check (tree cond, tree msg, stmtblock_t * pblock)
|
||||
tree tmp;
|
||||
tree args;
|
||||
|
||||
cond = fold (cond);
|
||||
|
||||
if (integer_zerop (cond))
|
||||
return;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user