<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Tony: Do you mean to  say, that if NT386 had a working LONGINT, you'd be willing to implement Target.Int via LONGINT?<BR>
I kind of think Target.Int should remain being implemented as an array of 8 bit integers.<BR>
That preserves flexibility of targeting basically "anything from anything".<BR>
 <BR>
 <BR>
Including using a pre-LONGINT compiler, with its matching m3core/libm3, to build a current compiler.<BR>
  Though I admit when I have done the most "intensive" building of various compiler versions to find when problems began, it wasn't so smooth. I think I might have resorted to always starting old, and making smaller steps not big steps, not just from very old to current, though I should try/check again.<BR>
 <BR>
 <BR>
As well, Target.Int needs to be used more in m3front, like regarding array sizes/alignment.<BR>
I think it's a pretty simple fix.<BR>
 <BR>
 <BR>
There is still a bug targeting 64bit from 32bit because of this.<BR>
The attempts to declare "maximally sized arrays" fails.<BR>
m3core has a hack where it uses 2GB or 4GB instead of the real max.<BR>
The "jvideo" package still fails to cross compile.<BR>
 <BR>
 <BR>
 - Jay<BR> <BR>
<HR id=stopSpelling>
Subject: Re: [M3devel] RELENG again, was: Re: the LONGINT proposal<BR>From: hosking@cs.purdue.edu<BR>Date: Wed, 13 Jan 2010 16:53:19 -0500<BR>CC: wagner@elegosoft.com; m3devel@elegosoft.com<BR>To: jay.krell@cornell.edu<BR><BR><BASE>
<DIV><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="WORD-WRAP: break-word"><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: 12px Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV><SPAN style="FONT-SIZE: medium" class=ecxApple-style-span>On 13 Jan 2010, at 16:45, Jay K wrote:</SPAN></DIV></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></DIV></SPAN></SPAN></DIV>
<DIV><BR class=ecxApple-interchange-newline>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage>Yes and no. I was thinking about this too.<BR>In general this "race" never ends.<BR>However:<BR>  - right this is first release with LONGINT, and I think there are incompatibilities between head and release esp. wrt "ORD"<BR>   (Had we added e.g. "assignability" and release was just a compatible subset, different; I think it is actually "incompatible".)<BR></DIV></SPAN></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>We should merge head back to release for LONGINT as it is now (more consistently) implemented.</DIV><BR>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage>  - the "race" should actually "slow down" now that I fixed the platform list problem :)<BR>     but still, the "race" isn't guaranteeably gone; there might still be new language features that m3core/libm3 use<BR>     (to be clear, the "front" group needs to be more careful about using more features;<BR>     for example, it would be "useful" for me to use LONGINT in m3back, and then build a non-NT386 hosted compiler, in order to get LONGINT support into NT386, however my preference at the moment is to use Target.Int to "simulate" 64bit arithmetic in the compiler ("constant folding" and such, as it already does for 32bit integers); the compiler basically supports targeting 32bit INTEGER even on a host with only 8 or 16bit INTEGER, as I understand).<BR></DIV></SPAN></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>Yes, I could have made use of LONGINT but didn't so as to retain cross-compilation from short to long LONGINT platforms.</DIV>
<DIV><BR></DIV>
<DIV>I don't understand what you are saying about needing to simulate 64-bit arithmetic.  We can do that already.  I don't think the compiler ever targeted 32-bit INTEGER on <32-bit hosts.  I would be surprised if that actually works.</DIV><BR>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage> If I or anyone checks that the exception is gone now in GUI file open dialog, maybe merge those changes too.<BR>They are pretty small. I haven't touched rd/wr yet (well, they were touched *slightly*).<BR></DIV></SPAN></BLOCKQUOTE>
<DIV><BR></DIV>
<DIV>That would be good too.</DIV><BR>
<BLOCKQUOTE><SPAN style="TEXT-TRANSFORM: none; TEXT-INDENT: 0px; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; LETTER-SPACING: normal; WORD-SPACING: 0px" class=ecxApple-style-span>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 10pt" class=ecxhmmessage> <BR> <BR> - Jay<BR><BR> <BR>> Date: Wed, 13 Jan 2010 10:43:03 +0100<BR>> From:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:wagner@elegosoft.com">wagner@elegosoft.com</A><BR>> To:<SPAN class=ecxApple-converted-space> </SPAN><A href="mailto:m3devel@elegosoft.com">m3devel@elegosoft.com</A><BR>> Subject: [M3devel] RELENG again, was: Re: the LONGINT proposal<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> Quoting Tony Hosking <<A href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</A>>:<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> > On 11 Jan 2010, at 23:09, Randy Coleburn wrote:<BR>> ><BR>> >> Also, in case anyone is interested, the current HEAD fails to<SPAN class=ecxApple-converted-space> </SPAN><BR>> >> compile the following packages on Windows Vista:<BR>> >> "m3-libs\m3core"<BR>> >> "m3-libs\libm3"<BR>> >> "m3-tools\m3tk"<BR>> >> So some recent changes have caused a problem.<BR>> ><BR>> > Did you bootstrap a new compiler? You will need to bootstrap a<SPAN class=ecxApple-converted-space> </SPAN><BR>> > compiler before you can compile the revised ORD/VAL definitions.<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> So if I understand this correctly, should we finally get to release<BR>> 5.8, then this compiler won't be able to compile the current trunk<BR>> head? That is, not unless we merge this change to the release branch?<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> Anything else that we should do for 5.8?<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR>> Olaf<BR>> --<SPAN class=ecxApple-converted-space> </SPAN><BR>> Olaf Wagner -- elego Software Solutions GmbH<BR>> Gustav-Meyer-Allee 25 / Gebäude 12, 13355 Berlin, Germany<BR>> phone: +49 30 23 45 86 96 mobile: +49 177 2345 869 fax: +49 30 23 45 86 95<BR>><SPAN class=ecxApple-converted-space> </SPAN><A href="http://www.elegosoft.com/">http://www.elegosoft.com</A><SPAN class=ecxApple-converted-space> </SPAN>| Geschäftsführer: Olaf Wagner | Sitz: Berlin<BR>> Handelregister: Amtsgericht Charlottenburg HRB 77719 | USt-IdNr: DE163214194<BR>><SPAN class=ecxApple-converted-space> </SPAN><BR></DIV></SPAN></BLOCKQUOTE></DIV><BR>                                      </body>
</html>