From: "Thierry Lelegard" <thierry.lelegard@canal-plus.fr>
Subject: Re: Parameter Modes, In In Out and Out
Date: Tue, 9 Jan 2001 16:15:54 +0100
Date: 2001-01-09T16:15:54+01:00 [thread overview]
Message-ID: <93f9pi$uaa$1@s1.read.news.oleane.net> (raw)
In-Reply-To: 937haq$mmh$1@wanadoo.fr
> procedure P (X : out Some_Type);
>
> By looking at the specification (NOT the body), I can tell that the
> procedure cannot rely on the previous value of the parameter,
> and therefore that it is safe to call it to initialize an
> unitialized variable, whose value can be invalid. I could not assume this
> with an in out parameter.
This is quite true, especially with floating point types for which
some binary patterns are NaN (Not a Number), ie. invalid values.
On some architectures (I remember the old time of the VAX),
passing an uninitialized variable as "in out" may raise an
exception _even_if_the_procedure_never_reads_the_input_value_.
The by-copy semantic generates a MOVF ("move F_float") instruction
for "in" and this instruction generates a trap if the binary pattern
is an invalid floating point value.
So, Jean-Pierre Rosen is right, never use "in out" for "out" when you
cannot be sure that the actual parameter is properly initialized.
____________________________________________________________________________
Thierry Lelegard, "The Jazzing Troll", Email: thierry.lelegard@canal-plus.fr
CANAL+ Technologies, 34 place Raoul Dautry, 75516 Paris Cedex 15, France
Tel: +33 1 71 71 54 30 Fax: +33 1 71 71 52 08 Mobile: +33 6 03 00 65 75
____________________________________________________________________________
next prev parent reply other threads:[~2001-01-09 15:15 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-01-06 0:11 Parameter Modes, In In Out and Out i.a.mcleod
2001-01-06 4:58 ` tmoran
2001-01-06 17:06 ` Robert Dewar
2001-01-06 19:50 ` tmoran
2001-01-06 20:31 ` Robert Dewar
2001-01-07 1:59 ` John English
2001-01-07 3:51 ` Robert Dewar
2001-01-08 12:06 ` dmitry6243
2001-01-09 4:32 ` Robert Dewar
2001-01-09 10:05 ` dmitry6243
2001-01-09 4:35 ` Robert Dewar
2001-01-09 9:58 ` dmitry6243
2001-01-09 14:13 ` Robert Dewar
2001-01-09 18:29 ` dmitry6243
2001-01-09 19:55 ` Robert Dewar
2001-01-10 0:47 ` Brian Rogoff
2001-01-10 21:50 ` Robert Dewar
2001-01-10 9:23 ` dmitry6243
2001-01-10 21:46 ` Robert Dewar
2001-01-11 11:46 ` dmitry6243
2001-01-11 16:48 ` Robert Dewar
2001-01-11 19:52 ` Thierry Lelegard
2001-01-11 20:10 ` Pascal Obry
2001-01-12 8:05 ` Florian Weimer
2001-01-12 13:31 ` gasperon
2001-01-12 14:02 ` n_brunot
2001-01-12 17:26 ` charlet
2001-01-14 18:23 ` n_brunot
2001-01-14 21:05 ` Robert Dewar
2001-01-15 8:56 ` n_brunot
2001-01-12 11:05 ` dmitry6243
2001-01-12 13:55 ` Robert Dewar
2001-01-12 22:10 ` Dale Stanbrough
2001-01-13 1:13 ` Robert Dewar
2001-01-13 17:29 ` dmitry6243
2001-01-13 18:22 ` Robert Dewar
2001-01-13 22:32 ` Brian Rogoff
2001-01-14 6:02 ` Jeffrey Carter
2001-01-14 14:33 ` Robert Dewar
2001-01-14 18:14 ` Jeffrey Carter
2001-01-14 21:10 ` Robert Dewar
2001-01-14 20:45 ` Brian Rogoff
2001-01-14 14:23 ` Robert Dewar
2001-01-14 20:42 ` Brian Rogoff
2001-01-14 21:17 ` Robert Dewar
2001-01-15 20:57 ` Brian Rogoff
2001-01-15 16:25 ` dmitry6243
2001-02-02 7:06 ` Multiple dispatch (was " mark_lundquist
2001-02-02 13:49 ` dmitry6243
2001-01-16 12:22 ` Georg Bauhaus
2001-01-13 4:46 ` Larry Kilgallen
[not found] ` <93ko49$auq$1@nnrp1.deja.coOrganization: LJK Software <eiviJtYj+A7W@eisner.decus.org>
2001-01-13 6:00 ` Robert Dewar
2001-01-11 21:38 ` mark_lundquist
2001-01-12 0:20 ` John English
2001-01-12 13:57 ` Robert Dewar
2001-01-12 20:34 ` mark_lundquist
2001-01-13 18:06 ` Brian Rogoff
2001-01-11 21:28 ` mark_lundquist
2001-01-12 12:35 ` dmitry6243
2001-01-12 21:22 ` mark_lundquist
2001-01-13 1:16 ` Robert Dewar
2001-02-02 5:42 ` mark_lundquist
2001-02-02 14:55 ` Stephen Leake
2001-02-02 20:08 ` Robert Dewar
2001-02-05 15:00 ` Stephen Leake
2001-01-13 21:26 ` Jean-Pierre Rosen
2001-01-11 21:24 ` mark_lundquist
2001-01-12 12:13 ` dmitry6243
2001-01-06 16:21 ` Jean-Pierre Rosen
2001-01-09 15:15 ` Thierry Lelegard [this message]
2001-01-10 21:53 ` Robert Dewar
2001-01-07 19:15 ` DuckE
2001-01-09 20:44 ` Laurent Guerby
2001-01-09 21:46 ` Florian Weimer
2001-01-10 21:57 ` Robert Dewar
2001-01-10 23:51 ` Tucker Taft
2001-01-11 4:23 ` Robert Dewar
2001-01-11 19:28 ` Laurent Guerby
2001-01-18 18:53 ` FAROOQATIF
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox