+2009-04-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39594
+ * resolve.c (resolve_common_vars): Add FL_VARIABLE to symbol
+ if it is not a procedure pointer.
+ * primary.c (match_actual_arg): Ditto.
+
2009-03-31 Joseph Myers <joseph@codesourcery.com>
PR preprocessor/15638
&& sym->attr.flavor != FL_UNKNOWN)
break;
+ if (sym->attr.in_common && !sym->attr.proc_pointer)
+ {
+ gfc_add_flavor (&sym->attr, FL_VARIABLE, sym->name,
+ &sym->declared_at);
+ break;
+ }
+
/* If the symbol is a function with itself as the result and
is being defined, then we have a variable. */
if (sym->attr.function && sym->result == sym)
gfc_error_now ("Derived type variable '%s' in COMMON at %L "
"may not have default initializer", csym->name,
&csym->declared_at);
+
+ if (csym->attr.flavor == FL_UNKNOWN && !csym->attr.proc_pointer)
+ gfc_add_flavor (&csym->attr, FL_VARIABLE, csym->name, &csym->declared_at);
}
}
+2009-04-03 Tobias Burnus <burnus@net-b.de>
+
+ PR fortran/39594
+ * gfortran.dg/common_12.f90: New.
+
2009-04-03 Jason Merrill <jason@redhat.com>
PR c++/39608
--- /dev/null
+! { dg-do compile }
+!
+! PR fortran/39594
+!
+! Contributed by Peter Knowles and reduced by Jakub Jelinek.
+!
+module pr39594
+ implicit double precision(z)
+ common /z/ z0,z1,z2,z3,z4,z5,z6,z7
+contains
+ subroutine foo
+ implicit double precision(z)
+ common /z/ z0,z1,z2,z3,z4,z5,z6,z7
+ call bar(z0)
+ end subroutine foo
+end module
+
+! { dg-final { cleanup-modules "pr39594" } }