Actual source code: ex13f.F90

  1: !
  2: !  Program to test object composition from Fortran
  3: !
  4: program main

  6: #include <petsc/finclude/petscsys.h>
  7:   use petscsys
  8:   implicit none

 10:   PetscErrorCode ierr
 11:   PetscViewer o1, o2, o3
 12:   character*(4) name
 13:   PetscCopyMode :: mode = PETSC_COPY_VALUES

 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 == o3, PETSC_COMM_SELF, PETSC_ERR_PLIB, 'PetscObjectQuery failed')

 23:   if (mode == PETSC_COPY_VALUES) then
 24:     PetscCallA(PetscViewerDestroy(o1, ierr))
 25:   end if
 26:   PetscCallA(PetscViewerDestroy(o2, ierr))
 27:   PetscCallA(PetscFinalize(ierr))
 28: end

 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*/