comp.lang.ada
 help / color / mirror / Atom feed
* How can one record component be local and another not?
@ 2020-05-05 11:04 hreba
  2020-05-05 11:33 ` AdaMagica
                   ` (5 more replies)
  0 siblings, 6 replies; 39+ messages in thread
From: hreba @ 2020-05-05 11:04 UTC (permalink / raw)


I have reduced my problem to the following example:

package Aux is
    type Integer_P is access all Integer;
    type Rec is record
       a: aliased Integer;
       p: Integer_P;
    end record;

    procedure Init (r: in out Rec);
end Aux;

package body Aux is
    procedure Init (r: in out Rec) is
    begin
       r.p:= r.a'Access;  -- <-- error!
    end Init;
end Aux;

Compiling results in "non-local pointer cannot point to local object" 
indicating the marked line above.

How can one record component be local and another not?

Intention is to have a library subprogram Init() for initialization. How 
would I implement that instead?

(The reason for the above construction is the need to pass a pointer to 
a C library function.)

-- 
Frank Hrebabetzky, Kronach	+49 / 9261 / 950 0565

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2020-05-10 15:10 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-05 11:04 How can one record component be local and another not? hreba
2020-05-05 11:33 ` AdaMagica
2020-05-05 11:38   ` AdaMagica
2020-05-05 12:59   ` hreba
2020-05-05 13:19     ` J-P. Rosen
2020-05-05 13:37     ` Jere
2020-05-05 14:28       ` hreba
2020-05-05 15:18         ` AdaMagica
2020-05-05 14:32   ` hreba
2020-05-05 11:43 ` AdaMagica
2020-05-05 12:55   ` hreba
2020-05-05 11:46 ` Simon Wright
2020-05-05 13:07   ` hreba
2020-05-05 17:00     ` Dmitry A. Kazakov
2020-05-05 11:48 ` Niklas Holsti
2020-05-05 13:44   ` hreba
2020-05-05 15:45 ` Jeffrey R. Carter
2020-05-05 17:17   ` hreba
2020-05-05 19:08     ` Niklas Holsti
2020-05-06 19:31       ` hreba
2020-05-09 19:43         ` Niklas Holsti
2020-05-10 15:10           ` hreba
2020-05-05 19:19     ` Jere
2020-05-06  6:42     ` Mark Lorenzen
2020-05-06  8:26       ` Simon Wright
2020-05-06  8:33         ` Mark Lorenzen
2020-05-05 17:32 ` hreba
2020-05-05 19:04   ` Niklas Holsti
2020-05-05 20:11     ` Niklas Holsti
2020-05-06 13:13       ` hreba
2020-05-06 17:30   ` Niklas Holsti
2020-05-06 18:28     ` Jere
2020-05-06 19:09       ` Niklas Holsti
2020-05-07  9:07     ` J-P. Rosen
2020-05-07 10:15       ` Niklas Holsti
2020-05-07 13:00         ` Egil H H
2020-05-07 13:25         ` Simon Wright
2020-05-07 10:31       ` Stefan.Lucks
2020-05-07 11:58         ` J-P. Rosen

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