[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