trans-io.c (set_string): Use fold_build2 and build_int_cst instead of build2 and...
authorRoger Sayle <roger@eyesopen.com>
Sat, 15 Apr 2006 05:50:42 +0000 (05:50 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sat, 15 Apr 2006 05:50:42 +0000 (05:50 +0000)
* trans-io.c (set_string): Use fold_build2 and build_int_cst instead
of build2 and convert to construct "x < 0" rather than "x <= -1".

From-SVN: r112968

gcc/fortran/ChangeLog
gcc/fortran/trans-io.c

index 8523b9af6f21ddca80909287725e275afcc73987..df5a576235ada639efcdcacc715ee530947e7f01 100644 (file)
@@ -1,3 +1,8 @@
+2006-04-14  Roger Sayle  <roger@eyesopen.com>
+
+       * trans-io.c (set_string): Use fold_build2 and build_int_cst instead
+       of build2 and convert to construct "x < 0" rather than "x <= -1".
+
 2006-04-13  Richard Henderson  <rth@redhat.com>
 
        * trans-openmp.c (gfc_trans_omp_sections): Adjust for changed
index db1a4813be143a346c6319e8d75593795c9adc5d..9a6016148e7cacf0d7162967d5de54fbb9abb7de 100644 (file)
@@ -532,8 +532,8 @@ set_string (stmtblock_t * block, stmtblock_t * postblock, tree var,
       msg =
         gfc_build_cstring_const ("Assigned label is not a format label");
       tmp = GFC_DECL_STRING_LEN (se.expr);
-      tmp = build2 (LE_EXPR, boolean_type_node,
-                   tmp, convert (TREE_TYPE (tmp), integer_minus_one_node));
+      tmp = fold_build2 (LT_EXPR, boolean_type_node,
+                        tmp, build_int_cst (TREE_TYPE (tmp), 0));
       gfc_trans_runtime_check (tmp, msg, &se.pre);
       gfc_add_modify_expr (&se.pre, io,
                 fold_convert (TREE_TYPE (io), GFC_DECL_ASSIGN_ADDR (se.expr)));