------- Comment #14 from charlet at adacore dot com 2006-01-04 11:54 ------- Subject: Re: FAIL: a85013b: *** glibc detected *** free(): invalid pointer: 0x00062a00 ***
> So my question is wether the record+storage array+align will work for all > the C types in s-osinte* or is there an exception (ie a non opaque C type)? Now I understand your question ;-) The answer is no, this approach can't be applied blindly to all C types. This approach could most likely be applied on some platforms to all the *private* C types, although this is not a good idea because the current files are written to be used on many architectures (e.g. s-osinte-hpux.ads can be used under both pa and ia64), so this approach would simply break it (System.Address has a different size under pa and ia64, and the default alignments are very different from one architecture/ABI to the other). That's why I said a few times already that creating s-osinte-linux-<cpu>.ads files was not a good idea and that a clean up will need to be done at some point to merge back those files. Your suggestion would simply go one step further in making this task close to impossible instead of difficult. Arno -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24533