<html><head><base href="x-msg://566/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">
<div>Clearly the source code is not legal. It's just that your change breaks legal code:</div><div><br></div><div>VAR t: NULL;</div><div><br></div><div>which should emit a warning but nothing else.</div><div><br></div><div>The problem lies elsewhere...</div><div><br></div><div><br></div><div><div>On 3 Feb 2010, at 00:22, Jay K wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><span class="Apple-style-span" style="border-collapse: separate; font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="hmmessage" style="font-size: 10pt; font-family: Verdana; ">The backend should be able to cope with almost anything, I guess.<br>But is the source code really legal?<br>Shouldn't the front end error?<br>The front end should error on some things, obviously.<br> <br>Notice that all of the "internal errors" in this scenario are from<br>the front end. Just the assertion failure is not.<br> <br> <br>The front end doesn't handle its own stack correctly<br>here, the errors come from its CG.m3 module that wraps<br>the backend.<br> <br>If this code is truly illegal and has no valid meaning, I think this is an ok change.<br>The NT386 backend I guess should be hardened against front end bugs though.<br> <br> <br> - Jay<br><br> <br><hr id="stopSpelling">From:<span class="Apple-converted-space"> </span><a href="mailto:hosking@cs.purdue.edu">hosking@cs.purdue.edu</a><br>Date: Tue, 2 Feb 2010 12:19:16 -0500<br>To:<span class="Apple-converted-space"> </span><a href="mailto:jkrell@elego.de">jkrell@elego.de</a><br>CC:<span class="Apple-converted-space"> </span><a href="mailto:m3commit@elegosoft.com">m3commit@elegosoft.com</a><br>Subject: Re: [M3commit] CVS Update: cm3<br><br>That's the wrong approach. A warning is not an error. The backend should be able to cope with it...<br><div><br></div><div><span class="ecxApple-style-span" style="font-size: 12px; "><font class="ecxApple-style-span" color="#0000ff"><font class="ecxApple-style-span" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Antony Hosking</span></span></font></font><font class="ecxApple-style-span" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "> | </span></span><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; ">Associate Professor</span></span><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; "> | Computer Science | Purdue University</span></span></font></span><div><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div style="word-wrap: break-word; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><span class="ecxApple-style-span" style="text-transform: none; text-indent: 0px; border-collapse: separate; font: normal normal normal 12px/normal Helvetica; white-space: normal; letter-spacing: normal; color: rgb(0, 0, 0); word-spacing: 0px; "><div><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; ">305 N. University Street | West Lafayette | IN 47907 | USA</span></font></div><div><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Office</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-style-span" style="font-family: GillSans-Light; "> +1 765 494 6001 |<span class="ecxApple-converted-space"> </span></span></span></font><font class="ecxApple-style-span" color="#0000ff" face="Gill Sans"><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); "><span class="ecxApple-style-span" style="font-family: 'Gill Sans'; color: rgb(0, 0, 255); ">Mobile</span></span></font><font class="ecxApple-style-span" face="GillSans-Light"><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-style-span" style="font-family: GillSans-Light; "><span class="ecxApple-converted-space"> </span>+1 765 427 5484</span></span></font></div><div><font class="ecxApple-style-span" face="GillSans-Light"><br class="ecxkhtml-block-placeholder"></font></div></span></span></span></span></span></span></span><br class="ecxApple-interchange-newline"></span></div></span></span><br class="ecxApple-interchange-newline"></div><br><div><div>On 1 Feb 2010, at 20:17, Jay Krell wrote:</div><br class="ecxApple-interchange-newline"><blockquote><div>CVSROOT:<span class="ecxApple-tab-span" style="white-space: pre; "> </span>/usr/cvs<br>Changes by:<span class="ecxApple-tab-span" style="white-space: pre; "> </span>jkrell@birch.<span class="ecxApple-tab-span" style="white-space: pre; "> </span>10/02/01 20:17:28<br><br>Modified files:<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>cm3/m3-sys/m3front/src/values/: Variable.m3<span class="Apple-converted-space"> </span><br><br>Log message:<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>test case e0\e029:<br><span class="ecxApple-tab-span" style="white-space: pre; "></span><br><span class="ecxApple-tab-span" style="white-space: pre; "></span>MODULE Main;<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>TYPE Rec = RECORD a: INTEGER END;<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>VAR r := Rec; (* warning: variable has type NULL *)<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>BEGIN<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>INC(r.a)<br><span class="ecxApple-tab-span" style="white-space: pre; "></span>END Main.<br><span class="ecxApple-tab-span" style="white-space: pre; "></span><br><span class="ecxApple-tab-span" style="white-space: pre; "></span>followed by internal errors and an assertion failure in m3back<br><span class="ecxApple-tab-span" style="white-space: pre; "></span><br><span class="ecxApple-tab-span" style="white-space: pre; "></span>Change warning to error, and then it never gets to the internal errors.<br></div></blockquote></div><br></div></div></span><br class="Apple-interchange-newline"></blockquote></div><br></body></html>