-:    0:Source:/home/MPI/testing/mpich2/mpich2/src/binding/f77/register_datarepf.c
        -:    0:Graph:register_datarepf.gcno
        -:    0:Data:-
        -:    0:Runs:0
        -:    0:Programs:0
        -:    1:/* -*- Mode: C; c-basic-offset:4 ; -*- */
        -:    2:/*  
        -:    3: *  (C) 2001 by Argonne National Laboratory.
        -:    4: *      See COPYRIGHT in top-level directory.
        -:    5: *
        -:    6: * This file is automatically generated by buildiface 
        -:    7: * DO NOT EDIT
        -:    8: */
        -:    9:#include "mpi_fortimpl.h"
        -:   10:
        -:   11:
        -:   12:/* Begin MPI profiling block */
        -:   13:#if defined(USE_WEAK_SYMBOLS) && !defined(USE_ONLY_MPI_NAMES) 
        -:   14:#if defined(HAVE_MULTIPLE_PRAGMA_WEAK)
        -:   15:extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   16:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   17:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   18:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   19:
        -:   20:#if defined(F77_NAME_UPPER)
        -:   21:#pragma weak MPI_REGISTER_DATAREP = PMPI_REGISTER_DATAREP
        -:   22:#pragma weak mpi_register_datarep__ = PMPI_REGISTER_DATAREP
        -:   23:#pragma weak mpi_register_datarep_ = PMPI_REGISTER_DATAREP
        -:   24:#pragma weak mpi_register_datarep = PMPI_REGISTER_DATAREP
        -:   25:#elif defined(F77_NAME_LOWER_2USCORE)
        -:   26:#pragma weak MPI_REGISTER_DATAREP = pmpi_register_datarep__
        -:   27:#pragma weak mpi_register_datarep__ = pmpi_register_datarep__
        -:   28:#pragma weak mpi_register_datarep_ = pmpi_register_datarep__
        -:   29:#pragma weak mpi_register_datarep = pmpi_register_datarep__
        -:   30:#elif defined(F77_NAME_LOWER_USCORE)
        -:   31:#pragma weak MPI_REGISTER_DATAREP = pmpi_register_datarep_
        -:   32:#pragma weak mpi_register_datarep__ = pmpi_register_datarep_
        -:   33:#pragma weak mpi_register_datarep_ = pmpi_register_datarep_
        -:   34:#pragma weak mpi_register_datarep = pmpi_register_datarep_
        -:   35:#else
        -:   36:#pragma weak MPI_REGISTER_DATAREP = pmpi_register_datarep
        -:   37:#pragma weak mpi_register_datarep__ = pmpi_register_datarep
        -:   38:#pragma weak mpi_register_datarep_ = pmpi_register_datarep
        -:   39:#pragma weak mpi_register_datarep = pmpi_register_datarep
        -:   40:#endif
        -:   41:
        -:   42:
        -:   43:
        -:   44:#elif defined(HAVE_PRAGMA_WEAK)
        -:   45:
        -:   46:#if defined(F77_NAME_UPPER)
        -:   47:extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   48:
        -:   49:#pragma weak MPI_REGISTER_DATAREP = PMPI_REGISTER_DATAREP
        -:   50:#elif defined(F77_NAME_LOWER_2USCORE)
        -:   51:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   52:
        -:   53:#pragma weak mpi_register_datarep__ = pmpi_register_datarep__
        -:   54:#elif !defined(F77_NAME_LOWER_USCORE)
        -:   55:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   56:
        -:   57:#pragma weak mpi_register_datarep = pmpi_register_datarep
        -:   58:#else
        -:   59:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   60:
        -:   61:#pragma weak mpi_register_datarep_ = pmpi_register_datarep_
        -:   62:#endif
        -:   63:
        -:   64:#elif defined(HAVE_PRAGMA_HP_SEC_DEF)
        -:   65:#if defined(F77_NAME_UPPER)
        -:   66:#pragma _HP_SECONDARY_DEF PMPI_REGISTER_DATAREP  MPI_REGISTER_DATAREP
        -:   67:#elif defined(F77_NAME_LOWER_2USCORE)
        -:   68:#pragma _HP_SECONDARY_DEF pmpi_register_datarep__  mpi_register_datarep__
        -:   69:#elif !defined(F77_NAME_LOWER_USCORE)
        -:   70:#pragma _HP_SECONDARY_DEF pmpi_register_datarep  mpi_register_datarep
        -:   71:#else
        -:   72:#pragma _HP_SECONDARY_DEF pmpi_register_datarep_  mpi_register_datarep_
        -:   73:#endif
        -:   74:
        -:   75:#elif defined(HAVE_PRAGMA_CRI_DUP)
        -:   76:#if defined(F77_NAME_UPPER)
        -:   77:#pragma _CRI duplicate MPI_REGISTER_DATAREP as PMPI_REGISTER_DATAREP
        -:   78:#elif defined(F77_NAME_LOWER_2USCORE)
        -:   79:#pragma _CRI duplicate mpi_register_datarep__ as pmpi_register_datarep__
        -:   80:#elif !defined(F77_NAME_LOWER_USCORE)
        -:   81:#pragma _CRI duplicate mpi_register_datarep as pmpi_register_datarep
        -:   82:#else
        -:   83:#pragma _CRI duplicate mpi_register_datarep_ as pmpi_register_datarep_
        -:   84:#endif
        -:   85:#endif /* HAVE_PRAGMA_WEAK */
        -:   86:#endif /* USE_WEAK_SYMBOLS */
        -:   87:/* End MPI profiling block */
        -:   88:
        -:   89:
        -:   90:/* These definitions are used only for generating the Fortran wrappers */
        -:   91:#if defined(USE_WEAK_SYMBOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK) && \
        -:   92:    defined(USE_ONLY_MPI_NAMES)
        -:   93:extern FORT_DLL_SPEC void FORT_CALL MPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   94:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   95:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   96:extern FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:   97:
        -:   98:#if defined(F77_NAME_UPPER)
        -:   99:#pragma weak mpi_register_datarep__ = MPI_REGISTER_DATAREP
        -:  100:#pragma weak mpi_register_datarep_ = MPI_REGISTER_DATAREP
        -:  101:#pragma weak mpi_register_datarep = MPI_REGISTER_DATAREP
        -:  102:#elif defined(F77_NAME_LOWER_2USCORE)
        -:  103:#pragma weak MPI_REGISTER_DATAREP = mpi_register_datarep__
        -:  104:#pragma weak mpi_register_datarep_ = mpi_register_datarep__
        -:  105:#pragma weak mpi_register_datarep = mpi_register_datarep__
        -:  106:#elif defined(F77_NAME_LOWER_USCORE)
        -:  107:#pragma weak MPI_REGISTER_DATAREP = mpi_register_datarep_
        -:  108:#pragma weak mpi_register_datarep__ = mpi_register_datarep_
        -:  109:#pragma weak mpi_register_datarep = mpi_register_datarep_
        -:  110:#else
        -:  111:#pragma weak MPI_REGISTER_DATAREP = mpi_register_datarep
        -:  112:#pragma weak mpi_register_datarep__ = mpi_register_datarep
        -:  113:#pragma weak mpi_register_datarep_ = mpi_register_datarep
        -:  114:#endif
        -:  115:
        -:  116:#endif
        -:  117:
        -:  118:/* Map the name to the correct form */
        -:  119:#ifndef MPICH_MPI_FROM_PMPI
        -:  120:#if defined(USE_WEAK_SYMBOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK)
        -:  121:/* Define the weak versions of the PMPI routine*/
        -:  122:#ifndef F77_NAME_UPPER
        -:  123:extern FORT_DLL_SPEC void FORT_CALL PMPI_REGISTER_DATAREP( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:  124:#endif
        -:  125:#ifndef F77_NAME_LOWER_2USCORE
        -:  126:extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep__( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:  127:#endif
        -:  128:#ifndef F77_NAME_LOWER_USCORE
        -:  129:extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep_( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:  130:#endif
        -:  131:#ifndef F77_NAME_LOWER
        -:  132:extern FORT_DLL_SPEC void FORT_CALL pmpi_register_datarep( char * FORT_MIXED_LEN_DECL, MPI_Datarep_conversion_function*, MPI_Datarep_conversion_function*, MPI_Datarep_extent_function*, void*, MPI_Fint * FORT_END_LEN_DECL );
        -:  133:
        -:  134:#endif
        -:  135:
        -:  136:#if defined(F77_NAME_UPPER)
        -:  137:#pragma weak pmpi_register_datarep__ = PMPI_REGISTER_DATAREP
        -:  138:#pragma weak pmpi_register_datarep_ = PMPI_REGISTER_DATAREP
        -:  139:#pragma weak pmpi_register_datarep = PMPI_REGISTER_DATAREP
        -:  140:#elif defined(F77_NAME_LOWER_2USCORE)
        -:  141:#pragma weak PMPI_REGISTER_DATAREP = pmpi_register_datarep__
        -:  142:#pragma weak pmpi_register_datarep_ = pmpi_register_datarep__
        -:  143:#pragma weak pmpi_register_datarep = pmpi_register_datarep__
        -:  144:#elif defined(F77_NAME_LOWER_USCORE)
        -:  145:#pragma weak PMPI_REGISTER_DATAREP = pmpi_register_datarep_
        -:  146:#pragma weak pmpi_register_datarep__ = pmpi_register_datarep_
        -:  147:#pragma weak pmpi_register_datarep = pmpi_register_datarep_
        -:  148:#else
        -:  149:#pragma weak PMPI_REGISTER_DATAREP = pmpi_register_datarep
        -:  150:#pragma weak pmpi_register_datarep__ = pmpi_register_datarep
        -:  151:#pragma weak pmpi_register_datarep_ = pmpi_register_datarep
        -:  152:#endif /* Test on name mapping */
        -:  153:#endif /* Use multiple pragma weak */
        -:  154:
        -:  155:#ifdef F77_NAME_UPPER
        -:  156:#define mpi_register_datarep_ PMPI_REGISTER_DATAREP
        -:  157:#elif defined(F77_NAME_LOWER_2USCORE)
        -:  158:#define mpi_register_datarep_ pmpi_register_datarep__
        -:  159:#elif !defined(F77_NAME_LOWER_USCORE)
        -:  160:#define mpi_register_datarep_ pmpi_register_datarep
        -:  161:#else
        -:  162:#define mpi_register_datarep_ pmpi_register_datarep_
        -:  163:#endif /* Test on name mapping */
        -:  164:
        -:  165:/* This defines the routine that we call, which must be the PMPI version
        -:  166:   since we're renaming the Fortran entry as the pmpi version.  The MPI name
        -:  167:   must be undefined first to prevent any conflicts with previous renamings,
        -:  168:   such as those put in place by the globus device when it is building on
        -:  169:   top of a vendor MPI. */
        -:  170:#undef MPI_Register_datarep
        -:  171:#define MPI_Register_datarep PMPI_Register_datarep 
        -:  172:
        -:  173:#else
        -:  174:
        -:  175:#ifdef F77_NAME_UPPER
        -:  176:#define mpi_register_datarep_ MPI_REGISTER_DATAREP
        -:  177:#elif defined(F77_NAME_LOWER_2USCORE)
        -:  178:#define mpi_register_datarep_ mpi_register_datarep__
        -:  179:#elif !defined(F77_NAME_LOWER_USCORE)
        -:  180:#define mpi_register_datarep_ mpi_register_datarep
        -:  181:/* Else leave name alone */
        -:  182:#endif
        -:  183:
        -:  184:
        -:  185:#endif /* MPICH_MPI_FROM_PMPI */
        -:  186:
        -:  187:/* Prototypes for the Fortran interfaces */
        -:  188:#include "fproto.h"
        -:  189:
        -:  190:    /* There is a dummy routine, mpi_conversion_fn_null, that is available 
        -:  191:       for use as the conversion function for MPI_Register_datarep.  
        -:  192:       Like the attribute null functions, we provide multiple weak versions
        -:  193:       of this if possible */
        -:  194:#if defined(USE_WEAK_SYMBOLS) && defined(HAVE_MULTIPLE_PRAGMA_WEAK)
        -:  195:extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr );
        -:  196:extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null__ ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr );
        -:  197:extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr );
        -:  198:extern FORT_DLL_SPEC int FORT_CALL MPI_CONVERSION_FN_NULL ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr );
        -:  199:/* */
        -:  200:#ifndef MPICH_MPI_FROM_PMPI
        -:  201:#pragma weak mpi_conversion_fn_null__ = mpi_conversion_fn_null_
        -:  202:#pragma weak mpi_conversion_fn_null   = mpi_conversion_fn_null_
        -:  203:#pragma weak MPI_CONVERSION_FN_NULL   = mpi_conversion_fn_null_
        -:  204:#endif /* MPICH_MPI_FROM_PMPI */
        -:  205:
        -:  206:#else
        -:  207:   /* No weak symbols, so simply rename the one version to match the 
        -:  208:      Fortran naming convention */
        -:  209:#ifdef F77_NAME_UPPER
        -:  210:#define mpi_conversion_fn_null_ MPI_CONVERSION_FN_NULL
        -:  211:#elif defined(F77_NAME_LOWER_2USCORE)
        -:  212:#define mpi_conversion_fn_null_ mpi_conversion_fn_null__
        -:  213:#elif !defined(F77_NAME_LOWER_USCORE)
        -:  214:#define mpi_conversion_fn_null_ mpi_conversion_fn_null
        -:  215:/* Else leave name alone */
        -:  216:#endif /* Test on name mapping */
        -:  217:
        -:  218:/* Add the prototype so the routine knows what this is */
        -:  219:extern FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr );
        -:  220:
        -:  221:
        -:  222:#endif /* Test on use multiple weak symbols */
        -:  223:#ifndef MPICH_MPI_FROM_PMPI
        -:  224:
        -:  225:/* This isn't a callable function */
    #####:  226:FORT_DLL_SPEC int FORT_CALL mpi_conversion_fn_null_ ( void*v1, MPI_Fint*v2, MPI_Fint*v3, void*v4, MPI_Offset*v5, MPI_Fint *v6, MPI_Fint*v7, MPI_Fint *ierr ) {
    #####:  227:    return 0;
        -:  228:}
        -:  229:#endif
        -:  230:
    #####:  231:FORT_DLL_SPEC void FORT_CALL mpi_register_datarep_ ( char *v1 FORT_MIXED_LEN(d1), MPI_Datarep_conversion_function*v2, MPI_Datarep_conversion_function*v3, MPI_Datarep_extent_function*v4, void*v5, MPI_Fint *ierr FORT_END_LEN(d1) ){
        -:  232:#ifdef MPI_MODE_RDONLY
        -:  233:    char *p1;
        -:  234:
    #####:  235:    {char *p = v1 + d1 - 1;
        -:  236:     int  li;
    #####:  237:        while (*p == ' ' && p > v1) p--;
    #####:  238:        p++;
    #####:  239:        p1 = (char *)MPIU_Malloc( p-v1 + 1 );
    #####:  240:        for (li=0; li<(p-v1); li++) { p1[li] = v1[li]; }
    #####:  241:        p1[li] = 0; 
        -:  242:    }
        -:  243:
    #####:  244:    if (v2 == (MPI_Datarep_conversion_function *)mpi_conversion_fn_null_){
    #####:  245:         v2 = 0;
        -:  246:    }
        -:  247:
    #####:  248:    if (v3 == (MPI_Datarep_conversion_function *)mpi_conversion_fn_null_){
    #####:  249:         v3 = 0;
        -:  250:    }
    #####:  251:    *ierr = MPI_Register_datarep( p1, v2, v3, v4, v5 );
    #####:  252:    MPIU_Free( p1 );
        -:  253:#else
        -:  254:*ierr = MPI_ERR_INTERN;
        -:  255:#endif
    #####:  256:}