AMPI #952: update ROMIO to MPICH2-1.4.1p1
[charm.git] / src / libs / ck-libs / ampi / romio / mpi-io / fortran / get_groupf.c
blob11c39b532632b020691200b94b7490d1bff44a12
1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
2 /*
4 * Copyright (C) 1997 University of Chicago.
5 * See COPYRIGHT notice in top-level directory.
6 */
8 #include "adio.h"
9 #include "mpio.h"
12 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
14 #if defined(HAVE_WEAK_SYMBOLS)
15 #if defined(HAVE_PRAGMA_WEAK)
16 #if defined(FORTRANCAPS)
17 extern FORTRAN_API void FORT_CALL MPI_FILE_GET_GROUP( MPI_Fint *, MPI_Group*, MPI_Fint * );
18 #pragma weak MPI_FILE_GET_GROUP = PMPI_FILE_GET_GROUP
19 #elif defined(FORTRANDOUBLEUNDERSCORE)
20 extern FORTRAN_API void FORT_CALL mpi_file_get_group__( MPI_Fint *, MPI_Group*, MPI_Fint * );
21 #pragma weak mpi_file_get_group__ = pmpi_file_get_group__
22 #elif !defined(FORTRANUNDERSCORE)
23 extern FORTRAN_API void FORT_CALL mpi_file_get_group( MPI_Fint *, MPI_Group*, MPI_Fint * );
24 #pragma weak mpi_file_get_group = pmpi_file_get_group
25 #else
26 extern FORTRAN_API void FORT_CALL mpi_file_get_group_( MPI_Fint *, MPI_Group*, MPI_Fint * );
27 #pragma weak mpi_file_get_group_ = pmpi_file_get_group_
28 #endif
30 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
31 #if defined(FORTRANCAPS)
32 #pragma _HP_SECONDARY_DEF PMPI_FILE_GET_GROUP MPI_FILE_GET_GROUP
33 #elif defined(FORTRANDOUBLEUNDERSCORE)
34 #pragma _HP_SECONDARY_DEF pmpi_file_get_group__ mpi_file_get_group__
35 #elif !defined(FORTRANUNDERSCORE)
36 #pragma _HP_SECONDARY_DEF pmpi_file_get_group mpi_file_get_group
37 #else
38 #pragma _HP_SECONDARY_DEF pmpi_file_get_group_ mpi_file_get_group_
39 #endif
41 #elif defined(HAVE_PRAGMA_CRI_DUP)
42 #if defined(FORTRANCAPS)
43 #pragma _CRI duplicate MPI_FILE_GET_GROUP as PMPI_FILE_GET_GROUP
44 #elif defined(FORTRANDOUBLEUNDERSCORE)
45 #pragma _CRI duplicate mpi_file_get_group__ as pmpi_file_get_group__
46 #elif !defined(FORTRANUNDERSCORE)
47 #pragma _CRI duplicate mpi_file_get_group as pmpi_file_get_group
48 #else
49 #pragma _CRI duplicate mpi_file_get_group_ as pmpi_file_get_group_
50 #endif
52 /* end of weak pragmas */
53 #endif
54 /* Include mapping from MPI->PMPI */
55 #include "mpioprof.h"
56 #endif
58 #ifdef FORTRANCAPS
59 #define mpi_file_get_group_ PMPI_FILE_GET_GROUP
60 #elif defined(FORTRANDOUBLEUNDERSCORE)
61 #define mpi_file_get_group_ pmpi_file_get_group__
62 #elif !defined(FORTRANUNDERSCORE)
63 #if defined(HPUX) || defined(SPPUX)
64 #pragma _HP_SECONDARY_DEF pmpi_file_get_group pmpi_file_get_group_
65 #endif
66 #define mpi_file_get_group_ pmpi_file_get_group
67 #else
68 #if defined(HPUX) || defined(SPPUX)
69 #pragma _HP_SECONDARY_DEF pmpi_file_get_group_ pmpi_file_get_group
70 #endif
71 #define mpi_file_get_group_ pmpi_file_get_group_
72 #endif
74 #else
76 #ifdef FORTRANCAPS
77 #define mpi_file_get_group_ MPI_FILE_GET_GROUP
78 #elif defined(FORTRANDOUBLEUNDERSCORE)
79 #define mpi_file_get_group_ mpi_file_get_group__
80 #elif !defined(FORTRANUNDERSCORE)
81 #if defined(HPUX) || defined(SPPUX)
82 #pragma _HP_SECONDARY_DEF mpi_file_get_group mpi_file_get_group_
83 #endif
84 #define mpi_file_get_group_ mpi_file_get_group
85 #else
86 #if defined(HPUX) || defined(SPPUX)
87 #pragma _HP_SECONDARY_DEF mpi_file_get_group_ mpi_file_get_group
88 #endif
89 #endif
90 #endif
92 #if defined(MPIHP) || defined(MPILAM)
93 /* Prototype to keep compiler happy */
94 void mpi_file_get_group_(MPI_Fint *fh, MPI_Fint *group, MPI_Fint *ierr );
96 void mpi_file_get_group_(MPI_Fint *fh, MPI_Fint *group, MPI_Fint *ierr )
98 MPI_File fh_c;
99 MPI_Group group_c;
101 fh_c = MPI_File_f2c(*fh);
102 *ierr = MPI_File_get_group(fh_c, &group_c);
103 *group = MPI_Group_c2f(group_c);
105 #else
106 /* Prototype to keep compiler happy */
107 FORTRAN_API void FORT_CALL mpi_file_get_group_(MPI_Fint *fh,MPI_Group *group, MPI_Fint *ierr );
109 FORTRAN_API void FORT_CALL mpi_file_get_group_(MPI_Fint *fh,MPI_Group *group, MPI_Fint *ierr )
111 MPI_File fh_c;
113 fh_c = MPI_File_f2c(*fh);
114 *ierr = MPI_File_get_group(fh_c, group);
116 #endif