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!news.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!gegeweb.org!news.ecp.fr!news.jacob-sparre.dk!loke.jacob-sparre.dk!pnx.dk!.POSTED!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Forcing GNAT to use 32-bit load/store instructions on ARM? Date: Tue, 8 Jul 2014 15:34:04 -0500 Organization: Jacob Sparre Andersen Research & Innovation Message-ID: References: <0e0b9ac2-e793-4cc5-8d8d-d3441ca28a58@googlegroups.com> <1j7b0m3yptffy$.1cztnkty8elrv$.dlg@40tude.net> NNTP-Posting-Host: static-69-95-181-76.mad.choiceone.net X-Trace: loke.gir.dk 1404851645 28874 69.95.181.76 (8 Jul 2014 20:34:05 GMT) X-Complaints-To: news@jacob-sparre.dk NNTP-Posting-Date: Tue, 8 Jul 2014 20:34:05 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.6157 Xref: news.eternal-september.org comp.lang.ada:20812 Date: 2014-07-08T15:34:04-05:00 List-Id: "Simon Clubley" wrote in message news:lpgn76$u7h$1@dont-email.me... > On 2014-07-07, Randy Brukardt wrote: >> >> Clearly, we need a partial aggregate syntax (it's the only way for an >> atomic >> record write to make sense), and that needs to be clear that it includes >> both a read and a write of the object for the purposes of volatile >> variables. Probably someone should submit this problem to Ada-Comment for >> study in the next version of Ada (whenever that might be). >> > > What are the submission details for Ada-Comment ? (Searching for Ada > Comments just points to links about using comments in Ada code.) Others have answered this. > What is the level of formality and problem detail required in the > submission ? Well, it's English, so there's no way to enforce anything. :-) The expectation is that people report the problems they have, that are either hard or impossible to solve with Ada as it stands. A sufficient level of detail is needed so that we can understand the problem. It's not necessary to provide solutions (although few people can resist offering up their pet ideas). > I also wonder if "Atomic" is the correct word here; perhaps something like > "Non_Segmented_Access" would be a better attribute name when we > _must_ access the register in units of the record size and don't really > care about the Read-Modify-Write sequence itself being indivisible. We discussed that years ago, that's why C.6(22/2) was added. And the answer was, yes, "Atomic" is the concept that we want to use for this. It's essentially the same idea. As far as the "Read-Modify-Write" sequence being indivisble, that definitely is *not* the purpose of Atomic. It just makes Read indivisible (and the same for Write, of course). To make "Read-Modify-Write" indivisible, you'd need a test-and-set instruction, which would require far more restrictions than Atomic does. (I don't see any way to make a general Read-Modify-Write to be indivisible on Windows or Linux, for instance, as that requires shutting off interrupts.) I think the only reason that we'd consider adding yet another classification would be in case we were worried about compatibility (which certainly is possible) with the previous definition of Atomic. Randy.