From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 17 Dec 92 22:32:25 GMT From: aio!dnsurber@eos.arc.nasa.gov (Douglas N. Surber) Subject: Re: Novice Question on Record Representation Message-ID: List-Id: In <1992Dec17.182403.6353@telesoft.com> garym@telesoft.com (Gary Morris @pulsar ) writes: >Unfortunately, you can't rely on assertion like this. The constant a1 is >not used anywhere and an optimizing compiler could remove a1 and the >expression used for its initial value (TSize = T'Size). So the range check >never occurs and no exception or compile time warning is generated. This >optimization is allowed by 11.6(7), when the only effect of a predefined >operation is to raise an exception. But a1 could be used in the package body, therefore it can't be optimized out during compilation of the package spec. As I recall there is no requirement to issue a compile time warning in cases like this, but I am not aware of any compiler that doesn't. Does anyone else know of any? I use the subtype Assertion a lot in my code and it occasionally catches things, but I guess I really shouldn't rely on it. -- Douglas Surber "Would you rather debug at Lockheed compile time or run time?" Houston, TX --Michael B. Feldman