Craig: Can you reply to Eugene's question?  I *assume* the answer is "no", 
since we don't need it for any other compilers.  Is there an optional "public" 
directive that we can use?

Eugene: can you see if your compiler supports an optional "public" kind of 
directive?  We could discover this directive during configure, and then only 
use it when using your compiler.



On Sep 26, 2012, at 9:49 PM, Eugene Loh wrote:

> The ibm tests aren't building for me.  One of the issues is 
> mprobe_usempif08.f90 trying to access status%MPI_SOURCE and status%MPI_TAG.  
> I assume this is supposed to work, but it doesn't.  E.g., trunk with Oracle 
> Studio compilers:
> 
> % cat a.f90
>  use mpi_f08
>  type(MPI_Status) status
>  write(6,*) status%MPI_SOURCE
>  write(6,*) status%MPI_TAG
>  end
> % mpifort -m64 -c a.f90
> 
>  write(6,*) status%MPI_SOURCE
>                    ^
> "a.f90", Line = 3, Column = 21: ERROR: "MPI_SOURCE" is a private component of 
> "MPI_STATUS" and cannot be used outside of the module.
> 
>  write(6,*) status%MPI_TAG
>                    ^
> "a.f90", Line = 4, Column = 21: ERROR: "MPI_TAG" is a private component of 
> "MPI_STATUS" and cannot be used outside of the module.
> 
> If I look in ompi/mpi/fortran/[base|use-mpi-f08-desc]/mpi-f08-types.f90, I 
> see:
> 
>   type, BIND(C) :: MPI_Status
>      integer :: MPI_SOURCE
>      integer :: MPI_TAG
>      integer :: MPI_ERROR
>      integer(C_INT)    OMPI_PRIVATE :: c_cancelled
>      integer(C_SIZE_T) OMPI_PRIVATE :: c_count
>   end type MPI_Status
> 
> Should the first three components explicitly be made public?
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> http://www.open-mpi.org/mailman/listinfo.cgi/devel


-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to: 
http://www.cisco.com/web/about/doing_business/legal/cri/


Reply via email to