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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail From: Simon Wright Newsgroups: comp.lang.ada Subject: Re: AI12-0218: What is the portable representation clause for processing IETF packets on little-endian machines? Date: Fri, 11 May 2018 17:48:43 +0100 Organization: A noiseless patient Spider Message-ID: References: <9af47760-e731-4cb5-a1a0-d63e31019ce5@googlegroups.com> <877eob1cc6.fsf@nightsong.com> <5c9b9f90-884f-4de7-8663-d39a67949f4f@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: reader02.eternal-september.org; posting-host="906cab77493fe040d97f450db9e7653d"; logging-data="25136"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/bAGfFBGVqtfy5KiXmd2I65tnUBX3lKcM=" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (darwin) Cancel-Lock: sha1:oyLTz/FQoo7vbUGwqTq4kx3drvU= sha1:+0yWcHCmPKHpB9hilzvKkpvLXzA= Xref: reader02.eternal-september.org comp.lang.ada:52278 Date: 2018-05-11T17:48:43+01:00 List-Id: "Jeffrey R. Carter" writes: > On 05/11/2018 03:49 PM, Simon Wright wrote: >> Lucretia writes: >> >>> On Friday, 11 May 2018 08:55:28 UTC+1, Simon Wright wrote: >>>> In the body, >>>> >>>> Big_Endian : constant Boolean >>>> := System."=" (System.Default_Bit_Order, System.High_Order_First); >>>> >>> >>> Is it not possible to use derived types with different rep clauses to >>> implement byte swapping on assignment, like the pack/unpack trick can? >> >> Maybe nowadays; not when that code was written. > > You can, and have been able to since Ada 83. I must be missing something. type T is record J : Integer; end T; type BE_T is new T; for BE_T use record ????? end record;