Patrick Sanan <[email protected]> writes:

> The man page for this seems to need fixing:
>
>     "Either way evaluates true if PETSC_USE_DEBUG is defined (merely defined 
> or defined to 1) or undefined. This macro should not be used if its argument 
> may be defined to a non-empty value other than 1."
>
> Is a 0 value allowed? If so, does it also evaluate to false?

It would evaluate false, though

#define CONFIG_VALUE 0

is a cpp antipattern because

#ifdef CONFIG_VALUE
  this executes
#endif

>
> The source check seems easy enough - reject anything that matches the 
> following?
>
>     PetscDefined(\W*PETSC_

Sure.

Reply via email to