OpenMPI 0.1.1

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

ftmpi_f77_support.h
1 /*
2 * Copyright (c) 2010-2012 Oak Ridge National Labs. All rights reserved.
3 * $COPYRIGHT$
4 *
5 * Additional copyrights may follow
6 *
7 * $HEADER$
8 */
9 #if OMPI_PROFILING_DEFINES
10 #define F77_STAMP_PROFILE_FN(fn_name_core, fn_name_lower, fn_name_upper, fn_args, pass_args) \
11 static void fn_name_core fn_args; \
12 \
13 OMPI_DECLSPEC void P##fn_name_upper fn_args; \
14 OMPI_DECLSPEC void p##fn_name_lower fn_args; \
15 OMPI_DECLSPEC void p##fn_name_lower##_ fn_args; \
16 OMPI_DECLSPEC void p##fn_name_lower##__ fn_args; \
17 \
18 void P##fn_name_upper fn_args { \
19 fn_name_core pass_args; \
20 } \
21 void p##fn_name_lower fn_args { \
22 fn_name_core pass_args; \
23 } \
24 void p##fn_name_lower##_ fn_args { \
25 fn_name_core pass_args; \
26 } \
27 void p##fn_name_lower##__ fn_args { \
28 fn_name_core pass_args; \
29 }
30 #define F77_STAMP_FN(fn_name_core, fn_name_lower, fn_name_upper, fn_args, pass_args) \
31 F77_STAMP_PROFILE_FN(fn_name_core, fn_name_lower, fn_name_upper, fn_args, pass_args)
32
33 #else
34 #define F77_STAMP_FN(fn_name_core, fn_name_lower, fn_name_upper, fn_args, pass_args) \
35 static void fn_name_core fn_args; \
36 \
37 OMPI_DECLSPEC void fn_name_upper fn_args; \
38 OMPI_DECLSPEC void fn_name_lower fn_args; \
39 OMPI_DECLSPEC void fn_name_lower##_ fn_args; \
40 OMPI_DECLSPEC void fn_name_lower##__ fn_args; \
41 \
42 void fn_name_upper fn_args { \
43 fn_name_core pass_args; \
44 } \
45 void fn_name_lower fn_args { \
46 fn_name_core pass_args; \
47 } \
48 void fn_name_lower##_ fn_args { \
49 fn_name_core pass_args; \
50 } \
51 void fn_name_lower##__ fn_args { \
52 fn_name_core pass_args; \
53 }
54 #endif /* OMPI_PROFILING_DEFINES */