<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>Tony any chance you can look at this? Or advise me where to fix? Notice the mismatches go both ways. This is on Darwin/i386 for me. Probably occurs on all 32bit targets & no 64bit targets.<br><br> - Jay/phone<br><br>> From: jay.krell@cornell.edu<br>> To: m3devel@elegosoft.com<br>> Date: Sat, 8 Jan 2011 08:19:06 +0000<br>> Subject: [M3devel] FW: LONGINT subrange problems<br>> <br>> <br>> This is all based on Mika's work.<br>> <br>> <br>> MODULE Main;<br>> <br>> PROCEDURE F1(<*UNUSED*>x: LONGINT) = BEGIN END F1;<br>> <br>> PROCEDURE F2() =<br>> <*UNUSED*>VAR x: [0L..0L];<br>> BEGIN<br>> END F2;<br>> <br>> PROCEDURE F3() =<br>> VAR x: [0L..0L];<br>> BEGIN<br>> F1(x);<br>> END F3;<br>> <br>> BEGIN<br>> F1(0L);<br>> F2();<br>> F3();<br>> END Main.<br>> <br>> <br>> (20) declare_procedure name:Main__F1 n_params:1 lev:0 exported:false procedure:0x0 procedure:0x4<br>> <br>> (22) declare_procedure name:Main__F2 n_params:0 lev:0 exported:false procedure:0x0 procedure:0x5<br>> <br>> (24) declare_procedure name:Main__F3 n_params:0 lev:0 exported:false procedure:0x0 procedure:0x6<br>> <br>> <br>> <br>> (33) begin_procedure procedure:0x5<br>> (34) set_source_line 6<br>> (35) load_integer type:int_64 0<br>> (36) comment comment:********* M3CG_Check ERROR *********** bad stack: expected [ Int32 ] got [ Int64 ]<br>> (37) store var:0x5 offset:0 src_t:int_32 dst_t:word_8<br>> (38) set_source_line 8<br>> (39) exit_proc type:void<br>> (40) end_procedure procedure:0x5<br>> (41) comment comment:F3<br>> (42) set_source_line 0xA(10)<br>> <br>> (43) begin_procedure procedure:0x6<br>> (44) set_source_line 0xB(11)<br>> (45) load_integer type:int_64 0<br>> (46) comment comment:********* M3CG_Check ERROR *********** bad stack: expected [ Int32 ] got [ Int64 ]<br>> (47) store var:0x6 offset:0 src_t:int_32 dst_t:word_8<br>> (48) set_source_line 0xD(13)<br>> <br>> (49) start_call_direct procedure:0x4 level:0<br>> (50) load var:0x6 offset:0 src_t:word_8 dst_t:int_32<br>> (51) comment comment:********* M3CG_Check ERROR *********** bad stack: expected [ Int64 ] got [ Int32 ]<br>> (52) pop_param type:int_64<br>> (53) call_direct procedure:0x4<br>> (54) set_source_line 0xE(14)<br>> (55) exit_proc type:void<br>> (56) end_procedure procedure:0x6<br>> (57) comment comment:Main_M3<br>> (58) comment comment:module main body Main_M3<br>> (59) set_source_line 0x10(16)<br>> <br>> <br>> <br>> <br>> <br>> <br>> <br>> ----------------------------------------<br>> > Date: Sat, 8 Jan 2011 09:15:22 +0000<br>> > To: m3commit@elegosoft.com<br>> > From: jkrell@elego.de<br>> > Subject: [M3commit] CVS Update: cm3<br>> ><br>> > CVSROOT: /usr/cvs<br>> > Changes by: jkrell@birch. 11/01/08 09:15:21<br>> ><br>> > Modified files:<br>> > cm3/m3-sys/m3tests/src/p2/p250/: Main.m3<br>> ><br>> > Log message:<br>> > more LONGINT subrange problems, this now has 3 internal codegen errors,<br>> > due to stack type and expected type mismatches<br>> ><br>> <br> </body>
</html>