diff --git a/ompi/mpi/f90/attr_fn-f90-interfaces.h b/ompi/mpi/f90/attr_fn-f90-interfaces.h index 3f8877181d..48ff2f203e 100644 --- a/ompi/mpi/f90/attr_fn-f90-interfaces.h +++ b/ompi/mpi/f90/attr_fn-f90-interfaces.h @@ -1,3 +1,20 @@ +! +! Copyright (c) 2004-2005 The Regents of the University of California. +! All rights reserved. +! Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. +! $COPYRIGHT$ +! +! Additional copyrights may follow +! +! $HEADER$ +! + +! Note about these declarations: these are "external" functions in +! mpif.h. However, if we don't declare them here, compilers will add +! them to the "mpi" module namespace, and result in linker errors if MPI +! F90 applications try to use them. because the implementations of +! these functions are not in the MPI module namespace -- they're the F77 +! functions. interface diff --git a/ompi/mpi/f90/mpi.f90 b/ompi/mpi/f90/mpi.f90 index 2a79150b10..972c5bcca8 100644 --- a/ompi/mpi/f90/mpi.f90 +++ b/ompi/mpi/f90/mpi.f90 @@ -9,6 +9,7 @@ ! University of Stuttgart. All rights reserved. ! Copyright (c) 2004-2005 The Regents of the University of California. ! All rights reserved. +! Copyright (c) 2006 Cisco Systems, Inc. All rights reserved. ! $COPYRIGHT$ ! ! Additional copyrights may follow @@ -20,6 +21,10 @@ module mpi include "mpif.h" +! The MPI attribute callback functions need to be explictly called out +! so that they don't end up in the MPI namespace. See a longer +! explanation in attr_fn-f90-interfaces.h. + include "attr_fn-f90-interfaces.h" ! This file is generated, and is *huge*. Its size is directly related