<div>Hi!</div><div><br /></div><div><br /></div><div>  As "thinking experiment":</div><div>today we can replace "C language backend" to "Ada/Modula-2/AO backend".</div><div><br /></div><div> And that we can do after changes?</div><div>C/C++ has new standards every 2-3 years.</div><div>IMHO, it's a problem.</div><div><br /></div><div><br /></div><div>Best regards, Victor Miasnikov</div><div><br /></div><div>08.03.2021, 12:38, "Jay K" <jayk123@hotmail.com>:</div><blockquote><div dir="ltr">
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
How about this as a compromise:
<div><br />
</div>
<div>Make the change conditional on using the C backend?</div>
<div><br />
</div>
<div>I can try that.</div>
<div><br />
</div>
 - Jay<br />
</div>
<div>
<div id="dd8fcbc3886f6beba9d56dd35eeb1be5appendonsend"></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<hr style="display:inline-block;width:98%" />
<div id="f2e387f28ef856c18dfa722bbcbb9bfadivRplyFwdMsg" dir="ltr"><font color="#000000" face="Calibri, sans-serif" style="font-size:11pt"><b>From:</b> M3devel <<a href="mailto:m3devel-bounces@elegosoft.com" target="_blank">m3devel-bounces@elegosoft.com</a>> on behalf of Jay K <<a href="mailto:jayk123@hotmail.com" target="_blank">jayk123@hotmail.com</a>><br />
<b>Sent:</b> Monday, March 8, 2021 9:34 AM<br />
<b>To:</b> m3devel <<a href="mailto:m3devel@elegosoft.com" target="_blank">m3devel@elegosoft.com</a>><br />
<b>Subject:</b> [M3devel] eliminating lazy/strict align</font>
<div> </div>
</div>
<div dir="ltr">
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I'm looking at target-specificness in m3front/m3middle again, and lazyalign shows up.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I would really really really like targets to have far less difference.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">I believe it is mostly counter productive.</span></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
I understand x86 can pack things more tightly and this can save memory with certain structures.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
And sharing data with C is made easier sometimes.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
But I want the target matrix to be: <span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">(NT or Posix) and (32bit or 64bit) and (endian)</span></div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<span style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">and then 32bit and big endian can be considered unusual, so</span><br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
people can just chose to download Windows or Unix archives,</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
and I don't think x86/amd64 merit a further expansion of this matrix.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
The system will be easier to setup, as long as it remains "self hosted".</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
  (Rewriting m3front in C or C++ is another alternative.)</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
This will break people's Pickles?<br />
Or the Pickle code will adapt, just as if tranferring across architecture?<br />
I think it will adapt.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
The lazyalign and strictalign pragmas would be ignored, or warn.</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
The way they are implemented seems dubious, in that when you see lazyalign,</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
it alters Target, and I don't know if the ordering of that is good -- does adding</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
a lazyalign type to a library change the code or layout of the entire library?</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
Thoughts please?</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
<br />
</div>
<div style="color:rgb( 0 , 0 , 0 );font-family:'calibri' , 'helvetica' , sans-serif;font-size:12pt">
 - Jay</div>
</div>
</div>
</div>
,<p>_______________________________________________<br />M3devel mailing list<br /><a href="mailto:M3devel@elegosoft.com" target="_blank">M3devel@elegosoft.com</a><br /><a href="https://m3lists.elegosoft.com/mailman/listinfo/m3devel" target="_blank">https://m3lists.elegosoft.com/mailman/listinfo/m3devel</a><br /></p></blockquote>