[petsc-dev] Fwd: SACUDA - Cannot compile

Satish Balay balay at mcs.anl.gov
Wed Oct 27 17:08:45 CDT 2010


On Wed, 27 Oct 2010, Barry Smith wrote:

> 
> On Oct 27, 2010, at 4:48 PM, Jed Brown wrote:
> 
> > On Wed, Oct 27, 2010 at 17:45, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > hmm, is there any reason we can't/shouldn't use a typedef for our VecType (and its many friends)?
> > 
> > I think the issue is because "const" is scoped differently for a macro than for the typedef.
> > 
> > typedef char *Foo;
> > 
> > now "const Foo" means "char *const" instead of "const char *".
> 
>   Damn, damn, damn, damn,

-#define VecType char*
+typedef const char* VecType;

-EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecGetType(Vec, const VecType *);
+EXTERN PetscErrorCode PETSCVEC_DLLEXPORT VecGetType(Vec, VecType *);

The above type of change [i.e 'const VecType' to 'VecType'] gets
src/vec/vec/interface sources compiled..

Satish



More information about the petsc-dev mailing list