comp.lang.ada
 help / color / mirror / Atom feed
From: aio!dnsurber@eos.arc.nasa.gov  (Douglas N. Surber)
Subject: Re: Novice Question on Record Representation
Date: 17 Dec 92 22:32:25 GMT	[thread overview]
Message-ID: <dnsurber.724631545@node_26400> (raw)

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

             reply	other threads:[~1992-12-17 22:32 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1992-12-17 22:32 Douglas N. Surber [this message]
  -- strict thread matches above, loose matches on Subject: below --
1992-12-18  0:22 Novice Question on Record Representation zaphod.mps.ohio-state.edu!cis.ohio-state.edu!udecc.engr.udayton.edu!black
1992-12-17 18:24 Gary Morris @pulsar
1992-12-17 14:29 Douglas N. Surber
1992-12-17 13:28 agate!spool.mu.edu!sdd.hp.com!saimiri.primate.wisc.edu!aplcen.apl.jhu.edu
1992-12-16 22:57 Josh Lam
replies disabled

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