From bdb4cd30c7ba5a64b11d1ee71e9d7a7407f5fe0a Mon Sep 17 00:00:00 2001 From: fxcoudert Date: Thu, 8 Nov 2007 15:33:23 +0000 Subject: [PATCH] PR fortran/34028 * trans-intrinsic.c (gfc_conv_intrinsic_ishft): Use correct type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130003 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/trans-intrinsic.c | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 8103821dde15..0ce1bfa6c6af 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 24f24429311d..bd4607d55adf 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, -- 2.47.2