This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libfortran/37839] st_parameter_dt has unwanted padding, is out of sync with compiler
- From: "sje at cup dot hp dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Oct 2008 18:26:57 -0000
- Subject: [Bug libfortran/37839] st_parameter_dt has unwanted padding, is out of sync with compiler
- References: <bug-37839-3107@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from sje at cup dot hp dot com 2008-10-28 18:26 -------
Further investigation shows that it is not the size of common that is the
problem. The bug is related to the new union of st_parameter_43 and
st_parameter_44. Specifically, st_parameter_44 contains pos which is type
GFC_IO_INT which is 8 bytes on IA64 and requires an 8 byte alignment. This
causes the entire st_parameter_44 structure to require 8 byte alignment and the
union that it is part of to require 8 byte alignment. This changes the
layout/offset of fields in the p and q parts of the st_parameter_dt structure.
The compiler definition of st_parameter_dt, created from ioparm.def, does not
know anything about the union that is used in the library and just lays out the
fields as if there was no *_44 structure and no union and this layout is then
different then the library layout.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37839