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
This commit is contained in:
Richard Biener 2014-12-02 08:50:57 +00:00 committed by Richard Biener
parent 9b489f313c
commit e1b7f42ec6
2 changed files with 9 additions and 2 deletions

View File

@ -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,

View File

@ -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);