From: awdorrin <awdorrin@gmail.com>
Subject: Re: GNAT 4.4.5 Record Bit_Order Endian issues
Date: Thu, 17 Jan 2013 11:50:37 -0800 (PST)
Date: 2013-01-17T11:50:37-08:00 [thread overview]
Message-ID: <04cd2ea1-d96f-4b47-93a6-6713f056cbf7@googlegroups.com> (raw)
In-Reply-To: <0169b2ea-30b4-45d1-a4d4-c5841e54b9ad@googlegroups.com>
To provide a bit more info from my last post, from the compilation log, when GNAT is processing the Bit_Order clause I see:
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "TRACK_ID_X" is 20 .. 31
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "TRACK_ID_USE_COUNTR_X" is 14 .. 19
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "NORMAL_RAW_DATA_X" is 13 .. 13
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "TRACK_STATUS_X" is 10 .. 12
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "DEAD_RECKONING_FLG_X" is 9 .. 9
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "TRACK_CONVERGENCE_X" is 8 .. 8
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "BLOCKED_TRACK_FLAG_X" is 7 .. 7
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "TRACK_INRFRNCE_ALRT_X" is 6 .. 6
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "MNUVRING_TARGET_FLG_X" is 5 .. 5
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "DESGNATED_TRACK_FLG_X" is 4 .. 4
info: reverse bit order in machine scalar of length 32
info: little-endian range for component "SPAREA" is 0 .. 3
This definition looks correct. For instance the first item in the record, and the first 12 bits of memory, should represent the TRACK_ID_X field.
From the info messages:
little-endian range for component "TRACK_ID_X" is 20 .. 31
However, as indicated above, when the 'rep spec' is printed out, this is represented as: TRACK_ID_X at 2 range 4 .. 15;
Quite frustrating! :)
What I'd give for some simple conditional compile directives like there are in C...
next prev parent reply other threads:[~2013-01-17 19:50 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-01-14 17:43 GNAT 4.4.5 Record Bit_Order Endian issues awdorrin
2013-01-15 0:38 ` Randy Brukardt
2013-01-15 1:57 ` Adam Beneschan
2013-01-15 16:57 ` AdaMagica
2013-01-15 22:24 ` Stephen Leake
2013-01-16 10:44 ` Simon Wright
2013-01-16 19:00 ` AdaMagica
2013-01-16 21:34 ` Simon Wright
2013-01-16 23:14 ` Randy Brukardt
2013-01-17 3:49 ` Stephen Leake
2013-01-17 15:32 ` awdorrin
2013-01-18 9:49 ` Stephen Leake
2013-01-18 13:04 ` Robert A Duff
2013-01-19 1:43 ` Stephen Leake
2013-01-19 12:48 ` AdaMagica
2013-01-22 0:14 ` Randy Brukardt
2013-01-17 17:28 ` Simon Wright
2013-01-18 9:56 ` Stephen Leake
2013-01-17 18:04 ` awdorrin
2013-01-17 19:50 ` awdorrin [this message]
2013-01-18 9:58 ` Stephen Leake
2013-01-17 20:58 ` Simon Wright
2013-01-17 21:29 ` awdorrin
2013-01-17 22:16 ` awdorrin
2013-01-18 6:15 ` J-P. Rosen
2013-01-18 15:28 ` Niklas Holsti
2013-01-18 9:37 ` Stephen Leake
2013-01-18 12:24 ` awdorrin
2013-01-18 15:11 ` awdorrin
2013-01-19 1:48 ` Stephen Leake
2013-01-18 17:19 ` Simon Wright
2013-01-22 9:49 ` quinot
2013-01-28 13:39 ` quinot
-- strict thread matches above, loose matches on Subject: below --
2013-01-22 3:21 Stephen Leake
2013-01-22 5:14 ` Jeffrey Carter
2013-01-23 1:29 ` Stephen Leake
2013-01-22 22:40 ` Randy Brukardt
2013-01-23 1:38 ` Stephen Leake
2013-01-23 10:58 ` Simon Wright
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox