OpenMPI  0.1.1
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 */