comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Wright <simon@pushface.org>
Subject: Re: Pass by reference
Date: 10 Apr 2004 07:33:14 +0100
Date: 2004-04-10T07:33:14+01:00	[thread overview]
Message-ID: <x7vlll4mjf9.fsf@smaug.pushface.org> (raw)
In-Reply-To: uktd7053i4e577hcbu39umeu1rtorul3rk@jellix.jlfencey.com

Vinzent 'Gadget' Hoefler <nntp-2004-04@t-domaingrabbing.de> writes:

> Pat Rogers wrote:
> 
> >If you made the type volatile that would also force by-reference.

C.6(18): If a type is atomic or volatile and it is not a by-copy type,
then the type is defined to be a by-reference type. If any
subcomponent of a type is atomic or volatile, then the type is defined
to be a by-reference type.

> Are you sure? I'm just looking at the assembly ouput of GNAT for a
> procedure that takes a volatile type (memory mapped register) and it
> does't seem so. Even worse, it optimizes the sequence of assignment
> which I need for this register. If you have any idea how can I avoid
> using access types to make it right, I'd be glad to hear it.

I think you need to use inline assembler to be sure.

And to be really sure you may need to use Volatile => True on the
call, I had to (this was GNAT/PowerPC, by the way).

-- 
Simon Wright                               100% Ada, no bugs.



  reply	other threads:[~2004-04-10  6:33 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-08 14:52 Pass by reference Dan McLeran
2004-04-08 18:21 ` Martin Krischik
2004-04-09 12:53   ` Dan McLeran
2004-04-13 12:42     ` Martin Krischik
2004-04-08 19:04 ` Jim Rogers
2004-04-09  3:24   ` Dan McLeran
2004-04-09  0:01 ` Stephen Leake
2004-04-09 12:38   ` Dan McLeran
2004-04-09 13:03     ` Dmitry A. Kazakov
2004-04-09 19:09       ` Dan McLeran
2004-04-10 10:49         ` Dmitry A. Kazakov
2004-04-11 12:43       ` Florian Weimer
2004-04-12 10:29         ` Dmitry A. Kazakov
2004-04-12 12:29           ` Samuel Tardieu
2004-04-13  8:46             ` Dmitry A. Kazakov
2004-04-10  1:42     ` Stephen Leake
2004-04-10 16:05       ` chris
2004-04-09 12:44   ` Dan McLeran
2004-04-09 22:44     ` Randy Brukardt
2004-04-09 14:44   ` Simon Wright
2004-04-09  1:15 ` Jeffrey Carter
2004-04-09  1:28   ` Pat Rogers
2004-04-10  1:05     ` Jeffrey Carter
2004-04-09 12:57   ` Dan McLeran
2004-04-10  1:16     ` Jeffrey Carter
2004-04-09  4:03 ` Steve
2004-04-09 14:50   ` Simon Wright
2004-04-09 17:12     ` Pat Rogers
2004-04-09 19:33       ` Vinzent 'Gadget' Hoefler
2004-04-10  6:33         ` Simon Wright [this message]
2004-04-13 10:26           ` Vinzent 'Gadget' Hoefler
2004-04-14 17:27             ` Simon Wright
2004-04-15  9:43               ` Vinzent 'Gadget' Hoefler
2004-04-17  7:59                 ` Simon Wright
2004-04-11 12:45   ` Florian Weimer
replies disabled

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