diff options
author | Francois-Xavier Coudert <coudert@clipper.ens.fr> | 2006-07-06 19:12:25 +0200 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2006-07-06 17:12:25 +0000 |
commit | ca86ddcc240fe3ff90d570a385429dad8eedf846 (patch) | |
tree | 9cbdb06ade3d724d77b4168f92c1daa9641af36a /gcc/fortran/trans-stmt.c | |
parent | 80f06e289befc1323bce6dc8f619937046fe124d (diff) | |
download | gcc-ca86ddcc240fe3ff90d570a385429dad8eedf846.zip gcc-ca86ddcc240fe3ff90d570a385429dad8eedf846.tar.gz gcc-ca86ddcc240fe3ff90d570a385429dad8eedf846.tar.bz2 |
re PR fortran/27874 (Bad interaction between bounds checking, forall and derived types)
PR fortran/27874
* trans-stmt.c (compute_inner_temp_size): Don't perform bounds
checking when calculating the bounds of scalarization.
From-SVN: r115224
Diffstat (limited to 'gcc/fortran/trans-stmt.c')
-rw-r--r-- | gcc/fortran/trans-stmt.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/fortran/trans-stmt.c b/gcc/fortran/trans-stmt.c index 4e2f0fd..a123166 100644 --- a/gcc/fortran/trans-stmt.c +++ b/gcc/fortran/trans-stmt.c @@ -1957,6 +1957,7 @@ compute_inner_temp_size (gfc_expr *expr1, gfc_expr *expr2, gfc_loopinfo loop; tree size; int i; + int save_flag; tree tmp; *lss = gfc_walk_expr (expr1); @@ -1989,7 +1990,10 @@ compute_inner_temp_size (gfc_expr *expr1, gfc_expr *expr2, loop.array_parameter = 1; /* Calculate the bounds of the scalarization. */ + save_flag = flag_bounds_check; + flag_bounds_check = 0; gfc_conv_ss_startstride (&loop); + flag_bounds_check = save_flag; gfc_conv_loop_setup (&loop); /* Figure out how many elements we need. */ |