comp.lang.ada
 help / color / mirror / Atom feed
From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: volatile vs aliased
Date: Fri, 07 Oct 2005 08:36:32 +0200
Date: 2005-10-07T08:36:32+02:00	[thread overview]
Message-ID: <2245220.uuDKIncv1a@linux1.krischik.com> (raw)
In-Reply-To: 4fe1f.147855$dP1.505453@newsc.telia.net

Bjï¿œrn Persson wrote:

> Rolf wrote:
>> Do we have a difference to C/C++ increment operator here? consider
>> 
>> pragma Volatile (x);
>> x := x + 1;   -- (1)
>>         vs.
>> x++;          -- (2)
>> 
>> In the Ada case (1) we are forced to have "read from memory",
>> "increment" and "write to memory" instructions, whereas in C/C++ (2)
>> you can get a single "increment memory" instruction (presuming the
>> mentioned assembler instructions exist on a given processor)
> 
> Are there really memory chips with built-in arithmetic circuitry, so
> that the processor can send an "add one" instruction to the memory and
> have the variable incremented without reading it first? At least I've
> never heard of that. As far as I know, adding and subtracting is the
> processor's job.
> 
> And why would you use pragma Volatile on a variable stored in the
> memory, anyway? As Ludovic described it, it would only be useful on
> variables mapped to special hardware devices. I don't think you would
> want to store a counter there.

Or you have a multi tasking application with C interface.

Martin
-- 
mailto://krischik@users.sourceforge.net
Ada programming at: http://ada.krischik.com



  parent reply	other threads:[~2005-10-07  6:36 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-10-05 15:22 volatile vs aliased REH
2005-10-05 18:22 ` Ludovic Brenta
2005-10-05 18:39   ` REH
2005-10-05 19:46     ` Ludovic Brenta
2005-10-05 20:02       ` REH
2005-10-05 20:11         ` Ludovic Brenta
2005-10-05 20:20           ` REH
2005-10-06  5:21             ` Ludovic Brenta
2005-10-05 20:55       ` Simon Wright
2005-10-06 18:32       ` Jeffrey R. Carter
2005-10-05 23:38   ` Randy Brukardt
2005-10-06  0:02     ` tmoran
2005-10-06 13:40     ` REH
2005-10-06 23:52       ` Randy Brukardt
2005-10-06 18:40     ` Jeffrey R. Carter
2005-10-06 19:37       ` Robert A Duff
2005-10-06 23:56         ` Randy Brukardt
2005-10-06 19:08     ` REH
2005-10-06 19:21       ` Ed Falis
2005-10-06 19:37         ` REH
2005-10-06 19:46       ` Robert A Duff
2005-10-06  8:05   ` Martin Krischik
2005-10-06  8:52     ` Dmitry A. Kazakov
2005-10-06 11:36     ` Rolf
2005-10-06 18:43       ` Björn Persson
2005-10-06 19:03         ` Niklas Holsti
2005-10-07  6:36         ` Martin Krischik [this message]
2005-10-07  6:33       ` Martin Krischik
2005-10-07 15:56         ` Adrian Knoth
2005-10-07 18:48           ` Martin Krischik
2005-10-07 22:44           ` REH
2005-10-08  6:10         ` Simon Wright
2005-10-17  2:16         ` Dave Thompson
replies disabled

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