comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Ada case-statement
Date: Thu, 15 Mar 2018 17:24:05 -0500
Date: 2018-03-15T17:24:05-05:00	[thread overview]
Message-ID: <p8erq6$mon$1@franka.jacob-sparre.dk> (raw)
In-Reply-To: c398c38e-6567-40e1-b686-7aef94e36fe3@googlegroups.com

"Stephen Davies" <joviangm@gmail.com> wrote in message 
news:c398c38e-6567-40e1-b686-7aef94e36fe3@googlegroups.com...
> On Wednesday, 14 March 2018 23:16:29 UTC, Randy Brukardt  wrote:
>
>> declare
>>   Selector : Day_Type renames Calculate_Day;
>>   subtype Weekend_Subtype is Day_Type range Sat .. Sun;
>>      -- Or use a static predicate if the range is discontiguous.
>> begin
>>   case Selector is
>>       when Mon .. Fri =>
>>          ...
>>       when  Sat | Sun =>
>>          ...
>>          case Weekend_Subtype'(Selector) is -- A type conversion works, 
>> too.
>>             when Sat =>
>>                ...
>>             when Sun =>
>>                ...
>>          end case;
>>    end case;
>> end;
>
> Unless this has changed in more recent compilers, the static predicate
> when Sat & Sun are not contiguous does not work. Gnatpro 7.0.2 complains
> about missing values. Also, attempting to use "when Weekend_Subtype" in
> the outer case-statement results in complaints about duplicate values.

It should have changed, there are a number of ACATS tests checking precisely 
this sort of thing. So far as I know, GNAT passes those tests. (And GNATPro 
7.0.2 is a looonnnng time ago, based on the ACATS tests I wouldn't expect 
much of any Ada 2012 features to work in that. I'd guess this would work in 
all of the ones I've used recently: 7.4.1, 17.1, and 18.1.)

                                                   Randy.


  parent reply	other threads:[~2018-03-15 22:24 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-14 17:35 Ada case-statement Stephen Davies
2018-03-14 17:49 ` Dmitry A. Kazakov
2018-03-15  0:57   ` Robert I. Eachus
2018-03-15  3:10     ` Dan'l Miller
2018-03-15  5:54       ` J-P. Rosen
2018-03-15  7:56         ` Niklas Holsti
2018-03-15 12:21           ` Dan'l Miller
2018-03-15 17:22             ` Mill processor (Was: Re: Ada case-statement) Niklas Holsti
2018-03-15 21:50     ` Ada case-statement Randy Brukardt
2018-03-14 22:22 ` Mehdi Saada
2018-03-14 23:16 ` Randy Brukardt
2018-03-15  5:04   ` gautier_niouzes
2018-03-15  7:50   ` Jacob Sparre Andersen
2018-03-15 22:05     ` Randy Brukardt
2018-03-15  8:37   ` Dmitry A. Kazakov
2018-03-15 22:20     ` Randy Brukardt
2018-03-16  8:54       ` Dmitry A. Kazakov
2018-03-16 23:49         ` Randy Brukardt
2018-03-17  7:59           ` Dmitry A. Kazakov
2018-03-15 15:37   ` Stephen Davies
2018-03-15 16:33     ` J-P. Rosen
2018-03-15 17:01       ` Dmitry A. Kazakov
2018-03-15 18:41         ` Shark8
2018-03-15 21:12           ` Jeffrey R. Carter
2018-03-18  5:41             ` Robert I. Eachus
2018-03-18  6:57               ` Spiros Bousbouras
2018-03-18  9:17               ` Jeffrey R. Carter
2018-03-18 12:53                 ` Simon Wright
2018-03-15 18:50     ` Jere
2018-03-15 20:40       ` Anh Vo
2018-03-15 22:24     ` Randy Brukardt [this message]
2018-03-16  9:53       ` Stephen Davies
2018-04-03 17:56   ` marciant
replies disabled

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