OSDN Git Service

PR fortran/34028
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Nov 2007 15:33:23 +0000 (15:33 +0000)
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 8 Nov 2007 15:33:23 +0000 (15:33 +0000)
* 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
gcc/fortran/trans-intrinsic.c

index 8103821..0ce1bfa 100644 (file)
@@ -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
index 24f2442..bd4607d 100644 (file)
@@ -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,