1 ! This file created from test/mpi/f77/init/baseenvf.f with f77tof90
2 ! -*- Mode: Fortran; -*-
4 ! (C) 2003 by Argonne National Laboratory.
5 ! See COPYRIGHT in top-level directory.
9 integer ierr, provided, errs, rank, size
10 integer iv, isubv, qprovided
15 call mpi_finalized( flag, ierr )
18 print *, 'Returned true for finalized before init'
21 call mpi_initialized( flag, ierr )
24 print *, 'Return true for initialized before init'
28 call mpi_init_thread( MPI_THREAD_MULTIPLE, provided, ierr )
30 if (provided .ne. MPI_THREAD_MULTIPLE .and. &
31 & provided .ne. MPI_THREAD_SERIALIZED .and. &
32 & provided .ne. MPI_THREAD_FUNNELED .and. &
33 & provided .ne. MPI_THREAD_SINGLE) then
35 print *, ' Unrecognized value for provided = ', provided
40 call mpi_get_version( iv, isubv, ierr )
41 if (iv .ne. MPI_VERSION .or. isubv .ne. MPI_SUBVERSION) then
43 print *, 'Version in mpif.h and get_version do not agree'
44 print *, 'Version in mpif.h is ', MPI_VERSION, '.', &
46 print *, 'Version in get_version is ', iv, '.', isubv
48 if (iv .lt. 1 .or. iv .gt. 3) then
50 print *, 'Version of MPI is invalid (=', iv, ')'
52 if (isubv.lt.0 .or. isubv.gt.2) then
54 print *, 'Subversion of MPI is invalid (=', isubv, ')'
57 call mpi_comm_rank( MPI_COMM_WORLD, rank, ierr )
58 call mpi_comm_size( MPI_COMM_WORLD, size, ierr )
61 call mpi_is_thread_main( flag, ierr )
64 print *, 'is_thread_main returned false for main thread'
67 call mpi_query_thread( qprovided, ierr )
68 if (qprovided .ne. provided) then
70 print *,'query thread and init thread disagree on'// &
74 call mpi_finalize( ierr )
76 call mpi_finalized( flag, ierr )
79 print *, 'finalized returned false after finalize'
86 print *, ' Found ', errs, ' errors'