From: "Eric G. Miller" <egm2@jps-nospam.net>
Subject: Re: Last stream problem: byte order
Date: Thu, 28 Mar 2002 02:24:57 GMT
Date: 2002-03-28T02:24:57+00:00 [thread overview]
Message-ID: <pan.2002.03.27.18.25.36.338035.10734@jps-nospam.net> (raw)
In-Reply-To: 3CA20BAA.FD53C08A@ib-paus.com
In <3CA20BAA.FD53C08A@ib-paus.com>, Dr. Michael Paus wrote:
> Erik Sigra schrieb:
>>
>> tisdagen den 26 mars 2002 11.25 skrev du:
>> > If you also check the byte order of your system at runtime (there is a
>> > system constant in Ada which you can check) you can even achieve the effect
>> > that all stream data is always written in network byte order independent of
>> > the platform your program is running on.
>>
>> Why runtime check? Compile time check seems more reasonable to me. Or can the
>> same compiled program really run on architectures with different endiannes?
>
> 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...
next prev parent reply other threads:[~2002-03-28 2:24 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 [this message]
2002-03-28 18:34 ` Stephen Leake
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