AMPI #952: update ROMIO to MPICH2-1.4.1p1
[charm.git] / src / libs / ck-libs / ampi / romio / mpi-io / fortran / set_errhf.c
blobb7b7d25d9dfb79cea7b664f48324099f900de477
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_SET_ERRHANDLER( MPI_Fint *, MPI_Fint *, MPI_Fint * );
18 #pragma weak MPI_FILE_SET_ERRHANDLER = PMPI_FILE_SET_ERRHANDLER
19 #elif defined(FORTRANDOUBLEUNDERSCORE)
20 extern FORTRAN_API void FORT_CALL mpi_file_set_errhandler__( MPI_Fint *, MPI_Fint *, MPI_Fint * );
21 #pragma weak mpi_file_set_errhandler__ = pmpi_file_set_errhandler__
22 #elif !defined(FORTRANUNDERSCORE)
23 extern FORTRAN_API void FORT_CALL mpi_file_set_errhandler( MPI_Fint *, MPI_Fint *, MPI_Fint * );
24 #pragma weak mpi_file_set_errhandler = pmpi_file_set_errhandler
25 #else
26 extern FORTRAN_API void FORT_CALL mpi_file_set_errhandler_( MPI_Fint *, MPI_Fint *, MPI_Fint * );
27 #pragma weak mpi_file_set_errhandler_ = pmpi_file_set_errhandler_
28 #endif
30 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
31 #if defined(FORTRANCAPS)
32 #pragma _HP_SECONDARY_DEF PMPI_FILE_SET_ERRHANDLER MPI_FILE_SET_ERRHANDLER
33 #elif defined(FORTRANDOUBLEUNDERSCORE)
34 #pragma _HP_SECONDARY_DEF pmpi_file_set_errhandler__ mpi_file_set_errhandler__
35 #elif !defined(FORTRANUNDERSCORE)
36 #pragma _HP_SECONDARY_DEF pmpi_file_set_errhandler mpi_file_set_errhandler
37 #else
38 #pragma _HP_SECONDARY_DEF pmpi_file_set_errhandler_ mpi_file_set_errhandler_
39 #endif
41 #elif defined(HAVE_PRAGMA_CRI_DUP)
42 #if defined(FORTRANCAPS)
43 #pragma _CRI duplicate MPI_FILE_SET_ERRHANDLER as PMPI_FILE_SET_ERRHANDLER
44 #elif defined(FORTRANDOUBLEUNDERSCORE)
45 #pragma _CRI duplicate mpi_file_set_errhandler__ as pmpi_file_set_errhandler__
46 #elif !defined(FORTRANUNDERSCORE)
47 #pragma _CRI duplicate mpi_file_set_errhandler as pmpi_file_set_errhandler
48 #else
49 #pragma _CRI duplicate mpi_file_set_errhandler_ as pmpi_file_set_errhandler_
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_set_errhandler_ PMPI_FILE_SET_ERRHANDLER
60 #elif defined(FORTRANDOUBLEUNDERSCORE)
61 #define mpi_file_set_errhandler_ pmpi_file_set_errhandler__
62 #elif !defined(FORTRANUNDERSCORE)
63 #if defined(HPUX) || defined(SPPUX)
64 #pragma _HP_SECONDARY_DEF pmpi_file_set_errhandler pmpi_file_set_errhandler_
65 #endif
66 #define mpi_file_set_errhandler_ pmpi_file_set_errhandler
67 #else
68 #if defined(HPUX) || defined(SPPUX)
69 #pragma _HP_SECONDARY_DEF pmpi_file_set_errhandler_ pmpi_file_set_errhandler
70 #endif
71 #define mpi_file_set_errhandler_ pmpi_file_set_errhandler_
72 #endif
74 #else
76 #ifdef FORTRANCAPS
77 #define mpi_file_set_errhandler_ MPI_FILE_SET_ERRHANDLER
78 #elif defined(FORTRANDOUBLEUNDERSCORE)
79 #define mpi_file_set_errhandler_ mpi_file_set_errhandler__
80 #elif !defined(FORTRANUNDERSCORE)
81 #if defined(HPUX) || defined(SPPUX)
82 #pragma _HP_SECONDARY_DEF mpi_file_set_errhandler mpi_file_set_errhandler_
83 #endif
84 #define mpi_file_set_errhandler_ mpi_file_set_errhandler
85 #else
86 #if defined(HPUX) || defined(SPPUX)
87 #pragma _HP_SECONDARY_DEF mpi_file_set_errhandler_ mpi_file_set_errhandler
88 #endif
89 #endif
90 #endif
92 /* Prototype to keep compiler happy */
93 FORTRAN_API void FORT_CALL mpi_file_set_errhandler_(MPI_Fint *fh, MPI_Fint *err_handler, MPI_Fint *ierr);
95 FORTRAN_API void FORT_CALL mpi_file_set_errhandler_(MPI_Fint *fh, MPI_Fint *err_handler, MPI_Fint *ierr)
97 MPI_File fh_c;
98 MPI_Errhandler err_handler_c;
100 fh_c = MPI_File_f2c(*fh);
101 err_handler_c = MPI_Errhandler_f2c(*err_handler);
103 *ierr = MPI_File_set_errhandler(fh_c,err_handler_c);