xref: /petsc/src/sys/tests/ex13f.F90 (revision 2ff79c18c26c94ed8cb599682f680f231dca6444)
1!
2!  Program to test object composition from Fortran
3!
4      program main
5
6#include <petsc/finclude/petscsys.h>
7      use petscsys
8      implicit none
9
10      PetscErrorCode                 ierr
11      PetscViewer                    o1, o2, o3
12      character*(4) name
13      PetscCopyMode :: mode = PETSC_COPY_VALUES
14
15      PetscCallA(PetscInitialize(ierr))
16      PetscCallA(PetscViewerASCIIOpen(PETSC_COMM_WORLD,"stdout",o1,ierr))
17      PetscCallA(PetscViewerASCIIOpen(PETSC_COMM_WORLD,"stderr",o2,ierr))
18      name = 'matt'
19      PetscCallA(PetscObjectCompose(o1,name,o2,ierr))
20      PetscCallA(PetscObjectQuery(o1,name,o3,ierr))
21      PetscCheckA(o2 .eq. o3,PETSC_COMM_SELF,PETSC_ERR_PLIB,'PetscObjectQuery failed')
22
23      if (mode .eq. PETSC_COPY_VALUES) then
24         PetscCallA(PetscViewerDestroy(o1,ierr))
25      endif
26      PetscCallA(PetscViewerDestroy(o2,ierr))
27      PetscCallA(PetscFinalize(ierr))
28      end
29
30!
31!/*TEST
32!
33!   build:
34!     requires: defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
35!
36!   test:
37!     suffix: 0
38!     output_file: output/empty.out
39!
40!TEST*/
41