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=-0.8 required=5.0 tests=BAYES_00,INVALID_DATE autolearn=no autolearn_force=no version=3.4.4 Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.3 4.3bsd-beta 6/6/85; site ucbvax.BERKELEY.EDU Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!amdcad!lll-crg!ucdavis!ucbvax!info-ada From: RRACINE@USC-ISIF.ARPA (Roger Racine) Newsgroups: net.lang.ada Subject: subaggragates Message-ID: <8602092208.AA21059@ucbvax.berkeley.edu> Date: Sun, 9-Feb-86 16:56:49 EST Article-I.D.: ucbvax.8602092208.AA21059 Posted: Sun Feb 9 16:56:49 1986 Date-Received: Tue, 11-Feb-86 07:18:36 EST Sender: daemon@ucbvax.BERKELEY.EDU Organization: The ARPA Internet List-Id: In regard to the following question: Hi all, We have a question concerning subaggregates. Consider the following program... procedure Agg is type R is record X : String (1 .. 2) := (others => 'z'); Y : String (5 .. 6) := (others => 'z'); end record; A : R; begin A := (others => (others => 'a')); A := (X | Y => (others => 'a')); A := ((others => 'c'), (others => 'c')); end Agg; Now the question is: Should any of these assignments raise Constraint_Error? The Data General raises Constraint_Error on the first two but not on the third. Is the subaggregate (others => 'a') in the first (and second) assignment evaluated once or twice? Do things change if the components X and Y are of different lengths? thanks in advance to anybody who has the slightest idea, doug bryan and Geoff Mendal ------- ----------------------------------------------------------------------- All three work fine on DEC's Ada compiler. The "expression" (in your case 'a') is evaluated separately for each component assigned (i.e. 4 times total per assignment statement). It should not matter how many characters are in each string. I hope that helps. I did not try to find the LRM paragraph, but believe the DEC compiler is correct. Roger Racine -------