From e5d7f6f7358faa1ff7cf96d45b17bf07aa9fad6c Mon Sep 17 00:00:00 2001
From: Francois-Xavier Coudert <coudert@clipper.ens.fr>
Date: Wed, 5 Jul 2006 17:22:26 +0200
Subject: [PATCH] re PR fortran/20892 (dummy procedure can't be generic)

	PR fortran/20892
	* interface.c (gfc_match_interface): Don't allow dummy procedures
	to have a generic interface.

From-SVN: r115201
---
 gcc/fortran/ChangeLog   | 6 ++++++
 gcc/fortran/interface.c | 7 +++++++
 2 files changed, 13 insertions(+)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index efa31400c5d6..e67b9bbc3dcf 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2006-07-05  Francois-Xavier Coudert  <coudert@clipper.ens.fr>
+
+	PR fortran/20892
+	* interface.c (gfc_match_interface): Don't allow dummy procedures
+	to have a generic interface.
+
 2006-07-04  Paul Thomas  <pault@gcc.gnu.org>
 
 	PR fortran/28174
diff --git a/gcc/fortran/interface.c b/gcc/fortran/interface.c
index bc99aab0f4ca..f1d968dcdaa6 100644
--- a/gcc/fortran/interface.c
+++ b/gcc/fortran/interface.c
@@ -217,6 +217,13 @@ gfc_match_interface (void)
 	  && gfc_add_generic (&sym->attr, sym->name, NULL) == FAILURE)
 	return MATCH_ERROR;
 
+      if (sym->attr.dummy)
+	{
+	  gfc_error ("Dummy procedure '%s' at %C cannot have a "
+		     "generic interface", sym->name);
+	  return MATCH_ERROR;
+	}
+
       current_interface.sym = gfc_new_block = sym;
       break;