<table cellspacing="0" cellpadding="0" border="0" ><tr><td valign="top" style="font: inherit;">Hi all:<br>semantically the error is are in the program, not in the operating system (untrapped vs trapped error), all untrapped errors must be stopped before making any modification of the runtime system (not in the operating system abstraction).<br>You can run in a untrapped error, but ignore it silently with automatic initialization like you are trying, doesn't help, your program is ill behaved and must be rejected in a checked runtime error. If you run it and don't report the error until it dereferences NIL you are probably making bad things before that (like in initialization code, for instance:<br><br><br>MODULE Main;<br><br>IMPORT SIO;<br><br>VAR<br> a,b,c: BOOLEAN := b=c ;<br>BEGIN<br><br> SIO.PutBool(a);<br> SIO.PutBool(b); <br> SIO.PutBool(c);<br><br>END Main.<br><br>) in an uninitialized or zeroed program since you can not
predict b and c will be at time of evaluation in a initialization.<br>It doesn't solve the problem being pragmatical.<br>Now, if you want to allow ignoring that isn't very well behaved IMHO. In fact, that's UNSAFE.<br><br>For instance the above example prints TRUETRUEFALSE, in old LINUXLIBC6 makes sense?<br>No, and making nasty assumptions and ignoring errors won't help. The program is simple and wrong.<br>Thanks in advance<br><br>--- El <b>lun, 25/2/13, Rodney Bates <i><rodney_bates@lcwb.coop></i></b> escribió:<br><blockquote style="border-left: 2px solid rgb(16, 16, 255); margin-left: 5px; padding-left: 5px;"><br>De: Rodney Bates <rodney_bates@lcwb.coop><br>Asunto: Re: [M3devel] language question -- locals uninitialized or zero?<br>Para: m3devel@elegosoft.com<br>Fecha: lunes, 25 de febrero, 2013 12:08<br><br><div class="plainMail"><br><br>-Rodney Bates<br><br>--- <a ymailto="mailto:lemming@henning-thielemann.de"
href="/mc/compose?to=lemming@henning-thielemann.de">lemming@henning-thielemann.de</a> wrote:<br><br>From: Henning Thielemann <<a ymailto="mailto:lemming@henning-thielemann.de" href="/mc/compose?to=lemming@henning-thielemann.de">lemming@henning-thielemann.de</a>><br>To: Antony Hosking <<a ymailto="mailto:antony.hosking@gmail.com" href="/mc/compose?to=antony.hosking@gmail.com">antony.hosking@gmail.com</a>><br>Cc: m3devel <<a ymailto="mailto:m3devel@elegosoft.com" href="/mc/compose?to=m3devel@elegosoft.com">m3devel@elegosoft.com</a>><br>Subject: Re: [M3devel] language question -- locals uninitialized or zero?<br>Date: Sun, 24 Feb 2013 10:22:08 +0100 (CET)<br><br><br>On Sun, 24 Feb 2013, Antony Hosking wrote:<br><br>> I suppose it could, but that would be a space leak.The current implementation sets it to NIL.<br><br>I believe that the question was, whether he can rely on the pointer being <br>NIL, and I think he cannot.<br><br>Yes, he
cannot, strictly by the language rules. Somewhat pragmatically, it seems<br>a real stretch to imagine why an implementer would choose anything other than NIL,<br>for any reference type. Even more pragmatically, I am quite sure we have no variant<br>of the compiler that uses anything other than NIL. But to have code that is guaranteed<br>to survive any future new implementation, give it an explicit :=NIL.<br><br><br></div></blockquote></td></tr></table>