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);