[Vm-dev] '-DNDEBUG=0' and '-DDEBUGVM=1'

Stefan Marr squeak at stefan-marr.de
Tue Apr 26 08:18:46 UTC 2011


Hi Mariano:

On 26 Apr 2011, at 09:53, Mariano Martinez Peck wrote:

> If I am compiling with -DNDEBUG=1  I expect the asserts() to be evaluating.
NDEBUG is a short form for NO debug, I suppose.
Let me cite the manpage:

>>
If the macro NDEBUG was defined at the moment <assert.h> was last included, the macro assert() generates no code, and hence does nothing at all. 
<<

Thus, -DNDEBUG=0 and -DNDEBUG=1, as well as -DNDEBUG=foo have all the same effect: NO DEBUG, no assertions.


>  And even more, asserta() seems to evaluates always.

I don't know asserta(), I suppose it is `assert always`?
The only thing I can tell you here is, that you probably need to refer to its implementation.

Best regards
Stefan

-- 
Stefan Marr
Software Languages Lab
Vrije Universiteit Brussel
Pleinlaan 2 / B-1050 Brussels / Belgium
http://soft.vub.ac.be/~smarr
Phone: +32 2 629 2974
Fax:   +32 2 629 3525



More information about the Vm-dev mailing list