[Bug fortran/15364] [gfortran] Array fields in derived types not printed correctly.
tobi at gcc dot gnu dot org
gcc-bugzilla@gcc.gnu.org
Mon May 17 07:05:00 GMT 2004
------- Additional Comments From tobi at gcc dot gnu dot org 2004-05-16 20:33 -------
This is the tree dump:
[tobi@marktplatz tests]$ cat pr15364.f90.t03.original
MAIN__ ()
{
int1 buf1[80];
static struct xyz a = {.x={123, 123, 123, 123, 123}};
int1 buf2[80];
_gfortran_filename = "pr15364.f90";
_gfortran_line = 7;
_gfortran_ioparm.internal_unit = &buf1;
_gfortran_ioparm.internal_unit_len = 80;
_gfortran_ioparm.list_format = 1;
_gfortran_st_write ();
{
int4[5] * T.0;
T.0 = &a.x;
{
int4 S.1;
S.1 = 1;
while (1)
{
if (S.1 > 5)
{
goto L.1;
}
else
{
(void)0;
}
_gfortran_transfer_integer (&(*T.0)[NON_LVALUE_EXPR <S.1> + -1], 4);
S.1 = S.1 + 1;;
}
L.1:;;
};
}
_gfortran_st_write_done ();
_gfortran_filename = "pr15364.f90";
_gfortran_line = 8;
_gfortran_ioparm.internal_unit = &buf2;
_gfortran_ioparm.internal_unit_len = 80;
_gfortran_ioparm.list_format = 1;
_gfortran_st_write ();
{
struct xyz * T.2;
T.2 = &a;
_gfortran_transfer_integer (&T.2->x, 4);;
}
_gfortran_st_write_done ();
if (_gfortran_compare_string (80, &buf1, 80, &buf2) != 0)
{
_gfortran_filename = "pr15364.f90";
_gfortran_line = 10;
_gfortran_ioparm.unit = 6;
_gfortran_ioparm.list_format = 1;
_gfortran_st_write ();
_gfortran_transfer_character (&buf1, 80);
_gfortran_st_write_done ();
_gfortran_filename = "pr15364.f90";
_gfortran_line = 11;
_gfortran_ioparm.unit = 6;
_gfortran_ioparm.list_format = 1;
_gfortran_st_write ();
_gfortran_transfer_character (&buf2, 80);
_gfortran_st_write_done ();
_gfortran_abort ();;
}
else
{
(void)0;
};
}
[tobi@marktplatz tests]$
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15364
More information about the Gcc-bugs
mailing list