[Bug ada/53323] assertion failure on indefinite array of controlled objects and storage pools
simon at pushface dot org
gcc-bugzilla@gcc.gnu.org
Sat Mar 23 12:14:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53323
--- Comment #6 from simon at pushface dot org 2013-03-23 12:14:00 UTC ---
(In reply to comment #5)
> Sort of, we now disable the front-end assertions on release branches.
Hmm, this doesn't really seem appropriate. Quoting Robert Dewar in [1] (talking
about contracts, but it must apply here),
"Like all runtime checks, these checks can optionally be removed for the final
production build. This is often done in safety-critical applications such as
aircraft software, where the verification process provides sufficient
confidence that the checks will not fail. [...] In this context, the runtime
checks are a means to the end of making sure they are not needed. But in other
contexts, if the extra inefficiency is not a problem, it may well make sense to
leave the checks enabled. Better to have an ATM machine shut down than to get
an undetected error and hand out the wrong amount of money."
... or have a compiler generate incorrect code. (NB, in this case I accept that
it may well be the check that's wrong, not the generated code).
[1]
http://www.drdobbs.com/architecture-and-design/ada-2012-ada-with-contracts/240150569?cid=twitter_
More information about the Gcc-bugs
mailing list