------- Comment #2 from hjl dot tools at gmail dot com 2008-02-13 19:35 ------- maybe_pad_type has
if (align == TYPE_ALIGN (type)) align = 0; if (align == 0 && !size) return type; ... record = make_node (RECORD_TYPE); That is Ada expects 8 byte alignment for DImode. But TYPE_ALIGN (type), which conforms to psABI, is 4 byte for DImode. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35186