diff options
author | Richard Biener <rguenther@suse.de> | 2014-12-02 08:50:57 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-12-02 08:50:57 +0000 |
commit | e1b7f42ec66b9a00db2b30f1e00b707bbad9f452 (patch) | |
tree | 298a8a9a6a5d2c9af29a5225315beacf21c36ff1 /gcc | |
parent | 9b489f313c3924f681862c3dea2861b4210e29a6 (diff) | |
download | gcc-e1b7f42ec66b9a00db2b30f1e00b707bbad9f452.zip gcc-e1b7f42ec66b9a00db2b30f1e00b707bbad9f452.tar.gz gcc-e1b7f42ec66b9a00db2b30f1e00b707bbad9f452.tar.bz2 |
re PR fortran/64137 (Fortran FE builds invalid GENERIC)
2014-12-02 Richard Biener <rguenther@suse.de>
PR fortran/64137
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check
proper expressions type, use proper type for computing
-Huge - 1.
From-SVN: r218259
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/fortran/trans-intrinsic.c | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index db8b5cd..4bf21ed 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,10 @@ +2014-12-02 Richard Biener <rguenther@suse.de> + + PR fortran/64137 + * trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Check + proper expressions type, use proper type for computing + -Huge - 1. + 2014-11-29 Jakub Jelinek <jakub@redhat.com> * trans-openmp.c (gfc_omp_finish_clause, diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index c13502e..d597207 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -3729,9 +3729,9 @@ gfc_conv_intrinsic_minmaxloc (gfc_se * se, gfc_expr * expr, enum tree_code op) possible value is HUGE in both cases. */ if (op == GT_EXPR) tmp = fold_build1_loc (input_location, NEGATE_EXPR, TREE_TYPE (tmp), tmp); - if (op == GT_EXPR && expr->ts.type == BT_INTEGER) + if (op == GT_EXPR && arrayexpr->ts.type == BT_INTEGER) tmp = fold_build2_loc (input_location, MINUS_EXPR, TREE_TYPE (tmp), tmp, - build_int_cst (type, 1)); + build_int_cst (TREE_TYPE (tmp), 1)); gfc_add_modify (&se->pre, limit, tmp); |