[Bug fortran/99043] Inconsistent behavior when calling rank(ptr) for assumed-rank null pointer

burnus at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Feb 10 10:30:42 GMT 2021


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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|                            |2021-02-10
                 CC|                            |burnus at gcc dot gnu.org
           Keywords|                            |wrong-code
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1

--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Confirmed, gfortran (-fdump-tree-original) adds an additional 'a->' assignment:

void rank_of_pointer_level1 (struct array15_real(kind=4) & a)
{
...
  if ((real(kind=4)[0:] *) ((struct array15_real(kind=4) *) a)->data == 0B)
    {
      ((struct array15_real(kind=4) *) a)->dtype
         = {.elem_len=4, .rank=-1, .type=3};
    }
  rank_of_pointer_level2 ((struct array15_real(kind=4) *) a);


More information about the Gcc-bugs mailing list