comp.lang.ada
 help / color / mirror / Atom feed
From: Jeffrey Creem <jeff@thecreems.com>
Subject: Re: Ada checks suppression thanks to compilation options and Ada conformity
Date: Fri, 09 Nov 2007 00:15:01 GMT
Date: 2007-11-09T00:15:01+00:00	[thread overview]
Message-ID: <qajc05-1q6.ln1@newserver.thecreems.com> (raw)
In-Reply-To: <4733972C.C7E7BCE@free.fr>

Christophe TRAVERS wrote:
> I send this message in order to get your opinion on the following
> subject :
> 
> An Ada program was supposed to take into account the Ada exceptions :
> CONSTRAINT_ERROR, NUMERIC_ERROR, ...
> The pragma SUPPRESS was forbidden. So, it was not used in the Ada source
> code.
> Everybody was convinced that the exception mechanism was fully
> operational in the embedded object executable.
> 
> Nevertheless,  the object code was compiled thanks to the Ada TARTAN
> compiler with some compilation options  have suppressed all the "checks"
> in the entire object code.
> 
> From my point of view, these compilation options that can suppress the
> checks are a way to get around the Ada language norm.
> 
> What it you opinion on this suject?.
> 
> Sincerely.
> 

If I understand what you are implying I think it is fair to say that the 
  purpose of the options is not to get around the Ada language norm.

Specifically, if you mean that you think the most likely reason someone 
did this was to remove the checks so they could write bad code without 
the compiler bothering them then I suspect (hope) you are wrong.

It is non uncommon in an embedded system with limited processing 
resources to run with checks suppressed to allow the code to fit either 
the actual processor or some 100% processing reserve requirement.

All of Ada's static checking rules will still apply so much of what you 
might think someone was trying to get away with will still be caught.

It is certainly possible that it was done for the reason that I think 
you are implying, but it is not likely.

It is also possible that even a well intentioned team that ran with 
checks suppressed for all the right reasons has allowed a small number 
of bug (detections) to creep in that would be triggered if checks are 
enabled.

It is a good practice to run 'some' with checks enabled even if project 
needs require that the final build have checks suppressed. Having said 
that, since one should 'test the way you fly' I would also say that I 
would expect a majority (if not all) of the qualification level testing 
to be done with the deployed switch conditions.

I wonder what you really mean by "Everybody was convinced that the 
exception mechanism was fully operational in the embedded object 
executable". Are you implying that after reading the compiler 
documentation and understanding all of the flags you had every reason to 
believe checks were enabled because the documentation was 
wrong/misleading and or because there is a compiler bug? Or, do you mean 
that everyone just assumed it would be so?

Certainly the fact that pragma suppress was forbidden implies some form 
of the latter....



  parent reply	other threads:[~2007-11-09  0:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-08 23:09 Ada checks suppression thanks to compilation options and Ada conformity Christophe TRAVERS
2007-11-08 23:52 ` Ludovic Brenta
2007-11-09  0:15 ` Jeffrey Creem [this message]
2007-11-09  0:25 ` Adam Beneschan
2007-11-09  6:07 ` anon
     [not found]   ` <13j8b1pjln94ce@corp.supernews.com>
2007-11-10 20:21     ` Christophe TRAVERS
     [not found] ` <13j8b1oon6rvncd@corp.supernews.com>
2007-11-10 20:54   ` Christophe TRAVERS
2007-11-10 22:00   ` Keith Thompson
replies disabled

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