[Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216)
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: |
Freeciv-Dev <freeciv-dev@xxxxxxxxxxx> |
Subject: |
[Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216) |
From: |
Reinier Post <rp@xxxxxxxxxx> |
Date: |
Tue, 5 Feb 2002 16:26:35 +0100 |
On Mon, Feb 04, 2002 at 08:13:38PM -0500, Jason Short wrote:
[...]
> >>>>NDEBUG disables assert which should make freeciv faster. I'm not sure
> >>>>how much. So I don't see the benefit of removing it.
> >>>>
> >>>The name is confusing (it appears to mean !DEBUG).
> >>>
> >> Not much we can do about that, as (according to the assert
> >>manpage) NDEBUG is defined to have this assert-disabling behaviour in the
> >>ANSI C spec.
> >
> > Thanks. I didn't even know NDEBUG is standard ANSI C (see
> >
> > http://www.lysator.liu.se/c/rat/d2.html
> >
> > ) now I wonder if anything is assumed about DEBUG in ANSI C.
> > Searching for that, I found
> >
> > http://users.powernet.co.uk/eton/unleashed/errata/ech07.html
> >
> > which describes the problem exactly. Guides such as
> >
> > http://www.dpunkt.de/leseproben/3-932588-67-3/Kapitel%207.pdf
> >
> > suggest to use DEBUG for debug levels, which is what Freeciv does.
> >
> > So I suppose Freeciv uses NDEBUG and DEBUG in the usual way after all.
>
> The gist of all that seems to be that DEBUG == !NDEBUG.
No, the gist of it is that DEBUG is *not* !NDEBUG, but instead, is used
as an integer for debug levels used in explicit #ifs in the code, while
NDEBUG has the specific, ANSI-mandated function to turn assert()s off.
Something like
#define NDEBUG (DEBUG < DEBUG_LEVEL_FROM_WHICH_WE_WANT_ASSERTS)
seems reasonable, but I haven't found anything that mandates or
advises this.
> This is not the
> case in FreeCiv: there is the additional case where neither DEBUG nor
> NDEBUG are defined.
>
> My preference would be to drop this third case. Then either NDEBUG
> would be defined xor DEBUG would be defined. configure would take
> either --enable-debug=yes or --enable-debug=no.
That would mean: only one debug level.
> Not that this really affects the original patch I submitted, since it
> should be dependent on NDEBUG in any case.
>
> jason
--
Reinier
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), (continued)
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Raimar Falke, 2002/02/02
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Reinier Post, 2002/02/03
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Raimar Falke, 2002/02/03
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Reinier Post, 2002/02/04
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Ben Webb, 2002/02/04
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Reinier Post, 2002/02/04
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Raimar Falke, 2002/02/04
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Reinier Post, 2002/02/04
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Jason Short, 2002/02/04
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Raimar Falke, 2002/02/05
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216),
Reinier Post <=
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Raimar Falke, 2002/02/05
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Eric E Moore, 2002/02/05
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Reinier Post, 2002/02/05
- [Freeciv-Dev] Re: warnings when compiling with NDEBUG (PR#1216), Raimar Falke, 2002/02/05
|
|