------- Comment #1 from burnus at gcc dot gnu dot org 2010-03-11 14:50 ------- I think the "1" comes about due to the following. That can either leave that part as is and change it back in in trans*.c via "cp_was_assumed" -- or one removes that part and sees what will break ;-)
>From decl.c: /* Cray Pointees can be declared as: pointer (ipt, a (n,m,...,*)) By default, this is treated as an AS_ASSUMED_SIZE array. We'll cheat and set a constant bound of 1 for the last dimension, if this is the case. Since there is no bounds-checking for Cray Pointees, this will be okay. */ match gfc_mod_pointee_as (gfc_array_spec *as) { as->cray_pointee = true; /* This will be useful to know later. */ if (as->type == AS_ASSUMED_SIZE) { as->type = AS_EXPLICIT; as->upper[as->rank - 1] = gfc_int_expr (1); as->cp_was_assumed = true; } -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43331