From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,cbd507df3efa824b X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-01-22 08:09:58 PST Path: supernews.google.com!sn-xit-02!sn-xit-03!supernews.com!cyclone-sf.pbi.net!63.208.208.143!feed2.onemain.com!feed1.onemain.com!news-out.cwix.com!newsfeed.cwix.com!newsfeed.mathworks.com!cyclone.swbell.net!nnrp1.sbc.net.POSTED!not-for-mail From: "Pat Rogers" Newsgroups: comp.lang.ada References: <94h55t$9a1$1@nnrp1.deja.com> <3A6C2CDD.67FD79DC@baesystems.com> <94hfaq$h3n$1@nnrp1.deja.com> Subject: Re: Help with Atomic_Components and whole array assignment X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: Date: Mon, 22 Jan 2001 10:09:56 -0600 NNTP-Posting-Host: 208.191.184.67 X-Complaints-To: abuse@pacbell.net X-Trace: nnrp1.sbc.net 980179797 208.191.184.67 (Mon, 22 Jan 2001 10:09:57 CST) NNTP-Posting-Date: Mon, 22 Jan 2001 10:09:57 CST Organization: SBC Internet Services Xref: supernews.google.com comp.lang.ada:4307 Date: 2001-01-22T10:09:56-06:00 List-Id: wrote in message news:94hfaq$h3n$1@nnrp1.deja.com... > Here's another embedded systems issue I'd like to see taken up: I'd > like to see bit order fixed, i.e. the ability to write endian- > independent record representation clauses. There's an AI for it; I forget which one off the top of my head. At any rate we can now compile the following (i.e., Norm Cohen's nice example), because Default_Bit_Order is now static: with System; use System; package Endianess is Byte_MSB : constant := 0 + (Boolean'Pos(Default_Bit_Order = Low_Order_First) * 7); Halfword_MSB : constant := 0 + (Boolean'Pos(Default_Bit_Order = Low_Order_First) * 15); Word_MSB : constant := 0 + (Boolean'Pos(Default_Bit_Order = Low_Order_First) * 31); DoubleWord_MSB : constant := 0 + (Boolean'Pos(Default_Bit_Order = Low_Order_First) * 63); NextBit : constant := 1 - (2 * Boolean'Pos(Default_Bit_Order = Low_Order_First)); end Endianess;