comp.lang.ada
 help / color / mirror / Atom feed
From: "Anders Wirzenius" <anders.wirzenius@pp.qnet.fi>
Subject: Re: In case statment? (was Re: is exception when others => null; smart?)
Date: Wed, 30 Oct 2002 08:58:10 GMT
Date: 2002-10-30T08:58:10+00:00	[thread overview]
Message-ID: <CaNv9.103$eX2.5358@read2.inet.fi> (raw)
In-Reply-To: 1b585154.0210291023.70af4929@posting.google.com

"Peter Richtmyer" <prichtmyer@yahoo.com> wrote in message
news:1b585154.0210291023.70af4929@posting.google.com...

> As the following example illustrates, it really depends upon
> the compiler too. A "bad" value is handled differently as
> shown:
> -----------------------------------------------------------
> with system;
> with text_io;
> procedure test is
>
>      a : character := character'val(2#11111111#);
>      for a'size use 8;
>      b : boolean;
>      for b'address use a'address;
>      for b'size use 8;
>
> begin
>
>    case b is
>       when true =>
>         text_io.put_line ("b is true");
>       when false =>
>         text_io.put_line ("b is false");
>       when others =>
>         text_io.put_line ("ObjectAda for Windows V7.1.105 "    &
>                           "professional " edition gets here, " &
>                           "and so does Rational Apex Ada 95 v. 4.0.0b");
>    end case;
>
> exception
>    when others =>
>       text_io.put_line ("Gnat 3.14P gets here ");
> end test;
> ---------------------------------------------------------------

But if you move the assignment to after begin, the Gnat behaviour changes:
...
     a : character;
     for a'size use 8;
     b : boolean := false;
     for b'address use a'address;
     for b'size use 8;

begin
   a := character'val(2#11111111#);
...
and the program execution ends up under when others =>

Anders






  parent reply	other threads:[~2002-10-30  8:58 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-24 14:03 is exception when others => null; smart? Preben Randhol
2002-10-24 14:25 ` David C. Hoos, Sr.
2002-10-24 14:28   ` Preben Randhol
2002-10-24 14:38 ` Per Sandbergs
2002-10-25 15:04   ` Robert A Duff
2002-10-25 20:41     ` Dale Stanbrough
2002-10-26 23:04       ` Robert A Duff
2002-10-26  7:47     ` tmoran
2002-10-24 16:39 ` Mark Biggar
2002-10-24 20:06   ` Robert A Duff
2002-10-24 20:23     ` Wes Groleau
2002-10-25  1:16       ` Jeffrey Carter
2002-10-25 10:10         ` In case statment? (was Re: is exception when others => null; smart?) Preben Randhol
2002-10-25 14:59           ` Robert A Duff
2002-10-25 15:06             ` Preben Randhol
2002-10-29 18:23             ` Peter Richtmyer
2002-10-30  2:52               ` Steven Deller
2002-10-30  8:58               ` Anders Wirzenius [this message]
2002-10-30 19:57                 ` Peter Richtmyer
2002-10-31  7:02                   ` Anders Wirzenius
2002-10-30  9:36               ` Lutz Donnerhacke
2002-10-30 19:44                 ` Peter Richtmyer
2002-10-30 13:28               ` Marin David Condic
2002-10-30 20:34                 ` Robert Spooner
2002-10-31 12:40                   ` In case statment? (was Re: is exception when others => null;smart?) Marin David Condic
2002-10-25 17:13           ` In case statment? <...> when others John Woodruff
2002-10-27 21:03           ` In case statment? (was Re: is exception when others => null; smart?) Ze Administrator
2002-10-28 10:04             ` Preben Randhol
2002-10-28 20:05               ` Wes Groleau
2002-10-30 11:31                 ` Preben Randhol
2002-10-28 12:32             ` In case statment? (was Re: is exception when others => null;smart?) Adrian Hoe
2002-10-24 20:11   ` is exception when others => null; smart? Simon Wright
2002-10-24 21:22     ` Larry Kilgallen
2002-10-24 20:03 ` Robert A Duff
2002-10-25  1:49 ` SteveD
2002-10-25  3:48 ` Dennis Lee Bieber
2002-10-26 11:34   ` Preben Randhol
replies disabled

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