https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79335

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|WAITING                     |NEW

--- Comment #4 from Martin Liška <marxin at gcc dot gnu.org> ---
I see, now P4 makes sense for me.

It's easy to find out why it uses uninitialized value:

generate_coarray_sym_init contains: symbol_attribute attr;

then in the function we do not assign to attr and at line 5132 we call:
  desc = gfc_conv_scalar_to_descriptor (&se, decl, attr);

which immediately at the beginning calls:
type = get_scalar_to_descriptor_type (scalar, attr);

and the function does the invalid use:

   │48      static tree
   │49      get_scalar_to_descriptor_type (tree scalar, symbol_attribute attr)
   │50      {
   │51        enum gfc_array_kind akind;
   │52
  >│53        if (attr.pointer)
   │54          akind = GFC_ARRAY_POINTER_CONT;

Reply via email to