[Bug fortran/84615] [8 Regression] Executable Segfault for tests compiled with -fdefault-integer-8 and -m32
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sat Mar 3 11:44:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84615
--- Comment #4 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
On a big-endian system (gcc110), there are segfaults.
Looking into char_reshape_1.f90 yields
Breakpoint 1, _gfortran_reshape_char (ret=0xfffef130, ret_length=4294897968,
source=0x0, shape=0x9, pad=0xfffef1d8, order=0xfffef1b4,
source_length=4294898064, pad_length=4294898028) at
../../../../trunk/libgfortran/intrinsics/reshape_generic.c:381
Looking at the tree dump gives something very strange:
struct array01_unknown * D.2133;
[...]
D.2133 = &parm.11;
typedef integer(kind=4) [3];
^^^^^^^^^^^^^^^^^^^^^^^^^^^^????
and then
_gfortran_reshape_char (&atmp.19, 9, D.2133, D.2145, D.2147, D.2153, 9,
9);
(wrong prototype, gdb is apparently showing the function in the tail call).
So it seems that the stirng length constant simply has the wrong length,
it occupies eight bytes where it should occupy four.
Janne?
More information about the Gcc-bugs
mailing list