comp.lang.ada
 help / color / mirror / Atom feed
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




  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