Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!hao!ames!sdcsvax!ucbvax!TL-20B.ARPA!PLOEDEREDER From: PLOEDEREDER@TL-20B.ARPA Newsgroups: comp.lang.ada Subject: Re: What's Wrong with this Structure? Message-ID: <8708130048.AA01476@ucbvax.Berkeley.EDU> Date: Wed, 12-Aug-87 20:41:52 EDT Article-I.D.: ucbvax.8708130048.AA01476 Posted: Wed Aug 12 20:41:52 1987 Date-Received: Sat, 15-Aug-87 04:41:12 EDT Sender: daemon@ucbvax.BERKELEY.EDU Distribution: world Organization: The ARPA Internet Lines: 19 You have used an exceedingly nasty representation spec, which when obeyed may cause oodles of code for accessing characters in that string. Try using s at 0 range 0..39; instead (or do you really want it offset by 1 bit ??). With the component clause specifing range 1..40 (incidently a very frequent unintentional mis-typing in lieu of the above), each character in the string would cross a byte boundary. Depending on your target machine, you might see as much as half a page of assembly instructions to do "X.S(i)", while with a 'range 0..39' it could be done in 1 or 2 instructions at the most. Of course, if your target machine isn't one of those..... If 's at 0 range 0..39;' doesn't work, start complaining to your vendor. Erhard Ploedereder Tartan Laboratories Inc. (usual disclaimers) -------