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

--- Comment #14 from anlauf at gcc dot gnu.org ---
Created attachment 59582
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59582&action=edit
Patch handling testcase in comment#13

This patch leads to the following translation of the main:

void p ()
{
  static void bar (character(kind=1) * &, integer(kind=8) *);
  static void bla (character(kind=1)[1:10] * &, integer(kind=8));
  static void foo (character(kind=1)[1:] * &, integer(kind=8));
  static character(kind=1)[1:10] * c = 0B;
  static integer(kind=8) _F.d;
  static character(kind=1) * d = 0B;

  {
    void * pchar.0;

    pchar.0 = 0B;
    foo (&pchar.0, 10);
  }
  {
    void * pchar.1;

    pchar.1 = 0B;
    bla (&pchar.1, 10);
  }
  {
    void * pchar.2;

    pchar.2 = 0B;
    bar (&pchar.2, &_F.d);
  }
  {
    static void * C.4805 = 0B;
    integer(kind=8) slen.3;

    slen.3 = 0;
    bla (&C.4805, slen.3);
  }
  {
    static void * C.4807 = 0B;
    integer(kind=8) slen.4;

    slen.4 = 0;
    bar (&C.4807, &slen.4);
  }
  foo (&c, 10);
  bla (&c, 10);
  bar (&d, &_F.d);
}

Regtests fine.  Will test some more.

Reply via email to