> 
> On Mon, Sep 11, 2017 at 11:48:47AM -0400, Frediano Ziglio wrote:
> > >
> > > On Mon, Sep 11, 2017 at 11:15:42AM +0100, Frediano Ziglio wrote:
> > > > Usually configuration macros are defined to 0 or undefined.
> > > > For this reason these macros are sometimes checked using #if
> > > > and sometimes with #ifndef/#ifdef.
> > > > As this macro is always defined with 0 or 1 it makes no sense
> > > > to check if defined or not so check the code to avoid this
> > > > mistake.
> > > 
> > > IIRC, I suggested a way not to make it so odd compared to other
> > > preprocessor symbols.
> > > 
> > > Christophe
> > >
> > 
> > Yes, but your suggestion did not work and you didn't send another
> > improvement (unless I lost it).
> 
> Ah, sorry, I did not answer because it seemed easy enough to adjust
> it to something which works, iirc the issue was that there was a
> non-compile-time constant:
> static const int foo = ENABLE_EXTRA_CHECKS;
> I guess this should work instead:
> #define foo ENABLE_EXTRA_CHECKS
> 
> Christophe
> 

Mumble, maybe I don't understand your suggestion here.
The odd thing is that ENABLE_EXTRA_CHECKS is always defined.
If we move to the "standard" 1 or undefined your code like

   if (foo) ...

will get (defined to 1):

   if (1) ...

and compile, but will get (undefined):

   if (ENABLE_EXTRA_CHECKS) ...

and compiled will complain that ENABLE_EXTRA_CHECKS is an undefined id.

Frediano
_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to