From 15312fe8a91102f9fd8ed9fcab3d63906ba0773b Mon Sep 17 00:00:00 2001
From: jvdelisle <jvdelisle@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Wed, 23 May 2007 04:15:25 +0000
Subject: [PATCH] 2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR fortran/18923
	* resolve.c (resolve_function): Don't call resolve_global_procedure if
	there is no name. Delete duplicated statement in ELSE clause.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124979 138bc75d-0d04-0410-961f-82ee72b054a4
---
 gcc/fortran/ChangeLog | 8 +++++++-
 gcc/fortran/resolve.c | 5 ++---
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 45f40034988e..232fb9142714 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2007-05-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR fortran/18923
+	* resolve.c (resolve_function): Don't call resolve_global_procedure if
+	there is no name. Delete duplicated statement in ELSE clause.
+
 2007-05-22 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
 
 	PR fortran/31627
@@ -8,7 +14,7 @@
 	(gfc_conv_array_ref): Likewise.
 	(gfc_conv_ss_startstride): Likewise.
 
-2005-05-21  Jerry DeLisle  <jvdelisle@verizon.net>
+2007-05-21  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
 	    Daniel Franke  <franke.daniel@gmail.com>
 
 	PR fortran/32002
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 746d41b33158..60da300e5bd3 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -1567,7 +1567,8 @@ resolve_function (gfc_expr *expr)
      procedure,it must be external and should be checked for usage.  */
   if (sym && !sym->attr.dummy && !sym->attr.contained
       && sym->attr.proc != PROC_ST_FUNCTION
-      && !sym->attr.use_assoc)
+      && !sym->attr.use_assoc
+      && sym->name  )
     resolve_global_procedure (sym, &expr->where, 0);
 
   /* Switch off assumed size checking and do this again for certain kinds
@@ -1750,8 +1751,6 @@ resolve_function (gfc_expr *expr)
       if (expr->symtree->n.sym->result
 	    && expr->symtree->n.sym->result->ts.type != BT_UNKNOWN)
 	expr->ts = expr->symtree->n.sym->result->ts;
-      else
-	expr->ts = expr->symtree->n.sym->result->ts;
     }
 
   return t;
-- 
GitLab