trans-expr.c (gfc_conv_substring): Use fold_build2 and build_int_cst.

2005-12-13  Richard Guenther  <rguenther@suse.de>

	* trans-expr.c (gfc_conv_substring): Use fold_build2 and
	build_int_cst.

From-SVN: r108476
This commit is contained in:
Richard Guenther 2005-12-13 09:54:03 +00:00 committed by Richard Biener
parent 65260edb31
commit 93fc8073fc
2 changed files with 10 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2005-12-13 Richard Guenther <rguenther@suse.de>
* trans-expr.c (gfc_conv_substring): Use fold_build2 and
build_int_cst.
2005-12-13 Richard Sandiford <richard@codesourcery.com>
* Make-lang.in (fortran/trans-resolve.o): Depend on

View File

@ -246,12 +246,11 @@ gfc_conv_substring (gfc_se * se, gfc_ref * ref, int kind)
gfc_conv_expr_type (&end, ref->u.ss.end, gfc_charlen_type_node);
gfc_add_block_to_block (&se->pre, &end.pre);
}
tmp =
build2 (MINUS_EXPR, gfc_charlen_type_node,
fold_convert (gfc_charlen_type_node, integer_one_node),
start.expr);
tmp = build2 (PLUS_EXPR, gfc_charlen_type_node, end.expr, tmp);
se->string_length = fold (tmp);
tmp = fold_build2 (MINUS_EXPR, gfc_charlen_type_node,
build_int_cst (gfc_charlen_type_node, 1),
start.expr);
tmp = fold_build2 (PLUS_EXPR, gfc_charlen_type_node, end.expr, tmp);
se->string_length = tmp;
}