From: Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de>
Subject: Re: A simple ADA puzzle (I haven't the answer)
Date: Thu, 17 Jun 2004 19:17:09 +0000 (UTC)
Date: 2004-06-17T19:17:09+00:00 [thread overview]
Message-ID: <casqnl$q7e$1@a1-hrz.uni-duisburg.de> (raw)
In-Reply-To: LZgAc.41917$Xw3.35499@nwrdny03.gnilink.net
Frank J. Lhota <NOSPAM.lhota.adarose@verizon.net> wrote:
: "Hyman Rosen" <hyrosen@mail.com> wrote in message
:>
:> Because when you write
:>
:> type STRING_TYPE (LEN : INTEGER := 0) is
:> record STRING : LEN_TYPE (1 .. LEN); end record;
:>
:> it's perfectly reasonable to expect that the array is
:> allocated just enough room to hold whatever LEN is
:> specified.
I guess this is true all the more there is a default
value for the discriminant. How is one to know that
a default value for a length does not actually
extend to the type's size?
with Ada.Text_IO;
procedure str is
type T(size: Natural := 0) is record
comp: String(1.. size);
end record;
package TIO renames Ada.Text_IO;
begin
TIO.put_line("type's size is" & Natural'base'image(T'size));
end str;
There is not even an explicit declaration of a T object
anywhere in the program, yet it fails miserably. The
compiler warns, but nevertheless it doesn't explain
why (a) object of this type may raise Storage_Error,
and (b), more subtly I guess, the following:
12. TIO.put_line("type's size is" & Natural'base'image(T'size));
|
>>> warning: Constraint_Error will be raised at run-time
(Seen in the light of a Natural size constraint intended
for the type.)
: The C equivalent of these declarations would have used
:
: char STRING[ 0x7FFFFFFF ];
I don't think so, the literal in the Ada code is no greater
than 0, and who knows, maybe people are lead to believe that
a default value of 0 (not?) used for the last index of a string
will give them a rather short string.
next prev parent reply other threads:[~2004-06-17 19:17 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-06-16 15:40 A simple ADA puzzle (I haven't the answer) Abby
2004-06-16 16:21 ` Frank J. Lhota
2004-06-16 16:26 ` Abby
2004-06-16 17:01 ` Frank J. Lhota
2004-06-16 17:18 ` Martin Krischik
2004-06-17 6:57 ` Brian May
2004-06-17 12:44 ` Frank J. Lhota
2004-06-16 17:58 ` Jeffrey Carter
2004-06-23 21:14 ` Randy Brukardt
2004-06-16 19:51 ` Simon Wright
2004-06-16 17:56 ` Jeffrey Carter
2004-06-16 22:25 ` Martin Dowie
2004-06-17 0:41 ` Jeffrey Carter
2004-06-17 7:45 ` Martin Dowie
2004-06-17 14:20 ` Frank J. Lhota
2004-06-18 18:07 ` Wojtek Narczynski
2004-06-18 18:37 ` Frank J. Lhota
2004-06-19 2:11 ` Brian May
2004-06-19 11:25 ` Wojtek Narczynski
2004-06-19 1:27 ` Jeffrey Carter
2004-06-19 11:17 ` Wojtek Narczynski
2004-06-16 18:31 ` Hyman Rosen
2004-06-16 20:16 ` Frank J. Lhota
2004-06-16 21:05 ` Hyman Rosen
2004-06-17 13:26 ` Frank J. Lhota
2004-06-17 14:19 ` Hyman Rosen
2004-06-17 15:24 ` Frank J. Lhota
2004-06-23 21:27 ` Randy Brukardt
2004-06-17 19:17 ` Georg Bauhaus [this message]
2004-06-16 22:48 ` Alexander E. Kopilovich
2004-06-17 10:25 ` Björn Persson
2004-06-17 14:33 ` Frank J. Lhota
2004-06-17 23:15 ` Alexander E. Kopilovich
2004-06-23 21:30 ` Randy Brukardt
2004-06-17 8:06 ` Dmitry A. Kazakov
2004-06-17 12:19 ` Hyman Rosen
2004-06-17 14:16 ` Dmitry A. Kazakov
2004-06-17 14:17 ` Hyman Rosen
2004-06-17 22:51 ` Brian May
2004-06-18 7:50 ` Dmitry A. Kazakov
2004-06-18 12:32 ` Hyman Rosen
2004-06-18 9:14 ` Ole-Hjalmar Kristensen
2004-06-18 12:24 ` Hyman Rosen
2004-06-18 12:41 ` Dmitry A. Kazakov
2004-06-18 13:16 ` Hyman Rosen
2004-06-18 14:01 ` Dmitry A. Kazakov
2004-06-18 16:14 ` Hyman Rosen
2004-06-19 9:31 ` Dmitry A. Kazakov
2004-06-21 3:30 ` Hyman Rosen
2004-06-21 8:16 ` Dmitry A. Kazakov
2004-06-21 16:32 ` Hyman Rosen
2004-06-22 2:19 ` David Starner
2004-06-22 13:03 ` Frank J. Lhota
2004-06-23 21:37 ` Randy Brukardt
2004-06-24 8:39 ` Dmitry A. Kazakov
2004-06-24 20:53 ` Randy Brukardt
2004-06-25 8:24 ` Dmitry A. Kazakov
2004-06-25 17:37 ` Randy Brukardt
2004-06-26 7:55 ` Dmitry A. Kazakov
2004-06-29 0:08 ` Randy Brukardt
2004-06-29 9:32 ` Dmitry A. Kazakov
2004-06-29 18:36 ` Randy Brukardt
2004-06-23 21:21 ` Randy Brukardt
2004-06-24 1:03 ` Jeffrey Carter
2004-06-24 15:19 ` Frank J. Lhota
2004-06-24 16:04 ` Ed Falis
2004-06-24 21:04 ` Randy Brukardt
2004-06-25 15:30 ` Frank J. Lhota
2004-06-25 18:16 ` Bob Spooner
2004-06-25 19:23 ` Frank J. Lhota
2004-06-26 15:26 ` Robert I. Eachus
2004-06-28 4:52 ` Steve
2004-07-04 19:06 ` Robert I. Eachus
2004-06-29 0:03 ` Randy Brukardt
2004-06-24 21:00 ` Randy Brukardt
2004-06-16 16:49 ` Martin Krischik
2004-06-17 10:58 ` Björn Persson
2004-06-17 3:48 ` Steve
2004-06-17 10:39 ` Björn Persson
-- strict thread matches above, loose matches on Subject: below --
2004-06-17 8:38 Christoph Karl Walter Grein
2004-06-23 21:43 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox