comp.lang.ada
 help / color / mirror / Atom feed
From: DrPi <314@drpi.fr>
Subject: Re: Record initialisation question
Date: Fri, 15 Jan 2021 08:49:32 +0100	[thread overview]
Message-ID: <6001490d$0$24269$426a74cc@news.free.fr> (raw)
In-Reply-To: <i6b2ltFcg4hU1@mid.individual.net>

> 
> You could try Unchecked_Conversion or System.Storage_Units.To_Integer.
> 
They are not compatible with no elaboration code.
Generally, using a function call is not compatible with no elaboration code.

> But my suggestion did not involve such conversions: I assumed that you 
> would be able to compute, using static universal-integer expressions, 
> the addresses for all your flash objects, and use those directly in the 
> record aggregates. This assumes that you are able to define the lay-out 
> of all the stuff in the flash. You might then also specify the 'Address 
> of each flash object, using those same universal-integer expressions.
> 
> Something like this (not tested with a compiler):
> 
>     Flash_Start : constant := 16#500#;
> 
>     Obj_A_Addr : constant := Flash_Start;
> 
>     Obj_B_Addr : constant := Obj_A_Addr + 16#234#;
>     -- Here 16#234# is supposed to be the size of Obj_A, so that
>     -- Obj_B follows Obj_A in flash.
> 
>     Obj_A : constant Dcd_T := (
>        Next => Obj_B_Addr,
>        ...);
> 
>     for Obj_A'Address
>        use System.Storage_Elements.To_Address (Obj_A_Addr);
> 
System.Storage_Elements is not compatible with no elaboration code.

  parent reply	other threads:[~2021-01-15  7:49 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-09  9:30 Record initialisation question DrPi
2021-01-09 10:46 ` Dmitry A. Kazakov
2021-01-10 16:41   ` DrPi
2021-01-11 21:48     ` Shark8
2021-01-12 11:38       ` Simon Wright
2021-01-12 15:01         ` Shark8
2021-01-14 21:32           ` Simon Wright
2021-01-14 23:12             ` Shark8
2021-01-14 12:58       ` DrPi
2021-01-17 17:03   ` DrPi
2021-01-17 23:55     ` Shark8
2021-01-18 20:02       ` DrPi
2021-01-19  5:50         ` Randy Brukardt
2021-01-09 15:44 ` Niklas Holsti
2021-01-10 16:53   ` DrPi
2021-01-10 19:30     ` Niklas Holsti
2021-01-10 21:27       ` DrPi
2021-01-10 22:14         ` Niklas Holsti
2021-01-11 17:46           ` DrPi
2021-01-11 20:58             ` Niklas Holsti
2021-01-14 13:07               ` DrPi
2021-01-14 13:36                 ` AdaMagica
2021-01-14 14:07                 ` Jeffrey R. Carter
2021-01-14 14:09                   ` Jeffrey R. Carter
2021-01-14 14:27                 ` Niklas Holsti
2021-01-14 16:53                   ` Shark8
2021-01-15  7:50                     ` DrPi
2021-01-15 18:15                       ` Shark8
2021-01-16 10:28                         ` DrPi
2021-01-14 16:59                   ` Paul Rubin
2021-01-15  7:49                   ` DrPi [this message]
2021-01-17 17:08 ` DrPi
replies disabled

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