xref: /petsc/src/sys/tests/ex13f.F90 (revision ce78bad369055609e946c9d2c25ea67a45873e27)
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      use petscsys
8c4762a1bSJed Brown      implicit none
9c4762a1bSJed Brown
10c4762a1bSJed Brown      PetscErrorCode                 ierr
111c5ac70dSBarry Smith      PetscViewer                    o1, o2, o3
12*ce78bad3SBarry Smith      character*(4) name
13c4762a1bSJed Brown
14f8402805SBarry Smith      PetscCallA(PetscInitialize(ierr))
15*ce78bad3SBarry Smith      PetscCallA(PetscViewerASCIIOpen(PETSC_COMM_WORLD,"stdout",o1,ierr))
16*ce78bad3SBarry Smith      PetscCallA(PetscViewerASCIIOpen(PETSC_COMM_WORLD,"stderr",o2,ierr))
17c4762a1bSJed Brown      name = 'matt'
18f8402805SBarry Smith      PetscCallA(PetscObjectCompose(o1,name,o2,ierr))
19f8402805SBarry Smith      PetscCallA(PetscObjectQuery(o1,name,o3,ierr))
20dcb3e689SBarry Smith      PetscCheckA(o2 .eq. o3,PETSC_COMM_SELF,PETSC_ERR_PLIB,'PetscObjectQuery failed')
21c4762a1bSJed Brown
22f8402805SBarry Smith      PetscCallA(PetscViewerDestroy(o1,ierr))
23f8402805SBarry Smith      PetscCallA(PetscViewerDestroy(o2,ierr))
24f8402805SBarry Smith      PetscCallA(PetscFinalize(ierr))
25c4762a1bSJed Brown      end
26c4762a1bSJed Brown
27c4762a1bSJed Brown!
28c4762a1bSJed Brown!/*TEST
29c4762a1bSJed Brown!
30ffeef943SBarry Smith!   build:
31ffeef943SBarry Smith!     requires: defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
32ffeef943SBarry Smith!
33c4762a1bSJed Brown!   test:
34c4762a1bSJed Brown!     suffix: 0
35c4762a1bSJed Brown!
36c4762a1bSJed Brown!TEST*/
37