<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_1_1450053027953_21257">Hi:</div><div id="yui_3_16_0_1_1450053027953_21255">You know m3middle uses unsafe stuff, probably as Rodney points out m3front too, it doesn't have the correct implementation (as in m3middle) because it worked in another architecture, but not in here. That's why these modules need different treatment to care after release new versions.</div><div id="yui_3_16_0_1_1450053027953_21375">Thanks in advance<br></div><div id="yui_3_16_0_1_1450053027953_21158"><span></span></div> <br><div class="qtdSeparateBR"><br><br></div><div style="display: block;" class="yahoo_quoted"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;"> <div dir="ltr"><font size="2" face="Arial"> El Domingo 13 de diciembre de 2015 22:19, Daniel Alejandro Benavides D. <dabenavidesd@yahoo.es> escribió:<br></font></div> <br><br> <div class="y_msg_container"><div id="yiv5569499074"><div><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"><div>Hi:</div><div dir="ltr" id="yiv5569499074yui_3_16_0_1_1450053027953_18255">but isn't the bit pattern, the data layout, what it makes the difference Anthony?<br clear="none"></div><div id="yiv5569499074yui_3_16_0_1_1450053027953_18254"><span id="yiv5569499074yui_3_16_0_1_1450053027953_18253">Thanks in advance</span></div> <br clear="none"><div class="yiv5569499074qtdSeparateBR"><br clear="none"><br clear="none"></div><div class="yiv5569499074yqt7536180243" id="yiv5569499074yqt64359"><div class="yiv5569499074yahoo_quoted" style="display:block;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;"> <div dir="ltr"><font size="2" face="Arial"> El Domingo 13 de diciembre de 2015 22:14, "Hosking, Antony L" <hosking@purdue.edu> escribió:<br clear="none"></font></div> <br clear="none"><br clear="none"> <div class="yiv5569499074y_msg_container"><div id="yiv5569499074"><div>
Bits are bits. It is implementation-dependent because bits one machine will be different on another. My point was that the bit sizes are expected to be the same (except when T is an open array, in which case the bits form the payload of the open array, with
the size constructed accordingly).
<div class="yiv5569499074yqt1555587467" id="yiv5569499074yqt77373"><div class="yiv5569499074"><br class="yiv5569499074" clear="none">
<div>
<blockquote class="yiv5569499074" type="cite">
<div class="yiv5569499074">On 14 Dec 2015, at 2:05 PM, Daniel Alejandro Benavides D. <<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:dabenavidesd@yahoo.es" target="_blank" href="mailto:dabenavidesd@yahoo.es">dabenavidesd@yahoo.es</a>> wrote:</div>
<br class="yiv5569499074Apple-interchange-newline" clear="none">
<div class="yiv5569499074">
<div class="yiv5569499074">
<div class="yiv5569499074" style="background-color:rgb(255, 255, 255);font-family:HelveticaNeue, 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif;font-size:16px;">
<div class="yiv5569499074" id="yiv5569499074yui_3_16_0_1_1450053027953_13317">Hi:</div>
<div class="yiv5569499074" dir="ltr" id="yiv5569499074yui_3_16_0_1_1450053027953_13292">exactly, if the bit pattern is unequal in two implementations, surely you will be having 2 different results<br class="yiv5569499074" clear="none">
</div>
<div class="yiv5569499074" id="yiv5569499074yui_3_16_0_1_1450053027953_13286"><span class="yiv5569499074"></span></div>
<br class="yiv5569499074" clear="none">
<div class="yiv5569499074qtdSeparateBR"><br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
</div>
<div class="yiv5569499074yahoo_quoted" style="display:block;">
<div class="yiv5569499074" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
<div class="yiv5569499074" style="font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;">
<div class="yiv5569499074" dir="ltr"><font class="yiv5569499074" size="2" face="Arial">El Domingo 13 de diciembre de 2015 21:51, "Hosking, Antony L" <<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:hosking@purdue.edu" target="_blank" href="mailto:hosking@purdue.edu">hosking@purdue.edu</a>> escribió:<br class="yiv5569499074" clear="none">
</font></div>
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<div class="yiv5569499074y_msg_container">
<div class="yiv5569499074" id="yiv5569499074">
<div class="yiv5569499074">
<div class="yiv5569499074">From the language definition:</div>
<div class="yiv5569499074"><br class="yiv5569499074" clear="none">
</div>
<blockquote class="yiv5569499074" style="margin:0 0 0 40px;border:none;padding:0px;">
An unchecked type transfer operation has the form:</blockquote>
<blockquote class="yiv5569499074" style="margin:0 0 0 40px;border:none;padding:0px;">
<br class="yiv5569499074" clear="none">
<div class="yiv5569499074"> LOOPHOLE(e, T)</div>
<br class="yiv5569499074Apple-interchange-newline" clear="none">
where e is an expression whose type is not an open array type and T is a type. It denotes e's bit pattern interpreted as a variable or value of type T. It is a designator if e is, and is writable if e is. An unchecked runtime error can occur if e's bit pattern
is not a legal T, or if e is a designator and some legal bit pattern for T is not legal for e.</blockquote>
<blockquote class="yiv5569499074" style="margin:0 0 0 40px;border:none;padding:0px;">
<br class="yiv5569499074" clear="none">
If T is not an open array type, BITSIZE(e) must equal BITSIZE(T). If T is an open array type, its element type must not be an open array type, and e's bit pattern is interpreted as an array whose length is BITSIZE(e) divided by BITSIZE(the element type of T).
The division must come out even.<br class="yiv5569499074" clear="none">
</blockquote>
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<div class="yiv5569499074yqt2029095768" id="yiv5569499074yqtfd18088"><br class="yiv5569499074" clear="none">
<blockquote class="yiv5569499074" type="cite">On 14 Dec 2015, at 1:40 PM, Daniel Alejandro Benavides D. <<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:dabenavidesd@yahoo.es" target="_blank" href="mailto:dabenavidesd@yahoo.es">dabenavidesd@yahoo.es</a>>
wrote:<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
Hello:<br class="yiv5569499074" clear="none">
Excuse me if is wrong to say, but doesn't the specification of Modula-3 explicit about how the UNSAFE stuff is implementation-dependent, that is to say; "it's your decision how to implement it".<br class="yiv5569499074" clear="none">
Thanks in advance<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
El Domingo 13 de diciembre de 2015 21:20, Jay <<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:jay.krell@cornell.edu" target="_blank" href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> escribió:<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
I know, but this pattern is pretty rare. <br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
- Jay<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
On Dec 13, 2015, at 1:46 AM, Antony Hosking <<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:hosking@purdue.edu" target="_blank" href="mailto:hosking@purdue.edu">hosking@purdue.edu</a>> wrote:<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<blockquote class="yiv5569499074" type="cite">Excepting that in some cases taking the address may force the value into memory, when it could have stayed in a register.<br class="yiv5569499074" clear="none">
The intent is to allow the backend to avoid that.<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<blockquote class="yiv5569499074" type="cite">On 11 Dec 2015, at 5:53 PM, Jay K <<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:jay.krell@cornell.edu" target="_blank" href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> wrote:<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
The right thing to do, really, is take the address of a float, loophole<br class="yiv5569499074" clear="none">
that into an address of another type, and dereference that.<br class="yiv5569499074" clear="none">
Not in the backend, but in the Modula-3 code.<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
</blockquote>
<br class="yiv5569499074" clear="none">
</blockquote>
<br class="yiv5569499074" clear="none">
_______________________________________________<br class="yiv5569499074" clear="none">
M3devel mailing list<br class="yiv5569499074" clear="none">
<a rel="nofollow" shape="rect" class="yiv5569499074" ymailto="mailto:M3devel@elegosoft.com" target="_blank" href="mailto:M3devel@elegosoft.com">M3devel@elegosoft.com</a><br class="yiv5569499074" clear="none">
<a rel="nofollow" shape="rect" class="yiv5569499074" target="_blank" href="https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel">https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel</a><br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
</blockquote>
<br class="yiv5569499074" clear="none">
</div>
</div>
</div>
<br class="yiv5569499074" clear="none">
<br class="yiv5569499074" clear="none">
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br class="yiv5569499074" clear="none">
</div></div>
</div></div><br clear="none"><br clear="none"></div> </div> </div> </div></div></div></div></div><br><div class="yqt7536180243" id="yqt28101">_______________________________________________<br clear="none">M3devel mailing list<br clear="none"><a shape="rect" ymailto="mailto:M3devel@elegosoft.com" href="mailto:M3devel@elegosoft.com">M3devel@elegosoft.com</a><br clear="none"><a shape="rect" href="https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel" target="_blank">https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel</a><br clear="none"></div><br><br></div> </div> </div> </div></div></body></html>