comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephe_on_the_web@toadmail.com>
Subject: Re: Avoiding warnings
Date: Wed, 22 Feb 2006 17:45:54 -0500
Date: 2006-02-22T17:45:54-05:00	[thread overview]
Message-ID: <uk6bnvwpp.fsf@toadmail.com> (raw)
In-Reply-To: 1140429906.386023.136460@f14g2000cwb.googlegroups.com

"ada_wannabe" <luis.sainz@gmail.com> writes:

> Hello everybody. Suppose we have the next code that converts data types
> between different architectures:
>
> procedure p1(..)
> begin
> ...
> if Standard'Default_Bit_Order=1 then
> ...
> else
> ...
> end p1;
>
> When I compile the source, the GNAT compiler gives me the next warning:
>
> warning: condition is always True
>
> How can I avoid this warning?

Others have shown you how to avoid the warning, but they have not
pointed out that the warning is still correct; the 'else' clause of
this 'if' statement will _never_ be executed.

If you want to write code that converts record layouts between
machines of different endianness, you need something different.

See SAL.Endianness for one way to do it.
http://www.toadmail.com/~ada_wizard/ada/sal.html 

See Ada Letters September 2005, article by Randal Andress for an
extension of this technique.

See http://www.ada-auth.org/ai-files/grab_bag/bitorder.pdf for the
_right_ way to do it. Unfortunately, GNAT does not implement this. If
you care about that, send them an email asking them to implement
AI95-00133. If they get enough such emails, they will eventually
implement it :).

-- 
-- Stephe



  parent reply	other threads:[~2006-02-22 22:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-02-20 10:05 Avoiding warnings ada_wannabe
2006-02-20 13:51 ` Justin Gombos
2006-02-21 21:32 ` Simon Wright
2006-02-22 22:45 ` Stephen Leake [this message]
2006-02-23 20:05   ` Simon Wright
2006-03-04  1:25   ` Brian.Gaffney
replies disabled

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