With petsc-3.7.5, I had F90 code like this: CALL MatSeqAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,ierr); CHKERRQ(ierr) CALL MatMPIAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,PETSC_NULL_INTEGER,o_nnz,ierr); CHKERRQ(ierr)
which worked fine. Now, with petsc-3.8.4, the same code gives this compilation error: error #6634: The shape matching rules of actual arguments and dummy arguments have been violated. [PETSC_NULL_INTEGER] CALL MatSeqAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,ierr); if (ierr .ne. 0) then ; call PetscErrorF(ierr); return; endif ----------------------------------------------^ error #6634: The shape matching rules of actual arguments and dummy arguments have been violated. [PETSC_NULL_INTEGER] CALL MatMPIAIJSetPreallocation(aa_symmetric,PETSC_NULL_INTEGER,d_nnz,PETSC_NULL_INTEGER,o_nnz,ierr); if (ierr .ne. 0) then ; call PetscErrorF(ierr); return; endif ----------------------------------------------^ What's the intended usage now, simply 0 instead of PETSC_NULL_INTEGER? Chris dr. ir. Christiaan Klaij | Senior Researcher | Research & Development MARIN | T +31 317 49 33 44 | mailto:c.kl...@marin.nl | http://www.marin.nl MARIN news: http://www.marin.nl/web/News/News-items/120-papers-presented-at-NAV2018.htm