[M3devel] Target.Allow_packed_byte_aligned
Jay K
jay.krell at cornell.edu
Tue Sep 22 02:15:05 CEST 2015
Right -- I had what I think is the same idea -- I can build the n bootstrap archives, compare them, and verify where they are the same and where they are different, and then end up with fewer archives, maybe 6, maybe 2.
For that matter, I guess I should get this stuff to work in the C backend --- providing the #pragma pack(1) or whatever gcc/clang equivalent.
- Jay
> Date: Mon, 21 Sep 2015 16:25:49 -0400
> From: hendrik at topoi.pooq.com
> To: m3devel at elegosoft.com
> Subject: Re: [M3devel] Target.Allow_packed_byte_aligned
>
> On Mon, Sep 21, 2015 at 04:37:18PM +0000, Jay K wrote:
> > Also -- if anyone has a proposal that would allow Allow_packed_byte_aligned to always be true, that would also fit my agenda. I don't care true or false, I just want it the same across all targets.
> > In particular, on IA64/NT you can say stuff like: #pragma pack(1) struct { char a; __unaligned int b; } A; A.b
> > and you do get a 5 byte struct and b is at offset 1.The generated code will read b with multiple reads of bytes or shorts and reassemble the 4 byte integer.
> > Perhaps m3front can behave similarly?For all targets?
> > But for now I'll put it back and later when I generate bootstraps I'll see if they are equal, i.e. contain no packed types.
> > - Jay
>
> The fancy packing should remain in the language, for backward
> compatibility if nothing else. modula 3 is, after all, a systems
> language.
>
> But is likely no need to worry it in the bootstrap.
>
> If the bootstrap doesn't use it, it will still work portably as a
> bootstrap, no matter how machine-dependent fancy packing happens to be.
>
> -- hendrik
> _______________________________________________
> M3devel mailing list
> M3devel at elegosoft.com
> https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20150922/6c7862d9/attachment-0002.html>
More information about the M3devel
mailing list