OSDN Git Service

2006-03-30 Paul Thomas <paulthomas2@wanadoo.fr>
authorbdavis <bdavis@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Mar 2006 00:47:13 +0000 (00:47 +0000)
committerbdavis <bdavis@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 31 Mar 2006 00:47:13 +0000 (00:47 +0000)
            Bud Davis  <bdavis9659@sbcglobal.net>

        PR 21130
        * module.c (load_needed): Traverse entire tree before returning.

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

gcc/fortran/ChangeLog
gcc/fortran/module.c

index e1d1d30..7d86235 100644 (file)
@@ -1,3 +1,9 @@
+2006-03-30  Paul Thomas <paulthomas2@wanadoo.fr>
+            Bud Davis  <bdavis9659@sbcglobal.net>
+
+       PR 21130
+       * module.c (load_needed): Traverse entire tree before returning.
+
 2006-03-30  Roger Sayle  <roger@eyesopen.com>
 
        PR middle-end/22375
index 0acc474..9949ccd 100644 (file)
@@ -3061,16 +3061,17 @@ load_needed (pointer_info * p)
   gfc_namespace *ns;
   pointer_info *q;
   gfc_symbol *sym;
+  int rv;
 
+  rv = 0;
   if (p == NULL)
-    return 0;
-  if (load_needed (p->left))
-    return 1;
-  if (load_needed (p->right))
-    return 1;
+    return rv;
+
+  rv |= load_needed (p->left);
+  rv |= load_needed (p->right);
 
   if (p->type != P_SYMBOL || p->u.rsym.state != NEEDED)
-    return 0;
+    return rv;
 
   p->u.rsym.state = USED;