trans-array.c (gfc_conv_array_parameter): Use correct types for comparison.
2007-07-11 Richard Guenther <rguenther@suse.de> * trans-array.c (gfc_conv_array_parameter): Use correct types for comparison. * trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use correct types for POINTER_PLUS_EXPR. * trans-stmt.c (gfc_trans_forall_loop): Use correct type for integer one constant. From-SVN: r126543
This commit is contained in:
parent
b8ade4078e
commit
cbb2b8131a
@ -1,3 +1,12 @@
|
||||
2007-07-11 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* trans-array.c (gfc_conv_array_parameter): Use correct
|
||||
types for comparison.
|
||||
* trans-intrinsic.c (gfc_conv_intrinsic_repeat): Use
|
||||
correct types for POINTER_PLUS_EXPR.
|
||||
* trans-stmt.c (gfc_trans_forall_loop): Use correct type
|
||||
for integer one constant.
|
||||
|
||||
2007-07-10 Paul Thomas <pault@gcc.gnu.org>
|
||||
|
||||
PR fortran/32157
|
||||
|
@ -4924,7 +4924,8 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, gfc_ss * ss, int g77)
|
||||
loop cleanup code. */
|
||||
tmp = build_fold_indirect_ref (desc);
|
||||
tmp = gfc_conv_array_data (tmp);
|
||||
tmp = build2 (NE_EXPR, boolean_type_node, ptr, tmp);
|
||||
tmp = build2 (NE_EXPR, boolean_type_node,
|
||||
fold_convert (TREE_TYPE (tmp), ptr), tmp);
|
||||
tmp = build3_v (COND_EXPR, tmp, stmt, build_empty_stmt ());
|
||||
|
||||
gfc_add_expr_to_block (&block, tmp);
|
||||
|
@ -3596,7 +3596,8 @@ gfc_conv_intrinsic_repeat (gfc_se * se, gfc_expr * expr)
|
||||
/* Call memmove (dest + (i*slen), src, slen). */
|
||||
tmp = fold_build2 (MULT_EXPR, gfc_charlen_type_node, slen,
|
||||
fold_convert (gfc_charlen_type_node, count));
|
||||
tmp = fold_build2 (POINTER_PLUS_EXPR, pchar_type_node, dest,
|
||||
tmp = fold_build2 (POINTER_PLUS_EXPR, pchar_type_node,
|
||||
fold_convert (pchar_type_node, dest),
|
||||
fold_convert (sizetype, tmp));
|
||||
tmp = build_call_expr (built_in_decls[BUILT_IN_MEMMOVE], 3,
|
||||
tmp, src, slen);
|
||||
|
@ -1609,7 +1609,8 @@ gfc_trans_forall_loop (forall_info *forall_tmp, tree body,
|
||||
}
|
||||
|
||||
/* Decrement the loop counter. */
|
||||
tmp = build2 (MINUS_EXPR, TREE_TYPE (var), count, gfc_index_one_node);
|
||||
tmp = build2 (MINUS_EXPR, TREE_TYPE (var), count,
|
||||
build_int_cst (TREE_TYPE (var), 1));
|
||||
gfc_add_modify_expr (&block, count, tmp);
|
||||
|
||||
body = gfc_finish_block (&block);
|
||||
@ -3609,7 +3610,8 @@ gfc_trans_allocate (gfc_code * code)
|
||||
tmp = se.string_length;
|
||||
|
||||
tmp = build_call_expr (gfor_fndecl_allocate, 2, tmp, pstat);
|
||||
tmp = build2 (MODIFY_EXPR, void_type_node, se.expr, tmp);
|
||||
tmp = build2 (MODIFY_EXPR, void_type_node, se.expr,
|
||||
fold_convert (TREE_TYPE (se.expr), tmp));
|
||||
gfc_add_expr_to_block (&se.pre, tmp);
|
||||
|
||||
if (code->expr)
|
||||
|
Loading…
Reference in New Issue
Block a user