------- Comment #1 from burnus at gcc dot gnu dot org 2008-05-16 21:58 -------
And using
bind(C) :: a
gives even an ICE. For PUBLIC and PRIVATE, see the patch below. "save" and
"value" are not needed they give already the error "Cannot change attributes of
USE-associated symbol a". (My hope was that one gets a better error message,
but one does not.) And similarly to value and save, the error is not printed
for BIND(C), but it still crashes at:
==5829== by 0x45E283: gfc_verify_binding_labels (resolve.c:6616)
@@ -595,6 +612,15 @@ check_conflict (symbol_attribute *attr,
conf2 (function);
conf2 (subroutine);
conf2 (threadprivate);
+ conf2 (value);
+ conf2 (save);
+ conf2 (is_bind_c);
+
+ if (attr->access != ACCESS_UNKNOWN)
+ {
+ a2 = attr->access == ACCESS_PRIVATE ? private : public;
+ goto conflict;
+ }
break;
case FL_VARIABLE:
--
burnus at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |burnus at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |accepts-invalid, ice-on-
| |invalid-code
Last reconfirmed|0000-00-00 00:00:00 |2008-05-16 21:58:47
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36251