|
OpenADFortTk (basic)
|
00001 // ########################################################## 00002 // # This file is part of OpenADFortTk. # 00003 // # The full COPYRIGHT notice can be found in the top # 00004 // # level directory of the OpenADFortTk source tree. # 00005 // # For more information visit # 00006 // # http://www.mcs.anl.gov/openad # 00007 // ########################################################## 00008 00009 #ifndef wn2xaif_stmt_INCLUDED 00010 #define wn2xaif_stmt_INCLUDED 00011 00012 #include "Open64IRInterface/Open64BasicTypes.h" 00013 00014 #include "whirl2xaif.h" 00015 #include "PUXlationContext.h" 00016 00017 //*************************************************************************** 00018 // Passive Statements 00019 //*************************************************************************** 00020 00021 namespace whirl2xaif { 00022 00023 extern void 00024 xlate_PassiveStmt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00025 00026 }; /* namespace whirl2xaif */ 00027 00028 00029 //*************************************************************************** 00030 // Structured Control Flow Statements 00031 //*************************************************************************** 00032 00033 namespace whirl2xaif { 00034 00035 extern void 00036 xlate_BLOCK(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00037 00038 extern void 00039 WN2F_region(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00040 00041 extern void 00042 xlate_DO_LOOP(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00043 00044 extern void 00045 xlate_DO_WHILE(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00046 00047 extern void 00048 xlate_WHILE_DO(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00049 00050 extern void 00051 xlate_IF(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00052 00053 }; /* namespace whirl2xaif */ 00054 00055 00056 //*************************************************************************** 00057 // Unstructured Control Flow Statements 00058 //*************************************************************************** 00059 00060 namespace whirl2xaif { 00061 00062 extern void 00063 WN2F_implied_do(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00064 00065 extern void 00066 WN2F_noio_implied_do(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00067 00068 extern void 00069 xlate_GOTO(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00070 00071 extern void 00072 xlate_SWITCH(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00073 00074 extern void 00075 WN2F_casegoto(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00076 00077 extern void 00078 WN2F_compgoto(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00079 00080 extern void 00081 WN2F_agoto(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00082 00083 extern void 00084 xlate_condBR(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00085 00086 extern void 00087 xlate_RETURN(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00088 00089 extern void 00090 xlate_RETURN_VAL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00091 00092 extern void 00093 xlate_LABEL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00094 00095 }; /* namespace whirl2xaif */ 00096 00097 00098 //*************************************************************************** 00099 // Calls 00100 //*************************************************************************** 00101 00102 namespace whirl2xaif { 00103 00104 extern void 00105 xlate_CALL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00106 00107 extern void 00108 xlate_INTRINSIC_CALL(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00109 00110 }; /* namespace whirl2xaif */ 00111 00112 00113 //*************************************************************************** 00114 // Other Statements 00115 //*************************************************************************** 00116 00117 namespace whirl2xaif { 00118 00119 extern void 00120 WN2F_eval(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00121 00122 extern void 00123 xlate_PRAGMA(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00124 00125 extern void 00126 xlate_PREFETCH(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00127 00128 extern void 00129 xlate_COMMENT(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00130 00131 extern void 00132 WN2F_dealloca(xml::ostream& xos, WN *wn, PUXlationContext& ctxt) ; 00133 00134 00135 extern void 00136 xlate_USE(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00137 00138 extern void 00139 WN2F_namelist_stmt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00140 00141 extern void 00142 WN2F_implicit_bnd(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00143 00144 extern void 00145 WN2F_nullify_stmt(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00146 00147 extern void 00148 WN2F_interface_blk(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00149 00150 extern void 00151 WN2F_ar_construct(xml::ostream& xos, WN *wn, PUXlationContext& ctxt); 00152 00153 }; /* namespace whirl2xaif */ 00154 00155 //*************************************************************************** 00156 00157 #endif /* wn2xaif_stmt_INCLUDED */