diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-11-08 15:33:23 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-11-08 15:33:23 +0000 |
commit | 8dc9f613eac2c3449d1b1d6269c811802cfe4b9c (patch) | |
tree | 2876c8a0d09f63842a70463ba3f316e13228e400 | |
parent | abf86978b36f9c71aa5a66a9b8539c8ba9cffab9 (diff) | |
download | gcc-8dc9f613eac2c3449d1b1d6269c811802cfe4b9c.zip gcc-8dc9f613eac2c3449d1b1d6269c811802cfe4b9c.tar.gz gcc-8dc9f613eac2c3449d1b1d6269c811802cfe4b9c.tar.bz2 |
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
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/trans-intrinsic.c | 2 |
2 files changed, 6 insertions, 1 deletions
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 <fxcoudert@gcc.gnu.org> + + PR fortran/34028 + * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type. + 2007-11-08 Tobias Burnus <burnus@net-b.de> 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, |