<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
FONT-SIZE: 10pt;
FONT-FAMILY:Tahoma
}
</style>
</head>
<body class='hmmessage'>From reading the code easily/quickly, this is strange.<BR>
 <BR>
> > > "../src/SMPP.m3", line 1: 4 code generation errors<BR><BR>
should be preceded by other sorts of errors.<BR>
And they all/almost all sound "like internal errors", like assertion failures in m3middle.<BR>
 <BR>
In particular one of:<BR>
 <BR>
m3-sys\m3middle\src\M3CG_Check.m3(190):PROCEDURE PutErr (u: U;  a, b, c: TEXT := NIL) =<BR>m3-sys\m3middle\src\M3CG_Check.m3(194):  END PutErr;<BR>m3-sys\m3middle\src\M3CG_Check.m3(242):      PutErr (self, "bad stack:  expected [ ",<BR>m3-sys\m3middle\src\M3CG_Check.m3(261):      ELSE PutErr (self, "stack overflow");<BR>m3-sys\m3middle\src\M3CG_Check.m3(274):      PutErr (self, "non-empty stack: ", Stack_Dump (self));<BR>m3-sys\m3middle\src\M3CG_Check.m3(382):      PutErr (self, "redefined runtime proc: ", M3ID.ToText (n));<BR>m3-sys\m3middle\src\M3CG_Check.m3(391):      PutErr (self, "redefined runtime hook: ", M3ID.ToText (n));<BR>m3-sys\m3middle\src\M3CG_Check.m3(400):      PutErr (self, "undefined runtime hook: ", M3ID.ToText (n));<BR>m3-sys\m3middle\src\M3CG_Check.m3(410):      PutErr (self, "NIL variable");<BR>m3-sys\m3middle\src\M3CG_Check.m3(432):      PutErr (self, "temporary reused while live!");<BR>m3-sys\m3middle\src\M3CG_Check.m3(446):      PutErr (self, "temp freed twice");<BR>m3-sys\m3middle\src\M3CG_Check.m3(458):      PutErr (self, "nested static initialization");<BR>m3-sys\m3middle\src\M3CG_Check.m3(470):      ELSE PutErr (self, "missing begin_init");<BR>m3-sys\m3middle\src\M3CG_Check.m3(477):    IF (self.in_init <= 0) THEN PutErr (self, "missing begin_init") END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(480):      ELSE PutErr (self, "decreasing offsets");<BR>m3-sys\m3middle\src\M3CG_Check.m3(532):      PutErr (self, "NIL procedure");<BR>m3-sys\m3middle\src\M3CG_Check.m3(540):      PutErr (self, "nested procedure declaration");<BR>m3-sys\m3middle\src\M3CG_Check.m3(551):      ELSE PutErr (self, "missing begin_procedure");<BR>m3-sys\m3middle\src\M3CG_Check.m3(554):      PutErr (self, "missing end_blocks: ", Int (self.block_count));<BR>m3-sys\m3middle\src\M3CG_Check.m3(562):          PutErr (self, "temp not freed, created on line ", Int (line));<BR>m3-sys\m3middle\src\M3CG_Check.m3(574):      PutErr (self, "begin_block not in procedure");<BR>m3-sys\m3middle\src\M3CG_Check.m3(586):      ELSE PutErr (self, "missing begin_block");<BR>m3-sys\m3middle\src\M3CG_Check.m3(604):      PutErr (self, "undefined label: ", Int (l));<BR>m3-sys\m3middle\src\M3CG_Check.m3(716):    IF NOT LegalLoad [t, u] THEN PutErr (self, "illegal load conversion"); END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(724):    IF NOT LegalStore [t, u] THEN PutErr (self, "illegal store conversion"); END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(739):    IF NOT LegalLoad [t, u] THEN PutErr (self, "illegal load conversion"); END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(747):    IF NOT LegalStore [t, u] THEN PutErr (self, "illegal store conversion"); END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(775):      PutErr (self, "floating-point literal doesn't match type");<BR>m3-sys\m3middle\src\M3CG_Check.m3(1231):      PutErr (self, "nested procedure call");<BR>m3-sys\m3middle\src\M3CG_Check.m3(1242):      PutErr (self, "nested procedure call");<BR>m3-sys\m3middle\src\M3CG_Check.m3(1251):    IF (self.call_count <= 0) THEN PutErr (self, "missing start_call") END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(1260):    IF (self.call_count <= 0) THEN PutErr (self, "missing start_call") END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(1268):    IF (self.call_count <= 0) THEN PutErr (self, "missing start_call") END;<BR>m3-sys\m3middle\src\M3CG_Check.m3(1279):      ELSE PutErr (self, "missing start_call");<BR>34 occurrence(s) have been found.<BR><BR>
 - Jay<BR><BR><BR><BR>

<HR id=stopSpelling>
<BR>
> From: dragisha@m3w.org<BR>> To: hosking@cs.purdue.edu<BR>> Date: Tue, 12 Feb 2008 22:24:55 +0100<BR>> CC: m3devel@elegosoft.com<BR>> Subject: Re: [M3devel] wtf "code generation errors"?<BR>> <BR>> This is new project... and it's pretty drafty, meaning it compiles but<BR>> it does not run. I sumbitted this because it looks like some obscure<BR>> (underreported?) error to me.<BR>> <BR>> Compiler I do use is pretty stable and build lots of my other apps.<BR>> <BR>> On Tue, 2008-02-12 at 15:05 -0500, Tony Hosking wrote:<BR>> > Did something change in m3middle/m3front lately?<BR>> > <BR>> > On Feb 12, 2008, at 12:58 PM, Dragiša Durić wrote:<BR>> > <BR>> > > % cm3<BR>> > > --- building in ../LINUXLIBC6 ---<BR>> > ><BR>> > > new source -> compiling Connection.i3<BR>> > > new source -> compiling Connection.m3<BR>> > > new source -> compiling PDU.i3<BR>> > > new source -> compiling PDU.m3<BR>> > > "../src/PDU.m3", line 107: warning: not used (len)<BR>> > > "../src/PDU.m3", line 104: warning: not used (b)<BR>> > > "../src/PDU.m3", line 116: warning: open array passed by value (o)<BR>> > > "../src/PDU.m3", line 118: warning: not used (cStr)<BR>> > > "../src/PDU.m3", line 116: warning: not used (b)<BR>> > > "../src/PDU.m3", line 116: warning: not used (o)<BR>> > > "../src/PDU.m3", line 160: warning: not used (c)<BR>> > > "../src/PDU.m3", line 59: warning: not used (GetInt)<BR>> > > 8 warnings encountered<BR>> > > new source -> compiling SMPP.m3<BR>> > > "../src/SMPP.m3", line 1: 4 code generation errors<BR>> > > 1 error encountered<BR>> > > compilation failed => not building program "smpp"<BR>> > > Fatal Error: package build failed<BR>> > ><BR>> > > -- <BR>> > > Dragiša Durić <dragisha@m3w.org><BR>> > <BR>> -- <BR>> Dragiša Durić <dragisha@m3w.org><BR>> <BR><BR><br /><hr />Climb to the top of the charts! Play the word scramble challenge with star power. <a href='http://club.live.com/star_shuffle.aspx?icid=starshuffle_wlmailtextlink_jan' target='_new'>Play now!</a></body>
</html>