* How do I turn off this warning?
@ 2008-07-22 20:07 mockturtle
2008-07-22 20:34 ` Robert A Duff
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: mockturtle @ 2008-07-22 20:07 UTC (permalink / raw)
Hi there,
I have the following almost-essential code
-------------------------------------------------
with System;
package V is
type Unsigned_2 is mod 2**2;
type Unsigned_5 is mod 2**2;
type T1 is
record
Version : Unsigned_2;
Inline : Boolean;
Command : Unsigned_5;
end record;
for T1'Bit_Order use System.High_Order_First;
for T1 use
record
Version at 0 range 0..1;
Inline at 0 range 2..2;
Command at 0 range 3..7;
end record;
end V;
-------------------------------------------------
If I try to compile it with "gnatmake" I obtain the
following list of warnings
v.ads:17:29: warning: reverse bit order in machine scalar of length 8
v.ads:17:29: warning: little-endian range for component "Version" is
6 .. 7
v.ads:18:29: warning: reverse bit order in machine scalar of length 8
v.ads:18:29: warning: little-endian range for component "Inline" is
5 .. 5
v.ads:19:29: warning: reverse bit order in machine scalar of length 8
v.ads:19:29: warning: little-endian range for component "Command" is
0 .. 4
I understand that with
for T1'Bit_Order use System.High_Order_First;
I am requesting the opposite convention of the "natural"
one of my architecture (Linux on Intel), but I am
aware of it and I need it to match the order in
the packets I want to process. I am getting sick of
those warnings and I would like to say to the compiler
"Thank you for your help, but I know what I am doing,
so shut up."
I tried to look at the option list you get by calling "gnatmake" by
itself
and also "-gnatwA" (turn off all optional warning), but with no luck.
Any idea?
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How do I turn off this warning?
2008-07-22 20:07 How do I turn off this warning? mockturtle
@ 2008-07-22 20:34 ` Robert A Duff
2008-07-22 21:36 ` Simon Wright
2008-07-23 11:22 ` stefan-lucks
2 siblings, 0 replies; 5+ messages in thread
From: Robert A Duff @ 2008-07-22 20:34 UTC (permalink / raw)
mockturtle <framefritti@gmail.com> writes:
> type Unsigned_5 is mod 2**2;
That doesn't look right. ;-)
I don't know why -gnatwA doesn't work for you.
You should note that this bit-order stuff has been changed (improved)
between Ada 95 and Ada 2005.
- Bob
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How do I turn off this warning?
2008-07-22 20:07 How do I turn off this warning? mockturtle
2008-07-22 20:34 ` Robert A Duff
@ 2008-07-22 21:36 ` Simon Wright
2008-07-23 11:22 ` stefan-lucks
2 siblings, 0 replies; 5+ messages in thread
From: Simon Wright @ 2008-07-22 21:36 UTC (permalink / raw)
Try pragma Warnings (Off) and (On) round the representation clauses.
In fact, this works for me (GCC 4.3.0):
for T1 use
record
pragma Warnings (Off);
Version at 0 range 0..1;
Inline at 0 range 2..2;
Command at 0 range 3..7;
pragma Warnings (On);
end record;
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How do I turn off this warning?
2008-07-22 20:07 How do I turn off this warning? mockturtle
2008-07-22 20:34 ` Robert A Duff
2008-07-22 21:36 ` Simon Wright
@ 2008-07-23 11:22 ` stefan-lucks
2008-07-23 20:23 ` Simon Wright
2 siblings, 1 reply; 5+ messages in thread
From: stefan-lucks @ 2008-07-23 11:22 UTC (permalink / raw)
On Tue, 22 Jul 2008, mockturtle wrote:
> I have the following almost-essential code
[...]
> -------------------------------------------------
>
> If I try to compile it with "gnatmake" I obtain the
> following list of warnings
[...]
> [...] but I am aware of it and I need it to match the order in the
> packets I want to process. I am getting sick of those warnings and I
> would like to say to the compiler "Thank you for your help, but I know
> what I am doing, so shut up."
Try "pragma Warnings (off, <warning message>);".
Read <http://www.adacore.com/2007/11/19/ada-gem-18/>.
So long
Stefan
--
------ Stefan Lucks -- Bauhaus-University Weimar -- Germany ------
Stefan dot Lucks at uni minus weimar dot de
------ I love the taste of Cryptanalysis in the morning! ------
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: How do I turn off this warning?
2008-07-23 11:22 ` stefan-lucks
@ 2008-07-23 20:23 ` Simon Wright
0 siblings, 0 replies; 5+ messages in thread
From: Simon Wright @ 2008-07-23 20:23 UTC (permalink / raw)
stefan-lucks@see-the.signature writes:
> Try "pragma Warnings (off, <warning message>);".
Possibly overkill in this case; there are 3 lines of code giving 6
warnings (4 unique ones). And you have to turn them on again, or you get
a warning about that too. And (GCC 4.3.0) they don't actually get turned
off unless you do supply the matching On!
for T1 use
record
pragma Warnings
(Off, "reverse bit order in machine scalar of length 8");
pragma Warnings
(Off, "little-endian range for component ""Version"" is 6 .. 7");
Version at 0 range 0..1;
pragma Warnings
(On, "little-endian range for component ""Version"" is 6 .. 7");
pragma Warnings
(Off, "little-endian range for component ""Inline"" is 5 .. 5");
Inline at 0 range 2..2;
pragma Warnings
(On, "little-endian range for component ""Inline"" is 5 .. 5");
pragma Warnings
(Off, "little-endian range for component ""Command"" is 0 .. 4");
Command at 0 range 3..7;
pragma Warnings
(On, "little-endian range for component ""Command"" is 0 .. 4");
pragma Warnings
(On, "reverse bit order in machine scalar of length 8");
end record;
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2008-07-23 20:23 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-07-22 20:07 How do I turn off this warning? mockturtle
2008-07-22 20:34 ` Robert A Duff
2008-07-22 21:36 ` Simon Wright
2008-07-23 11:22 ` stefan-lucks
2008-07-23 20:23 ` Simon Wright
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox