comp.lang.ada
 help / color / mirror / Atom feed
From: Ted Dennison <dennison@telepath.com>
Subject: Re: heap exhausted during elaboration
Date: 2000/07/31
Date: 2000-07-31T00:00:00+00:00	[thread overview]
Message-ID: <8m42a0$t56$1@nnrp1.deja.com> (raw)
In-Reply-To: 398494D9.ADE9F40F@mail.utexas.edu

In article <398494D9.ADE9F40F@mail.utexas.edu>,
  "Bobby D. Bryant" <bdbryant@mail.utexas.edu> wrote:
> npriebe wrote:
>
> > I use a gnat compiler under windows NT and during the elaboration
> > time ,I get a error message : storage error : heap exhausted.
> > I use many generic packages like :
> > with package ... is new ...
> > may this is a common problem of  a exhausted heap
> >
> > What can I do? How can I increase the heap or
> > do something else?
>
> Hopefully someone more expert will comment, but AFAIK the only ways to
> increase your available heap are to increase the size of your physical
> memory, increase the size of your page/swap file, or get other things
> out of memory.  (You may also be able to reduce the size of the stack
> for the program, though this might cause its own problems.)

Typically this is a result of doing something very wasteful with memory.
The most common one I can think of is declaring a variant record with a
variant array field based on some index with a huge range like Positive.
Eg:

type Dumb_Variant (End : Positive := 5) is record
   Elements : String (1..Index);
end record;

Variant_Array_That_Uses_Up_Whole_Memory_Space : Dumb_Variant;

On most compilers, this will require your 5-element array to reserve
Positive'last bytes of storage for possible future growth.

--
T.E.D.

http://www.telepath.com/~dennison/Ted/TED.html


Sent via Deja.com http://www.deja.com/
Before you buy.




  reply	other threads:[~2000-07-31  0:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-07-27  0:00 heap exhausted during elaboration ****
2000-07-30  0:00 ` Bobby D. Bryant
2000-07-31  0:00   ` Ted Dennison [this message]
2000-08-01  0:00 ` Kent Paul Dolan
2000-08-02  0:00 ` Harry Overs
replies disabled

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