1c4762a1bSJed Brown! 2c4762a1bSJed Brown! Program to test object composition from Fortran 3c4762a1bSJed Brown! 4c4762a1bSJed Brown program main 5c4762a1bSJed Brown 6c4762a1bSJed Brown#include <petsc/finclude/petscsys.h> 7c4762a1bSJed Brown#include <petsc/finclude/petscviewer.h> 8c4762a1bSJed Brown use petscsys 9c4762a1bSJed Brown implicit none 10c4762a1bSJed Brown 11c4762a1bSJed Brown PetscErrorCode ierr 121c5ac70dSBarry Smith PetscViewer o1, o2, o3 1362ac926dSPierre Jolivet character*(PETSC_MAX_PATH_LEN) name 14c4762a1bSJed Brown 15f8402805SBarry Smith PetscCallA(PetscInitialize(ierr)) 16f8402805SBarry Smith PetscCallA(PetscViewerCreate(PETSC_COMM_WORLD,o1,ierr)) 17f8402805SBarry Smith PetscCallA(PetscViewerCreate(PETSC_COMM_WORLD,o2,ierr)) 18c4762a1bSJed Brown name = 'matt' 19f8402805SBarry Smith PetscCallA(PetscObjectCompose(o1,name,o2,ierr)) 20f8402805SBarry Smith PetscCallA(PetscObjectQuery(o1,name,o3,ierr)) 21dcb3e689SBarry Smith PetscCheckA(o2 .eq. o3,PETSC_COMM_SELF,PETSC_ERR_PLIB,'PetscObjectQuery failed') 22c4762a1bSJed Brown 23f8402805SBarry Smith PetscCallA(PetscViewerDestroy(o1,ierr)) 24f8402805SBarry Smith PetscCallA(PetscViewerDestroy(o2,ierr)) 25f8402805SBarry Smith PetscCallA(PetscFinalize(ierr)) 26c4762a1bSJed Brown end 27c4762a1bSJed Brown 28c4762a1bSJed Brown! 29c4762a1bSJed Brown!/*TEST 30c4762a1bSJed Brown! 31*ffeef943SBarry Smith! build: 32*ffeef943SBarry Smith! requires: defined(PETSC_HAVE_FORTRAN_TYPE_STAR) 33*ffeef943SBarry Smith! 34c4762a1bSJed Brown! test: 35c4762a1bSJed Brown! suffix: 0 36c4762a1bSJed Brown! 37c4762a1bSJed Brown!TEST*/ 38