comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen.a.leake.1@gsfc.nasa.gov>
Subject: Re: Last stream problem: byte order
Date: 28 Mar 2002 13:34:24 -0500
Date: 2002-03-28T18:39:40+00:00	[thread overview]
Message-ID: <upu1opmmn.fsf@gsfc.nasa.gov> (raw)
In-Reply-To: pan.2002.03.27.18.25.36.338035.10734@jps-nospam.net

"Eric G. Miller" <egm2@jps-nospam.net> writes:

> > It depends on how clever the compiler is. If the compiler optimizes the
> > static expression in the following if-statement away then it is indeed a
> > compile time check. Otherwise it is a run-time check.
> > 
> >       if System.Default_Bit_Order = System.Low_Order_First then
> >          ... (swap the bytes)
> >       else
> >          ... (don't swap the bytes)
> >       end if;
> > 
> > But I don't think this makes a big difference in either case.
> 
> GNAT gives a warning that the condition is always true (or false).
> Don't know if it eliminates the unreachable branch (I would think so
> with -02). Resorting to preprocessing trickery would probably insure
> it is always a compile time check. Don't know if there's another
> way...

You can have two package bodies, one for Low_Order_First, one for
High_Order_First. Choose which body you use at compile time by setting
paths (in gnat, this is done in gnat.adc via pragma Source_Name).

-- 
-- Stephe



  reply	other threads:[~2002-03-28 18:34 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-25 19:45 Last stream problem: byte order Erik Sigra
2002-03-25 22:28 ` Jeffrey Carter
2002-03-25 22:36 ` Stephen Leake
2002-03-26  4:32 ` Eric G. Miller
2002-03-26 10:25 ` Dr. Michael Paus
2002-03-26 17:53   ` Pascal Obry
2002-03-26 18:25     ` Dr. Michael Paus
2002-03-26 19:25       ` Pascal Obry
2002-03-27 15:37   ` Erik Sigra
2002-03-27 18:12     ` Dr. Michael Paus
2002-03-28  2:24       ` Eric G. Miller
2002-03-28 18:34         ` Stephen Leake [this message]
2002-03-28 18:38         ` Simon Wright
2002-03-29  2:08           ` Eric G. Miller
2002-03-29  6:52             ` Simon Wright
2002-03-29  7:06               ` 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