From: Jeffrey Carter <jrcarter@acm.org>
Subject: Re: Concatenation and Characters
Date: Tue, 22 Oct 2002 01:42:26 GMT
Date: 2002-10-22T01:42:26+00:00 [thread overview]
Message-ID: <3DB4AD20.4070109@acm.org> (raw)
In-Reply-To: 3DB466CB.7CE0BC59@mmm.com
Programmer Dude wrote:
> Upthread Preben Randhol wrote this:
>
> | with Ada.Text_IO; use Ada.Text_IO;
> |
> | procedure uninit is
> | A : Integer;
> | B : Integer := 2;
> | begin
> |
> | if A > B then
> | Put_Line ("A is greater than B");
> | else
> | Put_Line ("B is greater than A");
> | end if;
> | end uninit;
>
> Maybe my question is best stated thus: is there any correct implentation
> of Ada that would allow this code to run?
All correct implementations of Ada must compile and execute this
program. Ada does not require default initialization of variables except
for access variables, if we limit ourselves to elementary types. Ada
does not require that compilers detect references to uninitialized
variables. Ada does not require that references to uninitialized
variables be detected at run time.
Some compilers will warn you of references to uninitialized variables,
but that is not required.
In general, detecting all references to uninitialized variables during
compilation, without ever incorrectly flagging a reference to an
initialized variable, is impossible. Compilers that issue warnings
usually only do so for "simple" cases.
Ada is intended for embedded, real-time systems. The overhead of
requiring default initialization of all variables may not be acceptable
for such systems. This was especially true in the early 1980s when Ada
was first being developed.
Between the overhead of default initialization and the impossibility of
detecting references to uninitialized variables, the language did not
require such things. The revision process for the language has backwards
compatibility as a major goal, so don't expect this to change.
However, you might be interested in pragma Normalize_Scalars in the
Safety and Security Annex (Annex H). If your compiler supports this
Annex and you can accept the overhead, this pragma insures that scalars
are default initialized to some value. When possible, this value will be
out of range for the subtype.
--
Jeff Carter
"Your mother was a hamster and your father smelt of elderberries."
Monty Python & the Holy Grail
next prev parent reply other threads:[~2002-10-22 1:42 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-10-10 14:50 Concatenation and Characters Justin Birtwell
2002-10-10 14:55 ` Preben Randhol
2002-10-10 15:04 ` Justin Birtwell
2002-10-10 15:22 ` Preben Randhol
2002-10-10 15:30 ` Justin Birtwell
2002-10-10 16:05 ` Georg Bauhaus
2002-10-10 16:07 ` Preben Randhol
2002-10-10 17:45 ` Robert A Duff
2002-10-10 15:32 ` Justin Birtwell
2002-10-10 15:36 ` Preben Randhol
2002-10-10 16:44 ` Mark Biggar
2002-10-10 17:45 ` Stephen Leake
2002-10-10 21:53 ` Mark Biggar
2002-10-18 17:03 ` Programmer Dude
2002-10-18 18:13 ` Preben Randhol
2002-10-18 18:36 ` Wes Groleau
2002-10-21 15:16 ` Georg Bauhaus
2002-10-18 21:33 ` Mark Biggar
2002-10-20 2:01 ` Dmitry A.Kazakov
2002-10-21 14:13 ` Wes Groleau
2002-10-21 15:22 ` Dmitry A. Kazakov
2002-10-21 19:38 ` Georg Bauhaus
2002-10-22 22:15 ` Dmitry A.Kazakov
2002-10-22 12:05 ` Georg Bauhaus
2002-10-22 12:19 ` Lutz Donnerhacke
2002-10-22 14:43 ` Georg Bauhaus
2002-10-23 8:39 ` Dmitry A. Kazakov
2002-10-23 14:39 ` Georg Bauhaus
2002-10-24 8:18 ` Dmitry A. Kazakov
2002-10-21 16:50 ` Warren W. Gay VE3WWG
2002-10-21 15:20 ` Georg Bauhaus
2002-10-21 17:51 ` Programmer Dude
2002-10-21 18:48 ` Jim Rogers
2002-10-21 19:44 ` tmoran
2002-10-21 20:42 ` Programmer Dude
2002-10-22 1:42 ` Jeffrey Carter [this message]
2002-10-22 14:37 ` Robert A Duff
2002-10-22 18:51 ` Jeffrey Carter
2002-10-23 7:01 ` Pascal Obry
2002-10-22 14:45 ` Matthew Heaney
2002-10-22 18:47 ` Jeffrey Carter
2002-10-22 21:31 ` Robert A Duff
[not found] ` <3DB59D75.20609 <wccd6q29n3l.fsf@shell01.TheWorld.com>
2002-10-23 2:02 ` Jeffrey Carter
2002-10-23 13:16 ` Matthew Heaney
2002-10-23 19:11 ` Jeffrey Carter
2002-10-23 15:24 ` Robert A Duff
2002-10-23 19:24 ` Jeffrey Carter
2002-10-24 0:33 ` Robert A Duff
2002-10-22 3:46 ` Jim Rogers
2002-10-22 14:48 ` Robert A Duff
2002-10-22 15:02 ` Fraser Wilson
2002-10-22 15:38 ` David C. Hoos
2002-10-22 15:44 ` Fraser Wilson
2002-10-22 16:13 ` Robert A Duff
2002-10-23 8:58 ` Dmitry A. Kazakov
2002-10-23 9:08 ` Lutz Donnerhacke
2002-10-23 9:34 ` Dmitry A. Kazakov
2002-10-23 10:10 ` Lutz Donnerhacke
2002-10-23 17:15 ` Frank J. Lhota
2002-10-24 8:41 ` Dmitry A. Kazakov
2002-10-24 9:25 ` Fraser Wilson
2002-10-24 14:13 ` Matthew Heaney
[not found] ` <un <wcc7kgazc20.fsf@shell01.TheWorld.com>
2002-10-22 16:46 ` David C. Hoos
2002-10-22 8:51 ` Stuart Palin
2002-10-22 18:56 ` Programmer Dude
2002-10-21 19:42 ` Georg Bauhaus
-- strict thread matches above, loose matches on Subject: below --
2002-10-11 5:04 Grein, Christoph
2002-10-11 10:30 ` Preben Randhol
2002-10-23 5:15 Grein, Christoph
2002-10-23 13:19 ` Matthew Heaney
2002-10-24 5:53 Grein, Christoph
2002-10-24 14:04 ` Matthew Heaney
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox