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

 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

 30: !
 31: !/*TEST
 32: !
 33: !   build:
 34: !     requires: defined(PETSC_HAVE_FORTRAN_TYPE_STAR)
 35: !
 36: !   test:
 37: !     suffix: 0
 38: !
 39: !TEST*/