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-30 21:08:22 PST Path: supernews.google.com!sn-xit-02!supernews.com!news.tele.dk!4.1.16.34!cpk-news-hub1.bbnplanet.com!news.gtei.net!newshub2.home.com!news.home.com!news1.sttls1.wa.home.com.POSTED!not-for-mail From: "DuckE" Newsgroups: comp.lang.ada References: <94h55t$9a1$1@nnrp1.deja.com> <3A6C2CDD.67FD79DC@baesystems.com> <94hfaq$h3n$1@nnrp1.deja.com> <94hn5p$on4$1@nnrp1.deja.com> <3A76E3B9.BD806841@averstar.com> <9570ko$fg1$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.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Message-ID: <95Nd6.343422$U46.10481049@news1.sttls1.wa.home.com> Date: Wed, 31 Jan 2001 05:08:21 GMT NNTP-Posting-Host: 24.6.221.63 X-Complaints-To: abuse@home.net X-Trace: news1.sttls1.wa.home.com 980917701 24.6.221.63 (Tue, 30 Jan 2001 21:08:21 PST) NNTP-Posting-Date: Tue, 30 Jan 2001 21:08:21 PST Organization: Excite@Home - The Leader in Broadband http://home.com/faster Xref: supernews.google.com comp.lang.ada:4731 Date: 2001-01-31T05:08:21+00:00 List-Id: > Note that the detailed list in AARM C.6(20) of disallowed > transformations has no hint at all of the "separate" part of > Tuck's claim, and conspicuously does not list combining writes > as an improper transformation. > > Tuck, having something in your mind is not good enough if you > do not write it down :-) > > > In general, that means each read/update is a separate > > instruction. > > No, there is absolutely NO implication of this > I find the difference in interpretation of AARM C.6(20) interesting. This clause states: "... The implementation shall not generate any memory reads or updates of atomic or volatile objects other than those specified by the program." My interpretation of this statement is: if my program contains two separate assigments to two distinct variables for which pragma atomic applies, these assignments will be performed as two distinct operations. Since the two assignments appear as separate assignments in the code, if the performed these assignments are combined as single operation, an update is being performed that my program did not specify. Since there is obviously some confusion over this issue perhaps the AARM should be revised? BTW: When I first started reading about Ada I didn't realize that there was any confusion on this issue. It is actually one of the specific features of the language that made me think Ada is superior for interfacing with hardware. SteveD