On Feb 6, 2013, at 9:48 PM, Matthew Knepley <knepley at gmail.com> wrote:

> On Wed, Feb 6, 2013 at 9:33 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> On Wed, Feb 6, 2013 at 7:35 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> 
>    In 1994 NULL was a pain because for different systems it was in different 
> include files and sometimes you had to do very nasty stuff like
> 
> #if !defined(NULL)
> #define NULL  0
> 
> This is why PETSC_NULL came into existence.
> 
> Is the world a different place now? Based on the fact there are numerous (272 
> to be exact thanks to Karl) uses of NULL in PETSc today and they seem to 
> cause absolutely no grief? (Except to Barry's tidy little mind) it seems 
> PETSC_NULL is not needed any longer?
> 
>    If this is the case I propose we eradicate PETSC_NULL replacing it 
> everywhere with NULL.
> 
> We had a similar discussion a while back.
> 
> http://lists.mcs.anl.gov/pipermail/petsc-dev/2011-November/006315.html
> 
> Using NULL instead of PETSC_NULL does not help to safely pass a null pointer 
> value to a variadic function, but PETSC_NULL is also unsafe.
> 
> Note that nearly all instances of 'NULL' are in either sieve (disabled by 
> default), examples, or pretty new code. (It's even possible that there were 
> zero occurrences in critical library back when we had that thread.) However, 
> there are certainly a few instances now and we've received no mail, so I'm 
> also in favor of replacing PETSC_NULL with NULL.
> 
> It's C89 after all, so as long as we are sure to include stddef.h, we should 
> be fine.
> 
> I don't mind removing it, although the Fortran people still have to use 
> something else.

  We can leave it as PETSC_NULL_XXXX in Fortran as it is now. 

  Barry

> 
>    Matt
> 
> -- 
> What most experimenters take for granted before they begin their experiments 
> is infinitely more interesting than any results to which their experiments 
> lead.
> -- Norbert Wiener

Reply via email to