comp.lang.ada
 help / color / mirror / Atom feed
From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: Conditional compilation of debug traces without cpp
Date: Thu, 06 Jul 2006 09:59:55 +0200
Date: 2006-07-06T09:59:55+02:00	[thread overview]
Message-ID: <4ufi8e.ig7.ln@hunter.axlog.fr> (raw)
In-Reply-To: <44ac1562$0$10269$636a55ce@news.free.fr>

guillaume.portail@grospied.enanglais.com a �crit :
> Jean-Pierre Rosen wrote:
> 
>> Switching packages is then not more difficult than changing a #define...
> 
> Nice, thank you ! And thank you for your Debug package, I already know 
> about it.
Forgot to mention: make the fake debug pure, to avoid any elaboration.

> But don't you think that the elaboration of the calls will still exist ?
> Executing the statement :
> 
>     Null_Proc ("I was here" & Function_Call(A+12));
> 
> will always produce a call to Function_Call, even if Null_Proc has a 
> null body, I guess.
Don't want to be pedantic, but just to make sure there is no confustion:
- A declaration is elaborated
- A statement is executed
- An expression is evaluated

Therefore yes, the *execution*  of the call will always involve the 
*evaluation* of the parameters (unless the compiler can prove that this 
evaluation has no side-effects - like a call to a function declared in a 
pure package).
-- 
---------------------------------------------------------
            J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr



  parent reply	other threads:[~2006-07-06  7:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-07-04 18:06 Conditional compilation of debug traces without cpp guillaume.portail
2006-07-04 19:07 ` Ludovic Brenta
2006-07-04 19:14   ` guillaume.portail
2006-07-04 21:39     ` Björn Persson
2006-07-04 21:43       ` guillaume.portail
2006-07-04 22:01         ` Björn Persson
2006-07-05  3:10     ` Matthew Goulet
2006-07-04 20:24 ` Gautier
2006-07-04 20:54 ` Simon Wright
2006-07-05 13:03 ` Jean-Pierre Rosen
2006-07-05 19:39   ` guillaume.portail
2006-07-06  5:53     ` Martin Krischik
2006-07-07 10:32       ` Stephen Leake
2006-07-07 14:08         ` M E Leypold
2006-07-06  7:59     ` Jean-Pierre Rosen [this message]
2006-07-06 20:25       ` guillaume.portail
2006-07-07  5:00         ` Matthew Goulet
2006-07-07 13:57           ` Thierry Bernier
2006-07-07 21:08           ` Randy Brukardt
replies disabled

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