From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,2866100c9a2b8ce7 X-Google-Attributes: gid103376,public From: dewar@cs.nyu.edu (Robert Dewar) Subject: Re: Free'ing extended types Date: 1996/04/29 Message-ID: #1/1 X-Deja-AN: 152201415 references: <3183AC75.335C@ehs.ericsson.se> <3184D196.310B@ehs.ericsson.se> <4xpw8qvlau.fsf@lagrange.enst-bretagne.fr> organization: Courant Institute of Mathematical Sciences newsgroups: comp.lang.ada Date: 1996-04-29T00:00:00+00:00 List-Id: Bob Duff said "No, I don't think so. The RM says an Unchecked_Deallocated object is non-existent, and deallocating it is erroneous. If you have a GC that thinks it still exists, that's fine, but it's irrelevant to the formal definition of erroneous. (In this case I'd like the gc to raise an exception, but of course that's not required, since erroneous means *anything* can happen, including keeping the officially deallocated object around and using it as usual.)" Exactly! The definition of what is erroneous and what is not is a function of the semantics of the language (in some cases, as has been pointed out it is non-deterministic whether or not the execution is erroneous, since it depends on implementation choices). But GC does NOT alter the semantics of unchecked deallocatoin at all, and so is irrelevant to the consideration of whether or not a program using unchecked deallocation is or is not erroneous