<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_13317">Hi:</div><div id="yui_3_16_0_1_1450053027953_13292" dir="ltr">exactly, if the bit pattern is unequal in two implementations, surely you will be having 2 different results<br></div><div id="yui_3_16_0_1_1450053027953_13286"><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 21:51, "Hosking, Antony L" <hosking@purdue.edu> escribió:<br></font></div> <br><br> <div class="y_msg_container"><div id="yiv2759527266"><div>
<div class="yiv2759527266">From the language definition:</div>
<div class="yiv2759527266"><br class="yiv2759527266" clear="none">
</div>
<blockquote class="yiv2759527266" style="margin:0 0 0 40px;border:none;padding:0px;">An unchecked type transfer operation has the form:</blockquote>
<blockquote class="yiv2759527266" style="margin:0 0 0 40px;border:none;padding:0px;"><br class="yiv2759527266" clear="none">
<div class="yiv2759527266"> LOOPHOLE(e, T)</div>
<br class="yiv2759527266Apple-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="yiv2759527266" style="margin:0 0 0 40px;border:none;padding:0px;"><br class="yiv2759527266" 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="yiv2759527266" clear="none">
</blockquote>
<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<div class="yiv2759527266yqt2029095768" id="yiv2759527266yqtfd18088"><br class="yiv2759527266" clear="none">
<blockquote class="yiv2759527266" type="cite">On 14 Dec 2015, at 1:40 PM, Daniel Alejandro Benavides D. <<a rel="nofollow" shape="rect" class="yiv2759527266" ymailto="mailto:dabenavidesd@yahoo.es" target="_blank" href="mailto:dabenavidesd@yahoo.es">dabenavidesd@yahoo.es</a>> wrote:<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
Hello:<br class="yiv2759527266" 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="yiv2759527266" clear="none">
Thanks in advance<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
El Domingo 13 de diciembre de 2015 21:20, Jay <<a rel="nofollow" shape="rect" class="yiv2759527266" ymailto="mailto:jay.krell@cornell.edu" target="_blank" href="mailto:jay.krell@cornell.edu">jay.krell@cornell.edu</a>> escribió:<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
I know, but this pattern is pretty rare. <br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
- Jay<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
On Dec 13, 2015, at 1:46 AM, Antony Hosking <<a rel="nofollow" shape="rect" class="yiv2759527266" ymailto="mailto:hosking@purdue.edu" target="_blank" href="mailto:hosking@purdue.edu">hosking@purdue.edu</a>> wrote:<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<blockquote class="yiv2759527266" 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="yiv2759527266" clear="none">
The intent is to allow the backend to avoid that.<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<blockquote class="yiv2759527266" type="cite">On 11 Dec 2015, at 5:53 PM, Jay K <jay.krell@cornell.edu> wrote:<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
The right thing to do, really, is take the address of a float, loophole<br class="yiv2759527266" clear="none">
that into an address of another type, and dereference that.<br class="yiv2759527266" clear="none">
Not in the backend, but in the Modula-3 code.<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
</blockquote>
<br class="yiv2759527266" clear="none">
</blockquote>
<br class="yiv2759527266" clear="none">
_______________________________________________<br class="yiv2759527266" clear="none">
M3devel mailing list<br class="yiv2759527266" clear="none">
M3devel@elegosoft.com<br class="yiv2759527266" clear="none">
https://mail.elegosoft.com/cgi-bin/mailman/listinfo/m3devel<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
<br class="yiv2759527266" clear="none">
</blockquote>
<br class="yiv2759527266" clear="none">
</div></div></div><br><br></div> </div> </div> </div></div></body></html>