[M3commit] CVS Update: cm3

Jay K jay.krell at cornell.edu
Thu Feb 18 09:09:30 CET 2010


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/bd537d8d/attachment-0002.html>


More information about the M3commit mailing list