------- Comment #1 from dominiq at lps dot ens dot fr  2007-11-30 23:59 -------
If this may help, I have extracted the following piece from the
-fdump-tree-original:

  {
    struct __st_parameter_dt dt_parm.11;

    dt_parm.11.common.filename = &"pr18022_red.f90"[1]{lb: 1 sz: 1};
    dt_parm.11.common.line = 21;
    dt_parm.11.internal_unit = &buf1[1]{lb: 1 sz: 1};
    dt_parm.11.internal_unit_len = 30;
    dt_parm.11.internal_unit_desc = 0B;
    dt_parm.11.common.unit = 0;
    dt_parm.11.common.flags = 16512;
    _gfortran_st_write (&dt_parm.11);
    {
      integer(kind=4) S.12;

      S.12 = 1;
      while (1)
        {
          if (S.12 > 4) goto L.9;
          {
            struct point * D.853;

            D.853 = &pts[S.12 + -1];
            _gfortran_transfer_character (&dt_parm.11, &D.853->x, 2);
            _gfortran_transfer_character (&dt_parm.11, &D.853->y, 2);
          }
          S.12 = S.12 + 1;
        }
      L.9:;
    }
    _gfortran_st_write_done (&dt_parm.11);
  }
  {
    struct __st_parameter_dt dt_parm.13;

    dt_parm.13.common.filename = &"pr18022_red.f90"[1]{lb: 1 sz: 1};
    dt_parm.13.common.line = 22;
    dt_parm.13.internal_unit = &buf2[1]{lb: 1 sz: 1};
    dt_parm.13.internal_unit_len = 30;
    dt_parm.13.internal_unit_desc = 0B;
    dt_parm.13.common.unit = 0;
    dt_parm.13.common.flags = 16512;
    _gfortran_st_write (&dt_parm.13);
    {
      struct array2_unknown parm.14;

      parm.14.dtype = 178;
      parm.14.dim[0].lbound = 1;
      parm.14.dim[0].ubound = 4;
      parm.14.dim[0].stride = 1;
      parm.14.dim[1].lbound = 1;
      parm.14.dim[1].ubound = 2;
      parm.14.dim[1].stride = 4;
      parm.14.data = (void *) (character(kind=1)[0:][1:2] *) &tab_c[0];
      parm.14.offset = -5;
      _gfortran_transfer_array (&dt_parm.13, &parm.14, 1, 2);
    }
    _gfortran_st_write_done (&dt_parm.13);
  }


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34306

Reply via email to