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

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |ice-on-valid-code
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2019-10-30
                 CC|                            |burnus at gcc dot gnu.org,
                   |                            |pault at gcc dot gnu.org
            Summary|ICE with assumed rank       |[10 Regression] ICE with
                   |                            |assumed rank in
                   |                            |gfc_conv_gfc_desc_to_cfi_de
                   |                            |sc
     Ever confirmed|0                           |1

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
The problem is the check in gfc_conv_gfc_desc_to_cfi_desc:

      if (type && DECL_ARTIFICIAL (parmse->expr)
          && type != gfc_get_element_type (TREE_TYPE (parmse->expr)))

As parmse->expr is "*this" – i.e. we have an "indirect_ref" to "parm_decl
this";
the actual decl is at "TREE_OPERAND (parmse->expr, 0)".

Reply via email to