From: Francois-Xavier Coudert Date: Thu, 8 Nov 2007 15:33:23 +0000 (+0000) Subject: re PR fortran/34028 (Type mismatch with optimization of ISHFT) X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8dc9f613eac2c3449d1b1d6269c811802cfe4b9c;p=platform%2Fupstream%2Fgcc.git re PR fortran/34028 (Type mismatch with optimization of ISHFT) PR fortran/34028 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type. From-SVN: r130003 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8103821..0ce1bfa 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2007-11-08 Francois-Xavier Coudert + + PR fortran/34028 + * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type. + 2007-11-08 Tobias Burnus PR fortran/33917 diff --git a/gcc/fortran/trans-intrinsic.c b/gcc/fortran/trans-intrinsic.c index 24f2442..bd4607d 100644 --- a/gcc/fortran/trans-intrinsic.c +++ b/gcc/fortran/trans-intrinsic.c @@ -2533,7 +2533,7 @@ gfc_conv_intrinsic_ishft (gfc_se * se, gfc_expr * expr) /* The Fortran standard allows shift widths <= BIT_SIZE(I), whereas gcc requires a shift width < BIT_SIZE(I), so we have to catch this special case. */ - num_bits = build_int_cst (TREE_TYPE (args[0]), TYPE_PRECISION (type)); + num_bits = build_int_cst (TREE_TYPE (args[1]), TYPE_PRECISION (type)); cond = fold_build2 (GE_EXPR, boolean_type_node, width, num_bits); se->expr = fold_build3 (COND_EXPR, type, cond,