[M3commit] CVS Update: cm3

Tony Hosking hosking at cs.purdue.edu
Thu Feb 18 18:02:18 CET 2010


It probably makes sense for me to repair this in the front-end.  Let me look into it.

On 18 Feb 2010, at 03:09, Jay K wrote:

> Tony there are multiple related problems here.
>  
> 1) The front end likes to output values between 128 and 256 with type Int8 instead of Word8.
>   e.g. in InitTypecell.
>   And maybe similar for 16/32/64, I don't know.
>  
> 2) Even if the front end used the correct Word8 for them, m3back needs to use TWord.ToBytes vs. TInt.ToBytes for unsigned types, but TWord.ToBytes doesn't exist.
>  
> I'll see what I can do.
> I'll probably add TWord.ToBytes and if the value fits using it, accept it.
>  
>  - Jay
> 
> > Date: Thu, 18 Feb 2010 08:30:35 +0000
> > To: m3commit at elegosoft.com
> > From: jkrell at elego.de
> > Subject: [M3commit] CVS Update: cm3
> > 
> > CVSROOT: /usr/cvs
> > Changes by: jkrell at birch. 10/02/18 08:30:35
> > 
> > Modified files:
> > cm3/m3-sys/m3back/src/: M3x86.m3 
> > 
> > Log message:
> > more information when this assertion fails, as it now does:
> > 
> > == package C:\dev2\cm3.2\m3-libs\m3core ==
> > 
> > +++ C:\cm3\bin\cm3.exe -build -DROOT=C:/dev2/cm3.2 -DCM3_VERSION_TEXT=d5.8.2
> > 
> > new source -> compiling RTHooks.i3
> > "..\src\runtime\common\RTHooks.i3", line 15: len:2 t:Int.8 CG_Bytes[t]:1 158
> > 
> > ***
> > *** runtime error:
> > *** <*ASSERT*> failed.
> > *** file "..\src\M3x86.m3", line 1114
> > ***
> > 
> > Stack trace:
> > FP PC Procedure
> > --------- --------- -------------------------------
> > 0x12f5cc 0x43c230 init_int + 0x488 in ..\src\M3x86.m3
> > 0x12f5f8 0x63f506 init_int + 0xa5 in ..\src\M3CG_Check.m3
> > 0x12f638 0x4fe1ce Init_int + 0x1be in ..\src\misc\CG.m3
> > 0x12f65c 0x4fe33e DumpInt + 0x34 in ..\src\misc\CG.m3
> > 0x12f6a4 0x4fc86a DumpPendingNodes + 0x2c2 in ..\src\misc\CG.m3
> > 0x12f6cc 0x4fa4c6 Bind_segment + 0xe0 in ..\src\misc\CG.m3
> > 0x12f72c 0x4c71e8 GenLinkerInfo + 0x7d7 in ..\src\values\Module.m3
> > 0x12f770 0x4c577c CompileInterface + 0x30a in ..\src\values\Module.m3
> > 0x12f7a8 0x4c5252 Compile + 0x24d in ..\src\values\Module.m3
> > 0x12f804 0x4aff65 DoCompile + 0x7cd in ..\src\misc\M3Front.m3
> > 
> > confusion here about signed vs. unsigned integers;
> > the signed number 158 requires 2 bytes but the unsigned number 158
> > only requirs 1 byte
> > 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3commit/attachments/20100218/9b473f68/attachment-0002.html>


More information about the M3commit mailing list