From: Stephen Leake <Stephen.Leake@gsfc.nasa.gov>
Subject: Re: Program error from assignment??
Date: 1998/07/22
Date: 1998-07-22T00:00:00+00:00 [thread overview]
Message-ID: <u7m15dbki.fsf@gsfc.nasa.gov> (raw)
In-Reply-To: 6p4skk$j73$1@nnrp1.dejanews.com
dennison@telepath.com writes:
> Program_Error can happen on this assignment when the accessability level of
> the source pointer's object is deeper than that of the target object's type.
> That's so I can't keep around a pointer to an object after it goes away. Fair
> enough.
>
> So now this turns into an "accessability level" question. The object that is
> pointed to is declared in the declaration section of the main routine. It
> exists the entire program. I don't understand the exact rules on accessability
> levels, but in my book I should *never* fail an accessability check with this
> object. The access type is declared in a package spec.
>
> T.E.D.
The compiler doesn't know that this routine is your main routine, so
it assumes it could be called from some other routine; then the
accessibility check makes sense. (uh oh; is this an advantage for C
"main"? :).
You have two options:
1) Declare the object in a library level package (I usually call such
a package main_aux.ads or some such).
2) Use 'Unchecked_Access. This situation is pretty much what
Unchecked_Access is for; you are telling the compiler that you are
smarter than it is (well, at least you promise not to use the pointer
after the object goes out of scope :).
-- Stephe
next prev parent reply other threads:[~1998-07-22 0:00 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-07-21 0:00 Program error from assignment?? dennison
1998-07-22 0:00 ` dennison
1998-07-22 0:00 ` Robert Dewar
1998-07-22 0:00 ` dennison
1998-07-23 0:00 ` Tucker Taft
1998-07-23 0:00 ` Robert Dewar
1998-07-22 0:00 ` David C. Hoos, Sr.
1998-07-22 0:00 ` Stephen Leake [this message]
1998-07-22 0:00 ` dennison
1998-07-22 0:00 ` Jean-Pierre Rosen
1998-07-22 0:00 ` dennison
1998-07-23 0:00 ` Robert Dewar
1998-07-23 0:00 ` dennison
1998-07-23 0:00 ` Jean-Pierre Rosen
1998-07-24 0:00 ` tedennison
1998-07-23 0:00 ` Dale Stanbrough
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox