/* -*- Mode: C; c-basic-offset:4 ; -*- */
/*  
 *  (C) 2001 by Argonne National Laboratory.
 *      See COPYRIGHT in top-level directory.
 *
 * This file is automatically generated by buildiface 
 * DO NOT EDIT
 */
#include "mpi_fortimpl.h"


/* Begin MPI profiling block */
#if defined(USE_WEAK_SYMBOLS) && !defined(USE_ONLY_MPI_NAMES) 
#if defined(HAVE_MULTIPLE_PRAGMA_WEAK) && defined(F77_NAME_LOWER_2USCORE)
extern FORT_DLL_SPEC void FORT_CALL MPI_NULL_DELETE_FN( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn__( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn_( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL pmpi_null_delete_fn_( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );

#pragma weak MPI_NULL_DELETE_FN = pmpi_null_delete_fn__
#pragma weak mpi_null_delete_fn__ = pmpi_null_delete_fn__
#pragma weak mpi_null_delete_fn_ = pmpi_null_delete_fn__
#pragma weak mpi_null_delete_fn = pmpi_null_delete_fn__
#pragma weak pmpi_null_delete_fn_ = pmpi_null_delete_fn__


#elif defined(HAVE_PRAGMA_WEAK)

#if defined(F77_NAME_UPPER)
extern FORT_DLL_SPEC void FORT_CALL MPI_NULL_DELETE_FN( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );

#pragma weak MPI_NULL_DELETE_FN = PMPI_NULL_DELETE_FN
#elif defined(F77_NAME_LOWER_2USCORE)
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn__( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );

#pragma weak mpi_null_delete_fn__ = pmpi_null_delete_fn__
#elif !defined(F77_NAME_LOWER_USCORE)
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );

#pragma weak mpi_null_delete_fn = pmpi_null_delete_fn
#else
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn_( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );

#pragma weak mpi_null_delete_fn_ = pmpi_null_delete_fn_
#endif

#elif defined(HAVE_PRAGMA_HP_SEC_DEF)
#if defined(F77_NAME_UPPER)
#pragma _HP_SECONDARY_DEF PMPI_NULL_DELETE_FN  MPI_NULL_DELETE_FN
#elif defined(F77_NAME_LOWER_2USCORE)
#pragma _HP_SECONDARY_DEF pmpi_null_delete_fn__  mpi_null_delete_fn__
#elif !defined(F77_NAME_LOWER_USCORE)
#pragma _HP_SECONDARY_DEF pmpi_null_delete_fn  mpi_null_delete_fn
#else
#pragma _HP_SECONDARY_DEF pmpi_null_delete_fn_  mpi_null_delete_fn_
#endif

#elif defined(HAVE_PRAGMA_CRI_DUP)
#if defined(F77_NAME_UPPER)
#pragma _CRI duplicate MPI_NULL_DELETE_FN as PMPI_NULL_DELETE_FN
#elif defined(F77_NAME_LOWER_2USCORE)
#pragma _CRI duplicate mpi_null_delete_fn__ as pmpi_null_delete_fn__
#elif !defined(F77_NAME_LOWER_USCORE)
#pragma _CRI duplicate mpi_null_delete_fn as pmpi_null_delete_fn
#else
#pragma _CRI duplicate mpi_null_delete_fn_ as pmpi_null_delete_fn_
#endif
#endif /* HAVE_PRAGMA_WEAK */
#endif /* USE_WEAK_SYMBOLS */
/* End MPI profiling block */


/* These definitions are used only for generating the Fortran wrappers */
#if defined(USE_WEAK_SYBMOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK) && \
    defined(USE_ONLY_MPI_NAMES)
extern FORT_DLL_SPEC void FORT_CALL MPI_NULL_DELETE_FN( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn__( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );
extern FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn_( MPI_Fint*, MPI_Fint*, void*, void*, MPI_Fint * );

#pragma weak MPI_NULL_DELETE_FN = mpi_null_delete_fn__
#pragma weak mpi_null_delete_fn_ = mpi_null_delete_fn__
#pragma weak mpi_null_delete_fn = mpi_null_delete_fn__
#endif

/* Map the name to the correct form */
#ifndef MPICH_MPI_FROM_PMPI
#ifdef F77_NAME_UPPER
#define mpi_null_delete_fn_ PMPI_NULL_DELETE_FN
#elif defined(F77_NAME_LOWER_2USCORE)
#define mpi_null_delete_fn_ pmpi_null_delete_fn__
#elif !defined(F77_NAME_LOWER_USCORE)
#define mpi_null_delete_fn_ pmpi_null_delete_fn
#else
#define mpi_null_delete_fn_ pmpi_null_delete_fn_
#endif
/* This defines the routine that we call, which must be the PMPI version
   since we're renaming the Fortran entry as the pmpi version.  The MPI name
   must be undefined first to prevent any conflicts with previous renamings,
   such as those put in place by the globus device when it is building on
   top of a vendor MPI. */
#undef MPI_mpi_null_delete_fn
#define MPI_mpi_null_delete_fn PMPI_mpi_null_delete_fn 

#else

#ifdef F77_NAME_UPPER
#define mpi_null_delete_fn_ MPI_NULL_DELETE_FN
#elif defined(F77_NAME_LOWER_2USCORE)
#define mpi_null_delete_fn_ mpi_null_delete_fn__
#elif !defined(F77_NAME_LOWER_USCORE)
#define mpi_null_delete_fn_ mpi_null_delete_fn
/* Else leave name alone */
#endif


#endif /* MPICH_MPI_FROM_PMPI */

/* Prototypes for the Fortran interfaces */
#include "fproto.h"
FORT_DLL_SPEC void FORT_CALL mpi_null_delete_fn_ ( MPI_Fint*v1, MPI_Fint*v2, void*v3, void*v4, MPI_Fint *ierr ){
        *ierr = MPI_SUCCESS;
}
