------- 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