* match.c (gfc_match_call): Exit loop after setting i.
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Jul 2013 19:08:03 +0000 (19:08 +0000)
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 29 Jul 2013 19:08:03 +0000 (19:08 +0000)
        * resolve.c (resolve_variable): Exit loop after setting seen.

        * expr.c (gfc_check_pointer_assign): Exit loop after setting
        * warn.

        * trans-array.c (set_loop_bounds): Exit loop after setting
        nonoptional_arr.

        * trans-io.c (gfc_trans_transfer): Exit loop after setting
        * seen_vector.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201316 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/fortran/match.c
gcc/fortran/resolve.c
gcc/fortran/trans-array.c
gcc/fortran/trans-io.c

index 8ec11b6..0d9788d 100644 (file)
@@ -1,3 +1,16 @@
+2013-07-22  Po Chang  <pchang9@cs.wisc.edu>
+
+       * match.c (gfc_match_call): Exit loop after setting i.
+
+       * resolve.c (resolve_variable): Exit loop after setting seen.
+
+       * expr.c (gfc_check_pointer_assign): Exit loop after setting warn.
+
+       * trans-array.c (set_loop_bounds): Exit loop after setting
+       nonoptional_arr.
+
+       * trans-io.c (gfc_trans_transfer): Exit loop after setting seen_vector.
+
 2013-07-28  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/58009
index c00fbc5..61f0f82 100644 (file)
@@ -3764,7 +3764,10 @@ gfc_check_pointer_assign (gfc_expr *lvalue, gfc_expr *rvalue)
            ns && ns->proc_name && ns->proc_name->attr.flavor != FL_PROCEDURE;
            ns = ns->parent)
        if (ns->parent == lvalue->symtree->n.sym->ns)
-         warn = true;
+         {
+           warn = true;
+           break;
+         }
 
       if (warn)
        gfc_warning ("Pointer at %L in pointer assignment might outlive the "
index 7f30156..29ac77e 100644 (file)
@@ -4188,7 +4188,10 @@ gfc_match_call (void)
   i = 0;
   for (a = arglist; a; a = a->next)
     if (a->expr == NULL)
-      i = 1;
+      {
+       i = 1;
+       break;
+      }
 
   if (i)
     {
index c348788..90b7c0a 100644 (file)
@@ -4908,7 +4908,10 @@ resolve_variable (gfc_expr *e)
            for (formal = entry->sym->formal; formal; formal = formal->next)
              {
                if (formal->sym && sym->name == formal->sym->name)
-                 seen = true;
+                 {
+                   seen = true;
+                   break;
+                 }
              }
 
          /*  If it has not been seen as a dummy, this is an error.  */
index c269ea8..1a2e508 100644 (file)
@@ -4456,7 +4456,10 @@ set_loop_bounds (gfc_loopinfo *loop)
       for (ss = loop->ss; ss != gfc_ss_terminator; ss = ss->loop_chain)
        if (ss->info->type != GFC_SS_SCALAR && ss->info->type != GFC_SS_TEMP
            && ss->info->type != GFC_SS_REFERENCE && !ss->info->can_be_null_ref)
-         nonoptional_arr = true;
+         {
+           nonoptional_arr = true;
+           break;
+         }
 
       /* We use one SS term, and use that to determine the bounds of the
         loop for this dimension.  We try to pick the simplest term.  */
index d60d15f..ec17dc9 100644 (file)
@@ -2260,7 +2260,10 @@ gfc_trans_transfer (gfc_code * code)
            {
              for (n = 0; n < ref->u.ar.dimen; n++)
                if (ref->u.ar.dimen_type[n] == DIMEN_VECTOR)
-                 seen_vector = true;
+                 {
+                   seen_vector = true;
+                   break;
+                 }
            }
 
          if (seen_vector && last_dt == READ)