[Bug fortran/42053] [OOP] SELECT TYPE: reject duplicate CLASS IS blocks
janus at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Sun Nov 22 13:47:00 GMT 2009
------- Comment #1 from janus at gcc dot gnu dot org 2009-11-22 13:46 -------
Draft patch:
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 154423)
+++ gcc/fortran/resolve.c (working copy)
@@ -7035,6 +7035,14 @@ resolve_select_type (gfc_code *code)
for (c1 = &class_is; (*c1) && (*c1)->block; c1 = &((*c1)->block))
{
c2 = (*c1)->block;
+ /* F03:C817 (check for doubles). */
+ if ((*c1)->ext.case_list->ts.u.derived->hash_value
+ == c2->ext.case_list->ts.u.derived->hash_value)
+ {
+ gfc_error ("Double CLASS IS block in SELECT TYPE "
+ "statement at %L", &c2->ext.case_list->where);
+ return;
+ }
if ((*c1)->ext.case_list->ts.u.derived->attr.extension
< c2->ext.case_list->ts.u.derived->attr.extension)
{
--
janus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|unassigned at gcc dot gnu |janus at gcc dot gnu dot org
|dot org |
Status|UNCONFIRMED |ASSIGNED
Ever Confirmed|0 |1
Last reconfirmed|0000-00-00 00:00:00 |2009-11-22 13:46:59
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42053
More information about the Gcc-bugs
mailing list