comp.lang.ada
 help / color / mirror / Atom feed
From: evans@evans.pgh.pa.us (Arthur Evans Jr)
Subject: Re: Does memory leak?
Date: Thu, 23 Mar 1995 08:54:32 -0500
Date: 1995-03-23T08:54:32-05:00	[thread overview]
Message-ID: <evans-230395085432@evans.pgh.pa.us> (raw)
In-Reply-To: EACHUS.95Mar22193719@spectre.mitre.org

In article <EACHUS.95Mar22193719@spectre.mitre.org>,
eachus@spectre.mitre.org (Robert I. Eachus) wrote:

>      There are a very few cases where programs are deliberately
> designed to leak storage because it is too expensive to avoid it, but
> these are very rare.  (One case that I had something to do with
> involves a command line parameter package...it may be possible to
> determine when the storage required goes away, but in most cases you
> would be saving less in stack or heap space than you lose to added
> code space.)

There are several areas where compilers in the early days of Ada leaked.
One is for a function that returns an unconstrained type.  You can't
allocate stack space for the returned value on the call side because you
don't know how much space is needed.  It's possible though tricky for
the callee to put the returned value on its own stack space and for the
caller to reclaim that space later.  Early implementations often put the
result on the heap,  and then some failed to release that space.  Later,
pressures of the market place forced such unpleasantness to be fixed.

I suspect that the command line package Robert refers to returns type
STRING, an unconstrained type.

Note that several functions defined by the standard return unconstrained
types:
    Text_IO.Name
    Text_IO.Form
Beginners have a hard time figuring out how to call these.

A related problem is string catenation, since "&" returns a string.

Art Evans

Arthur Evans Jr, PhD        Phone: 412-963-0839
Ada Consulting              FAX:   412-963-0927
461 Fairview Road
Pittsburgh PA  15238-1933
evans@evans.pgh.pa.us



  reply	other threads:[~1995-03-23 13:54 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1995-03-22  9:06 Does memory leak? Duncan Sands
1995-03-22 12:04 ` Fred J. McCall
1995-03-23  0:37 ` Robert I. Eachus
1995-03-23 13:54   ` Arthur Evans Jr [this message]
1995-03-23 16:23     ` Robert I. Eachus
1995-03-24 21:08   ` Norman H. Cohen
1995-03-28  0:00     ` Theodore Dennison
1995-03-31  0:00     ` Kent Mitchell
1995-03-23  2:08 ` T. Owen O'Malley
1995-03-24 11:44   ` Robert Dewar
1995-03-27 14:01     ` Theodore Dennison
1995-03-29  0:00       ` John DiCamillo
1995-03-30  0:00         ` Robb Nebbe
1995-03-30  0:00         ` Theodore Dennison
1995-03-30  0:00       ` Henry Baker
1995-04-04  0:00         ` John Baker
1995-04-05  0:00           ` Sverre Brubaek
1995-04-05  0:00           ` Pat Rogers
1995-04-05  0:00           ` Tucker Taft
1995-04-06  0:00             ` Norman H. Cohen
1995-04-07  0:00               ` Tucker Taft
1995-04-05  0:00           ` Ray Toal
1995-03-30  0:00   ` Robert I. Eachus
1995-03-23 22:38 ` Tucker Taft
1995-03-24  1:57 ` Henry Baker
1995-03-24 17:30   ` Larry Kilgallen, LJK Software
1995-03-26  0:00     ` Henry Baker
1995-03-27 15:19     ` Norman H. Cohen
1995-03-27 14:35   ` Kennel
1995-03-24 12:29 ` Mike Meier
1995-03-24 10:46   ` Fred J. McCall
1995-03-24 15:44   ` David Weller
1995-03-25  1:55   ` kkrieser
  -- strict thread matches above, loose matches on Subject: below --
1995-03-27  9:36 Duncan Sands
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox