<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div apple-content-edited="true"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><div>The constants MOne, etc are used explicitly with specific precision by the compiler front-end. These constants indicate that they have a certain number of significant bytes in their representation. If you truncate the 8 bytes to 4 bytes for 32-bit then we know that the value will still be correct. Making it length 1 breaks the use of the contants in both 32-bit and 64-bit representations. These changes were made when I put in the LONGINT support -- that's why they are different from PM3.</div><div><br class="webkit-block-placeholder"></div><div><br class="webkit-block-placeholder"></div></span></span></span></span></span></span></span></span></div></span></div><div><div>On Feb 26, 2008, at 2:53 PM, Jay wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div class="hmmessage" style="font-size: 10pt; font-family: Tahoma; "> I haven't tested this but it looks very suspicious..<span class="Apple-converted-space"> </span><br> When targeting 64 bit targets, the compiler thinks [-1 .. 1] is empty.<span class="Apple-converted-space"> </span><br> When compiling things like "compare" functions.<br> I didn't debug it but just looked at the code.<span class="Apple-converted-space"> </span><br> <br> =================================================================== <span class="Apple-converted-space"> </span><br> RCS file: /usr/cvs/cm3/m3-sys/m3middle/src/TInt.i3,v <span class="Apple-converted-space"> </span><br> retrieving revision 1.4<span class="Apple-converted-space"> </span><br> diff -r1.4 TInt.i3 <span class="Apple-converted-space"> </span><br> 26c26<span class="Apple-converted-space"> </span><br> < MOne = Int{NUMBER (IBytes), IBytes{16_ff,16_ff,..}};<span class="Apple-converted-space"> </span><br> ---<span class="Apple-converted-space"> </span><br> > MOne = Int{NUMBER (IBytes), IBytes{16_ff,16_ff,16_ff,16_ff,16_ff,16_ff,16_ff,16_ff}};<span class="Apple-converted-space"> </span><br> <span class="Apple-converted-space"> </span><br> <span class="Apple-converted-space"> </span><br> another fix might be:<span class="Apple-converted-space"> </span><br> <br> <span class="Apple-converted-space"> </span><br> > MOne = Int{1, IBytes{16_ff}}; <span class="Apple-converted-space"> </span><br> <span class="Apple-converted-space"> </span><br> IBytes used to be 16 bit integers but now is 8 bit integers.<br> PM3 has: <span class="Apple-converted-space"> </span><br> <span class="Apple-converted-space"> </span><br> Zero = Int { IChunks {16_0000, 16_0000, 16_0000, 16_0000}}; <span class="Apple-converted-space"> </span><br> One = Int { IChunks {16_0001, 16_0000, 16_0000, 16_0000}}; <span class="Apple-converted-space"> </span><br> MOne = Int { IChunks {16_ffff, 16_ffff, 16_ffff, 16_ffff}}; <span class="Apple-converted-space"> </span><br><br> which seems adequate for what is likely going on in these parts. <span class="Apple-converted-space"> </span><br> <br> I believe ".." fills with zeros, not the previous value. <span class="Apple-converted-space"> </span><br><br> Also, is this objectionable? <span class="Apple-converted-space"> </span><br><br> RCS file: /usr/cvs/cm3/m3-libs/m3core/src/text/TextLiteral.i3,v <span class="Apple-converted-space"> </span><br> retrieving revision 1.2 <span class="Apple-converted-space"> </span><br> diff -r1.2 TextLiteral.i3 <span class="Apple-converted-space"> </span><br> 15c15 <span class="Apple-converted-space"> </span><br> < MaxBytes = LAST (INTEGER) DIV BITSIZE (Byte) - 32; <span class="Apple-converted-space"> </span><br> --- <span class="Apple-converted-space"> </span><br> > MaxBytes = 16_FFFFFCD; (* LAST (INTEGER) DIV BITSIZE (Byte) - 32; *) <span class="Apple-converted-space"> </span><br><br> Maybe. The 32 bit compiler doesn't like such large types (that follow from the use of this).<br> Maybe preferable to allow 32 bit hosted compiler to allow 64 bit sized types?<br><br> - Jay<br><br><blockquote><hr id="EC_stopSpelling">From:<span class="Apple-converted-space"> </span><a href="mailto:jayk123@hotmail.com">jayk123@hotmail.com</a><br>To:<span class="Apple-converted-space"> </span><a href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</a><br>Date: Tue, 26 Feb 2008 18:53:58 +0000<br>Subject: [M3devel] tangential 64 bit...<br><br>alpha/osf doesn't work because basictypes/ctypes has a problem with the 32bit or 64bit types.<br>specifically "unsigned long" is "empty" for some reason and many errors cascade from that.<br> <br>if you change:<br> unsigned_int = [16_0 .. 16_ffffffff];<br>to<br> unsigned_int = [16_0 .. 16_fffffffe];<br> <br>you get:<br> <br> <br>***<br>*** runtime error:<br>*** An array subscript was out of range.<br>*** file "../src/TWord.m3", line 199<br>***<br><br>Presumably fixing this first problem is the first step in any "real" 64 bit target (SPARC64, PPC64, AMD64, IA64), and the second problem should just be fixed as a matter of course.<br> <br>I know this is the least of anyone's concerns..<br> <br> - Jay<br><br><br><hr>Connect and share in new ways with Windows Live.<span class="Apple-converted-space"> </span><a href="http://www.windowslive.com/share.html?ocid=TXT_TAGHM_Wave2_sharelife_012008" target="_blank">Get it now!</a></blockquote><br><hr>Helping your favorite cause is as easy as instant messaging. You IM, we give.<span class="Apple-converted-space"> </span><a href="http://im.live.com/Messenger/IM/Home/?source=text_hotmail_join" target="_new">Learn more.</a></div></span></blockquote></div><br></body></html>