comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: AI12-0128 (was: STM32F4 GNAT Run Time System - roadmap)
Date: Fri, 11 Dec 2015 15:18:38 -0600
Date: 2015-12-11T15:18:38-06:00	[thread overview]
Message-ID: <n4fejf$kku$1@loke.gir.dk> (raw)
In-Reply-To: lyfuz92fqk.fsf_-_@pushface.org

"Simon Wright" <simon@pushface.org> wrote in message 
news:lyfuz92fqk.fsf_-_@pushface.org...
> "Randy Brukardt" <randy@rrsoftware.com> writes:
>
>> "Simon Wright" <simon@pushface.org> wrote in message
>> news:lya8pnh1dq.fsf@pushface.org...
>>> ...I've not done any evaluation yet aside from noting that they
>>> generate the GNAT-specific Volatile_Full_Access aspect, which is
>>> noted in the 'under development' version of the GCC docs (so, will
>>> likely be in GCC 6). Maybe plain Volatile will do (but users would
>>> have to remember to access the whole register explicitly, rather than
>>> leaving it up to the compiler to Do The Right Thing); that would be
>>> an easy-enough patch.
>>
>> The ARG has decided on a different direction to fix the problem
>> addressed by Volatile_Full_Access; essentially, accesses to
>> non-volatile components of atomic objects have to be accessed with a
>> read-modify-write cycle. (See AI12-0128-1.) Various parts of Annex C
>> will be rewritten to make that make sense.
>
> I see that !example, 4 lines from the end, says
>   if Status_Register.Read then -- Illegal.
> - should be .Ready

You're reading an obsolete version of the AI. We're still working on the new 
version. But thanks for pointing out the example, 'cause it wasn't updated 
at all in the new version.

There's no extra aspect at all in the newest recommendation, rather 
compilers are supposed to do the right thing. (That requires making 
exceptions to C.6(20) and C.6(22) in the case of nonatomic components of an 
atomic object, plus some added Legality Rules).

                       Randy. 


  reply	other threads:[~2015-12-11 21:18 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-09 12:02 STM32F4 GNAT Run Time System - roadmap Simon Wright
2015-06-09 19:44 ` Tero Koskinen
2015-06-12 17:31   ` MIchael Erdmann
2015-06-12 18:19     ` Simon Wright
2015-06-09 20:08 ` jan.de.kruyf
2015-06-10 17:47   ` Simon Wright
2015-06-10 19:54     ` jan.de.kruyf
2015-06-10 21:11       ` Simon Wright
2015-06-10  8:19 ` jan.de.kruyf
2015-06-10  8:24 ` jan.de.kruyf
2015-06-10 17:55   ` Simon Wright
2015-06-10 19:30     ` jan.de.kruyf
2015-06-10 11:20 ` Brian Drummond
2015-06-10 21:19   ` Simon Wright
2015-06-11 10:10     ` Brian Drummond
2015-06-13 13:21     ` Jedi Tek'Unum
2015-06-13 14:15       ` Dmitry A. Kazakov
2015-06-13 14:55       ` Simon Wright
2015-06-13 17:43         ` Jedi Tek'Unum
2015-12-06 18:34   ` Simon Wright
2015-12-07 10:39     ` Brian Drummond
2016-01-28 20:52       ` Simon Wright
2016-01-30 14:21         ` Brian Drummond
2015-12-07 15:13     ` Jere
2015-12-07 16:31       ` Simon Wright
2015-12-07 16:49       ` Simon Wright
2015-12-07 17:56         ` Jere
2015-12-07 22:02           ` Simon Wright
2015-12-08 14:03             ` Jere
2015-12-08 15:07               ` Tero Koskinen
2015-12-09  1:46                 ` Jere
2015-12-08  2:11     ` Randy Brukardt
2015-12-09 18:46       ` Simon Clubley
2015-12-09 22:47         ` Randy Brukardt
2015-12-10 18:22           ` Simon Clubley
2015-12-11 14:59       ` AI12-0128 (was: STM32F4 GNAT Run Time System - roadmap) Simon Wright
2015-12-11 21:18         ` Randy Brukardt [this message]
2015-06-10 15:20 ` STM32F4 GNAT Run Time System - roadmap Patrick Noffke
2015-06-15 19:03 ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox