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