[petsc-dev] Problem with PETSC_NULL and variadic functions

Matthew Knepley knepley at gmail.com
Wed Nov 9 15:30:11 CST 2011


On Wed, Nov 9, 2011 at 9:28 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:

> On Wed, Nov 9, 2011 at 15:22, Matthew Knepley <knepley at gmail.com> wrote:
>
>> So the problem is that in C++, when using a variadic function, you cannot
>> type PETSC_NULL directly into the argument list? When would you ever
>> do this? If an argument to Printf() is equal to PETSC_NULL, no problem.
>> Its only when PETSC_NULL is passed directly. Why not prevent that in
>> all PETSc variadic functions, which I think are only the prints.
>>
>
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeScatter(DM,Vec,...);
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeGather(DM,Vec,InsertMode,...);
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeGetAccess(DM,Vec,...);
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeRestoreAccess(DM,Vec,...);
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeGetLocalVectors(DM,...);
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeGetEntries(DM,...);
> include/petscdmcomposite.h:extern PetscErrorCode
> DMCompositeRestoreLocalVectors(DM,...);
>

Yes, I am in favor of getting rid of all variadic functions and replacing
them with array arguments.

   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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20111109/568deca7/attachment.html>


More information about the petsc-dev mailing list