------- Comment #9 from burnus at gcc dot gnu dot org 2010-03-06 22:58 ------- (In reply to comment #8) > Created an attachment (id=20037) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20037&action=view) -- reduced test case
/dev/shm/test/domi14.f90:7:0: error: type mismatch between an SSA_NAME and its symbol while verifying SSA_NAME hts_1 in statement hts_1 = (real(kind=4)[0:D.1549] * restrict) &gridws; (In reply to comment #2) The SSA name has GFC_ARRAY_TYPE_P set on the pointer type while the var decl has not. Some debugging: If one looks at gfc_get_symbol_decl, "hts" and "gridws" have GFC_ARRAY_TYPE_P == 1 (i.e. TYPE (sym->backend_decl / s->backend_decl)). In gfc_conv_procedure_call, TYPE (parmse.expr) (created via gfc_conv_array_parameter) has GFC_ARRAY_TYPE_P == 0; however, manually setting it to 1 does not seem to help. The expression looses (in gfc_conv_array_parameter) the GFC_ARRAY_TYPE_P attribute via the call to gfc_build_addr_expr; while the basetype is 1, the natural type is 0. But as written above: manually setting it to 1 does not seem to help. -- burnus at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- GCC build triplet|*-apple-darwin9 | GCC host triplet|*-apple-darwin9 | GCC target triplet|*-apple-darwin9 | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41056