comp.lang.ada
 help / color / mirror / Atom feed
From: anon@anon.org (anon)
Subject: Re: GNAT 4.2.3 Ubuntu reports weird compile error wrt Unchecked_Access
Date: Sun, 17 Aug 2008 05:59:27 GMT
Date: 2008-08-17T05:59:27+00:00	[thread overview]
Message-ID: <37Ppk.5180$Mh5.1917@bgtnsc04-news.ops.worldnet.att.net> (raw)
In-Reply-To: 7053ea09-38cd-4e30-9827-a1384bafd190@p31g2000prf.googlegroups.com

If the GNAT compiler follows the RM on "accessibility" rules.  Then it
will force you to use the "Unchecked_Access" attribute for any non-local 
pointer trying to point to local object".  Solution: If possible move the 
object to be access to a package global variable (non-local), then you can 
use Access attribute.


Note:
RM 13.10 (1) => "The attribute Unchecked_Access is used to create access 
values in an unsafe manner -- the programmer is responsible for 
preventing 'dangling references.' "



In <7053ea09-38cd-4e30-9827-a1384bafd190@p31g2000prf.googlegroups.com>, Jerry <lanceboyle@qwest.net> writes:
>I have a curious report from two members of the development team for
>PLplot, a popular plotting package for which I have written bindings
>in Ada. The project is mature enough that the team decided to enable
>Ada by default when building, so I am concerned about the following e-
>mail.
>
>========== begin e-mail ============
>
><First comment from team member>
>
>This latest change to the Ada bindings causes a build error for me
>with gnat 4.2.3 on Ubuntu.
>
>plplot.adb:2751:37: non-local pointer cannot point to local object
>The offending line is
>    PL_Pen_Labels(Index) := Temp_C_String'Unchecked_Access;
>
><Response from another team member>
>
>This must depend on the version of gnat since I don't see this error
>for gnat 4.3.1-2 from Debian testing (and I presume Jerry didn't see
>it for his gnat-4.3 version as well).
>
>========= end e-mail ==============
>
>I (Jerry) in fact did not see a problem on my OS X 4.3 compiler.
>
>I could supply more details of the code and might even try to write a
>small program but testing on someone else's machine would be a bit
>tedious. BUT--this error makes no sense to me--I would expect to (and
>_do_) see this error if the line in question is
>
>    PL_Pen_Labels(Index) := Temp_C_String'Access;
>
>The whole purpose of using Unchecked_Access is to make this error go
>away. It this a known problem on 4.2.3 Unbutu? Is it a compiler error?
>Why does it work as expected on my 4.3 OS X, on 4.3.1-2 Debian
>testing, but not 4.2.3 Ubuntu?
>
>Jerry




  parent reply	other threads:[~2008-08-17  5:59 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-15 20:26 GNAT 4.2.3 Ubuntu reports weird compile error wrt Unchecked_Access Jerry
2008-08-16 10:26 ` Ludovic Brenta
2008-08-16 10:35   ` Ludovic Brenta
2008-08-17  0:03   ` Jerry
2008-08-17 17:14     ` Simon Wright
2008-08-17 21:05       ` Jerry
2008-08-17  5:59 ` anon [this message]
2008-08-17 19:47   ` anon
2008-08-17 21:14     ` Jerry
2008-08-17 20:58   ` Jerry
replies disabled

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