diff options
author | Tobias Burnus <burnus@net-b.de> | 2008-05-27 21:22:01 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2008-05-27 21:22:01 +0200 |
commit | 795dc5872724ddea1e559b0477f5e5cfb96f0fce (patch) | |
tree | 80089095db8ea18354fc4703a37ad5bc156fe948 /gcc/fortran/trans-array.c | |
parent | 75e8fd2f7196e3d6a5ffd0272e241f83c0d69c97 (diff) | |
download | gcc-795dc5872724ddea1e559b0477f5e5cfb96f0fce.zip gcc-795dc5872724ddea1e559b0477f5e5cfb96f0fce.tar.gz gcc-795dc5872724ddea1e559b0477f5e5cfb96f0fce.tar.bz2 |
re PR fortran/36316 (type mismatch in binary expression caught by verify_gimple)
2008-05-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36316
* trans-array.c (gfc_set_loop_bounds_from_array_spec):
Add missing fold_convert.
2008-05-27 Tobias Burnus <burnus@net-b.de>
PR fortran/36316
* gfortran.dg/assignment_3.f90: New.
From-SVN: r136052
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index a691ad5..bc6d13a 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -472,14 +472,14 @@ gfc_set_loop_bounds_from_array_spec (gfc_interface_mapping * mapping, gfc_apply_interface_mapping (mapping, &tmpse, as->lower[dim]); gfc_add_block_to_block (&se->pre, &tmpse.pre); gfc_add_block_to_block (&se->post, &tmpse.post); - lower = tmpse.expr; + lower = fold_convert (gfc_array_index_type, tmpse.expr); /* ...and the upper bound. */ gfc_init_se (&tmpse, NULL); gfc_apply_interface_mapping (mapping, &tmpse, as->upper[dim]); gfc_add_block_to_block (&se->pre, &tmpse.pre); gfc_add_block_to_block (&se->post, &tmpse.post); - upper = tmpse.expr; + upper = fold_convert (gfc_array_index_type, tmpse.expr); /* Set the upper bound of the loop to UPPER - LOWER. */ tmp = fold_build2 (MINUS_EXPR, gfc_array_index_type, upper, lower); |