I wrote:

> Note, the implementation is not required to give this result.
> It's perfectly acceptable to get "Valid month" instead.  This
> would happen if the compiler is smart enough to notice that the
> first alternative covers the entire base range of the type (not
> just the range of the subtype, though in this case they are the
> same).  In that case, the compiler can optimize the whole case
> statement away.

That's a little misleading... I didn't mean deleting the case statement in
its entirety, just optimizing it to

        Ada.Text_Io.Put_Line ("Valid month");


Mark Lundquist
Rational Software