"Robert A Duff" wrote in message news:wcczkwtnvhb.fsf@shell01.TheWorld.com... > Niklas Holsti writes: > >> Yannick Duch�ne (Hibou57) wrote: >>> This is no more valid Ada (well.... this is still valid Ada 95, this >>> is just not more valid Ada 2005/2012) >> >> In the Ada 2005 RM, see section J.10 (Obsolescent Features: Specific >> Suppression of Checks). > > Right. And things in the "Obsolescent Features" annex are perfectly > good Ada, and all Ada compilers are required to support them. > These features are "obsolescing" so slowly that they will never > actually become "obsolete". ;-) Somewhat irrelevant in this case, because there is no definition or agreement as to what it means to suppress checks on a particular type or object. One possibility is to do nothing at all (a compiler is never *required* to suppress checks). So while this probably will work on most compilers, there is no guarantee that it will work the same way. To make a more concrete example: A : Integer : = -1; B : Natural := 0; pragma Suppress (Range_Check, On => B); B := A; -- ?? The language does not say what object or type needs to be suppressed in order to suppress the range check on this assignment. It might require the check to be suppressed on A or on B or on both or on the subtype Natural or on something else. So this feature is best avoided. (Note that this is as true for Ada 83 and Ada 95 as it is for Ada 2005.) Randy.