Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!swrinde!elroy.jpl.nasa.gov!decwrl!pa.dec.com!src.dec.com!kalsow From: kalsow (Bill Kalsow) Newsgroups: comp.lang.modula3 Subject: Re: Local procedure assignment (Bug in M3 1.6 SPARC)? Message-ID: <9104112018.AA00552@jumbo.pa.dec.com> Date: 11 Apr 91 20:18:04 GMT Lines: 11 In-Reply-To: Message of Wed, 10 Apr 91 18:03:33 MET DST from Thomas Roemke <9104101603.AA06880@thor.uni-paderborn.de> To: m3 Cc: Thomas Roemke , kalsow > Assigning a local procedure is illegal. In the case of procedure variables > the compiler has to generate code for verifying this at runtime. The pro- > gram below has to raise an exception (or just terminate execution??), since > the second assignment to x is illegal (i.e. a local procedure). Am I right ? Yes, the second assignment 'x := p' where p = q.z is a checked runtime error. The Modula-3 Report does not specify the behavior of a checked runtime error. SRC Modula-3 terminates with a core dump (or at least it should) on all checked runtime errors. - Bill Kalsow