[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