[M3devel] m3cc -enable-checking=all

Tony Hosking hosking at cs.purdue.edu
Mon May 31 19:52:27 CEST 2010


Good question.  Shouldn't it be type t?

Antony Hosking | Associate Professor | Computer Science | Purdue University
305 N. University Street | West Lafayette | IN 47907 | USA
Office +1 765 494 6001 | Mobile +1 765 427 5484




On 31 May 2010, at 05:50, Jay K wrote:

> 
> static void
> m3cg_and (void)
> {
>   MTYPE (t);
> 
>   EXPR_REF (-2) = m3_build2 (BIT_AND_EXPR, m3_unsigned_type (t),
>                              EXPR_REF (-2), EXPR_REF (-1));
>   EXPR_POP ();
> }
> 
> 
> Why do we make the result unsigned?
> 
>  - Jay
> 
> ----------------------------------------
>> From: jay.krell at cornell.edu
>> To: m3devel at elegosoft.com
>> Date: Mon, 31 May 2010 08:44:27 +0000
>> Subject: [M3devel] m3cc -enable-checking=all
>> 
>> 
>>      Configure = Configure & " -enable-checking=all"
>> 
>> 
>> enables a bunch of extra checks.
>> That fail.
>> With the current 4.3 backend.
>> I'm going to look into some/all of this.
>> 
>> 
>> .1079 = D.1078 & 1
>> ../src/ConnectRdWr.m3:35: error: type mismatch in binary expression
>> word_64
>> 
>> int_64
>> 
>> int_64
>> 
>> D.1101 = D.1100 & 1
>> ../src/ConnectRdWr.m3:35: error: type mismatch in binary expression
>> word_64
>> 
>> int_64
>> 
>> int_64
>> 
>> D.1121 = D.1120 & 1
>> ../src/ConnectRdWr.m3:35: error: type mismatch in binary expression
>> word_64
>> 
>> 
>> I think this might be one and only one problem.
>> The "tagged reference" checking using signed 1 instead of unsigned 1 in anding with the address.
>> 
>> Probably positive constants that fit in the signed type of the same size shouldn't fail.
>> 
>> - Jay
>> 
>> 
> 		 	   		  

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20100531/fe00febf/attachment-0002.html>


More information about the M3devel mailing list