comp.lang.ada
 help / color / mirror / Atom feed
From: Lucas Redding <lucas.redding@gmail.com>
Subject: Re: Addressing in Object Ada v/s GNAT (2013) showing Vast Differences
Date: Mon, 7 Sep 2015 09:02:46 -0700 (PDT)
Date: 2015-09-07T09:02:46-07:00	[thread overview]
Message-ID: <56274cb4-21f3-479b-9515-1c15c8b650aa@googlegroups.com> (raw)
In-Reply-To: <msk5ea$cm8$1@dont-email.me>

On Monday, September 7, 2015 at 3:04:43 PM UTC+1, G.B. wrote:
> On 07.09.15 13:54, Lucas Redding wrote:
> > On Monday, September 7, 2015 at 12:39:35 PM UTC+1, Lucas Redding wrote:
> >> Hi
> >>
> >> I was wondering how the addressing mechanism works in GNAT Ada? Is it so vastly different to Object Ada? Is there a way I can tailor the GNAT addressing mechanism to follow that of Object Ada?
> >>
> >> I have a program that runs perfectly in Object Ada. The program relies heavily on "USE AT" clauses together with 'SIZE on underlying type definition. This is in order to map directly and deterministically to memory with bit precision. The data is independently produced so this is very important.
> >>
> >> I have compiled the program is GNAT Ada but I am getting run time errors such as "misaligned address value". More worryingly, any data read from memory that relies on the addressing mechanisms described above is incoherent.
> >>
> >> I am interested in moving to GNAT Ada because I believe the accompanying toolset is much richer and therefore more productive but I am beginning to wonder whether this is too onerous task?
> >>
> >> Any help is greatly appreciated.
> >>
> >> Lucas
> >
> > Hi,
> >
> > I forgot to say that platform is Windows 7 (64 bit if that matters) and the data is in S_RECORD format (With correct ENDIANISM).
> >
> > Any help is greatly appreciated.
> 
> In case you haven't already found it, a look at GNAT
> chosen representation is possible when translating
> with the -gnatR?[s] options. I also assume you have
> been specifying alignment of types/objects? Maybe
> also including fields for padding?

Hi GB

Yes I have included alignment of types and objects. I have not explicitly specified the padding gaps. In object Ada, this is not necessary provided the type specifications are explicitly size constrained and the object fits in between its address and the next objects address. In other words if there is a gap between the end of one object and the beginning of the next object, the data is read correctly (if the size of the type is explicitly constrained). 

Many thanks for that pointerto the -gnatR option. Being a novice to the compiler there are so many options to get to grips with. I am also using GPS, and toggling all the tick boxes did not produce this switch.

I am off to the GNAT RM to read about this switch, and will report back.

Thanks again
Lucas


  reply	other threads:[~2015-09-07 16:02 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-07 11:39 Addressing in Object Ada v/s GNAT (2013) showing Vast Differences Lucas Redding
2015-09-07 11:54 ` Lucas Redding
2015-09-07 14:04   ` G.B.
2015-09-07 16:02     ` Lucas Redding [this message]
2015-09-07 16:28       ` Anh Vo
2015-09-08  7:30         ` Lucas Redding
2015-09-08 15:11           ` Anh Vo
2015-09-08 17:20           ` Jeffrey R. Carter
2015-09-07 17:20   ` Pascal Obry
2015-09-07 17:21   ` Pascal Obry
2015-09-08  7:04     ` Lucas Redding
2015-09-07 21:02   ` Niklas Holsti
2015-09-08  8:00     ` Lucas Redding
2015-09-07 15:48 ` Jeffrey R. Carter
2015-09-08  7:27   ` Lucas Redding
2015-09-08  7:12 ` Markus Schöpflin
2015-09-08  8:05   ` Lucas Redding
2015-09-10 10:47 ` Lucas Redding
2015-09-10 12:34   ` G.B.
2015-09-21 11:12     ` Lucas Redding
2015-09-21 11:57       ` Jacob Sparre Andersen
2015-09-21 13:22         ` Lucas Redding
2015-09-21 13:47           ` Jacob Sparre Andersen
2015-09-21 13:52           ` Georg Bauhaus
2015-09-21 15:54             ` Lucas Redding
2015-09-22 17:49               ` Jacob Sparre Andersen
2015-09-22 18:45               ` Jacob Sparre Andersen
2015-10-01  6:50                 ` Lucas Redding
2015-09-21 16:48       ` Dmitry A. Kazakov
2015-10-01  7:25         ` Lucas Redding
2015-10-01 20:04           ` Randy Brukardt
replies disabled

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