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,2925b133078d1557 X-Google-Attributes: gid103376,public From: eachus@spectre.mitre.org (Robert I. Eachus) Subject: Re: Flexible Strings (was Equality operator...) Date: 1997/05/08 Message-ID: #1/1 X-Deja-AN: 240233182 References: <9704301422.AA07755@most> <5kocg6$hln@bcrkh13.bnr.ca> Organization: The Mitre Corp., Bedford, MA. Newsgroups: comp.lang.ada Date: 1997-05-08T00:00:00+00:00 List-Id: In article bobduff@world.std.com (Robert A Duff) writes: > Of course, I admit that the C standard is easier to understand on this > particular point, if you're just a programmer trying to write programs, > and not a language lawyer. The Ada standard goes out of its way to > raise questions of this nature, unfortunately. Nonetheless, I claim > that the requirements of C and Ada are identical with respect to whether > free/Unch_Dealloc must/should reclaim storage. They're just written in > a different style. The three reasons that the Ada standard doesn't always require deallocation to do anything are finalization, storage pools, and tasking. It is easy to say, that Ada should require that storage is always freed, but if you free a running task, or an object whose finialization never completes, or an object in a storage pool with a user supplied Deallocate procedure, the standard can't require immediate deallocation. In all other cases, as I read 13.11.2(10) the wording is pretty similar to the C standard. And of course the three exceptions above are not that likely to disturb anyone in real programs. (Unless the actual behavior of the Deallocate or Finalize routine involved is due to a bug, not design.) -- Robert I. Eachus with Standard_Disclaimer; use Standard_Disclaimer; function Message (Text: in Clever_Ideas) return Better_Ideas is...