xref: /petsc/src/sys/tests/ex13f.F90 (revision 3886731f808f6f9ca8348e6e791c818340d72f91)
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
12ce78bad3SBarry Smith      character*(4) name
1316110d5aSBarry Smith      PetscCopyMode :: mode = PETSC_COPY_VALUES
14c4762a1bSJed Brown
15f8402805SBarry Smith      PetscCallA(PetscInitialize(ierr))
16ce78bad3SBarry Smith      PetscCallA(PetscViewerASCIIOpen(PETSC_COMM_WORLD,"stdout",o1,ierr))
17ce78bad3SBarry Smith      PetscCallA(PetscViewerASCIIOpen(PETSC_COMM_WORLD,"stderr",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
2316110d5aSBarry Smith      if (mode .eq. PETSC_COPY_VALUES) then
24f8402805SBarry Smith         PetscCallA(PetscViewerDestroy(o1,ierr))
2516110d5aSBarry Smith      endif
26f8402805SBarry Smith      PetscCallA(PetscViewerDestroy(o2,ierr))
27f8402805SBarry Smith      PetscCallA(PetscFinalize(ierr))
28c4762a1bSJed Brown      end
29c4762a1bSJed Brown
30c4762a1bSJed Brown!
31c4762a1bSJed Brown!/*TEST
32c4762a1bSJed Brown!
33ffeef943SBarry Smith!   build:
34ffeef943SBarry Smith!     requires: defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
35ffeef943SBarry Smith!
36c4762a1bSJed Brown!   test:
37c4762a1bSJed Brown!     suffix: 0
38*3886731fSPierre Jolivet!     output_file: output/empty.out
39c4762a1bSJed Brown!
40c4762a1bSJed Brown!TEST*/
41