From 6f9c9d6d47751e980f0ca831f02e91c0ac424916 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Fri, 3 Apr 2009 20:26:44 +0200 Subject: re PR fortran/39594 (compiler falls over in gfc_get_symbol_decl) 2009-04-03 Tobias Burnus 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-04-03 Tobias Burnus PR fortran/39594 * gfortran.dg/common_12.f90: New. From-SVN: r145513 --- gcc/fortran/primary.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'gcc/fortran/primary.c') diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index c7ca861..cb6f988 100644 --- a/gcc/fortran/primary.c +++ b/gcc/fortran/primary.c @@ -1401,6 +1401,13 @@ match_actual_arg (gfc_expr **result) && 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) -- cgit v1.1