Classes | Defines | Typedefs | Functions | Variables

wn2f.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  WN2F_Context

Defines

#define EMPTY_WN2F_STATUS   (WN2F_STATUS)0
#define INIT_WN2F_CONTEXT   {0, NULL}
#define reset_WN2F_CONTEXT(c)   ((c).flags = 0U, (c).wn = NULL)
#define WN2F_CONTEXT_NEW_PU   0x000000001
#define WN2F_CONTEXT_new_pu(c)   ((c).flags & WN2F_CONTEXT_NEW_PU)
#define set_WN2F_CONTEXT_new_pu(c)   ((c).flags = (c).flags | WN2F_CONTEXT_NEW_PU)
#define reset_WN2F_CONTEXT_new_pu(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_NEW_PU)
#define WN2F_CONTEXT_INSERT_INDUCTION   0x000000002
#define WN2F_CONTEXT_insert_induction(c)   ((c).flags & WN2F_CONTEXT_INSERT_INDUCTION)
#define WN2F_CONTEXT_induction_stmt(c)   (c).wn
#define set_WN2F_CONTEXT_induction_step(c, stmt)
#define reset_WN2F_CONTEXT_induction_step(c)
#define WN2F_CONTEXT_DEREF_ADDR   0x000000004
#define WN2F_CONTEXT_deref_addr(c)   ((c).flags & WN2F_CONTEXT_DEREF_ADDR)
#define set_WN2F_CONTEXT_deref_addr(c)   ((c).flags = (c).flags | WN2F_CONTEXT_DEREF_ADDR)
#define reset_WN2F_CONTEXT_deref_addr(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_DEREF_ADDR)
#define WN2F_CONTEXT_NO_NEWLINE   0x000000008
#define WN2F_CONTEXT_no_newline(c)   ((c).flags & WN2F_CONTEXT_NO_NEWLINE)
#define set_WN2F_CONTEXT_no_newline(c)   ((c).flags = (c).flags | WN2F_CONTEXT_NO_NEWLINE)
#define reset_WN2F_CONTEXT_no_newline(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_NO_NEWLINE)
#define WN2F_CONTEXT_HAS_LOGICAL_ARG   0x00000010
#define WN2F_CONTEXT_has_logical_arg(c)   ((c).flags & WN2F_CONTEXT_HAS_LOGICAL_ARG)
#define set_WN2F_CONTEXT_has_logical_arg(c)   ((c).flags = (c).flags | WN2F_CONTEXT_HAS_LOGICAL_ARG)
#define reset_WN2F_CONTEXT_has_logical_arg(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_HAS_LOGICAL_ARG)
#define WN2F_CONTEXT_IS_LOGICAL_ARG   0x02000000
#define WN2F_CONTEXT_is_logical_arg(c)   ((c).flags & WN2F_CONTEXT_IS_LOGICAL_ARG)
#define set_WN2F_CONTEXT_is_logical_arg(c)   ((c).flags = (c).flags | WN2F_CONTEXT_IS_LOGICAL_ARG)
#define reset_WN2F_CONTEXT_is_logical_arg(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_IS_LOGICAL_ARG)
#define WN2F_CONTEXT_IS_LOGICAL_OPERATION   0x00020000
#define WN2F_CONTEXT_is_logical_operation(c)   ((c).flags & WN2F_CONTEXT_IS_LOGICAL_OPERATION)
#define set_WN2F_CONTEXT_is_logical_operation(c)   ((c).flags = (c).flags | WN2F_CONTEXT_IS_LOGICAL_OPERATION)
#define reset_WN2F_CONTEXT_is_logical_operation(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_IS_LOGICAL_OPERATION)
#define WN2F_CONTEXT_NO_PARENTHESIS   0x00000020
#define WN2F_CONTEXT_no_parenthesis(c)   ((c).flags & WN2F_CONTEXT_NO_PARENTHESIS)
#define set_WN2F_CONTEXT_no_parenthesis(c)   ((c).flags = (c).flags | WN2F_CONTEXT_NO_PARENTHESIS)
#define reset_WN2F_CONTEXT_no_parenthesis(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_NO_PARENTHESIS)
#define WN2F_CONTEXT_KEYWORD_IOCTRL   0x00000040
#define WN2F_CONTEXT_keyword_ioctrl(c)   ((c).flags & WN2F_CONTEXT_KEYWORD_IOCTRL)
#define set_WN2F_CONTEXT_keyword_ioctrl(c)   ((c).flags = (c).flags | WN2F_CONTEXT_KEYWORD_IOCTRL)
#define reset_WN2F_CONTEXT_keyword_ioctrl(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_KEYWORD_IOCTRL)
#define WN2F_CONTEXT_IO_STMT   0x00000080
#define WN2F_CONTEXT_io_stmt(c)   ((c).flags & WN2F_CONTEXT_IO_STMT)
#define set_WN2F_CONTEXT_io_stmt(c)   ((c).flags = (c).flags | WN2F_CONTEXT_IO_STMT)
#define reset_WN2F_CONTEXT_io_stmt(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_IO_STMT)
#define WN2F_CONTEXT_DEREF_IO_ITEM   0x00000100
#define WN2F_CONTEXT_deref_io_item(c)   ((c).flags & WN2F_CONTEXT_DEREF_IO_ITEM)
#define set_WN2F_CONTEXT_deref_io_item(c)   ((c).flags = (c).flags | WN2F_CONTEXT_DEREF_IO_ITEM)
#define reset_WN2F_CONTEXT_deref_io_item(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_DEREF_IO_ITEM)
#define WN2F_CONTEXT_ORIGFMT_IOCTRL   0x00000200
#define WN2F_CONTEXT_origfmt_ioctrl(c)   ((c).flags & WN2F_CONTEXT_ORIGFMT_IOCTRL)
#define set_WN2F_CONTEXT_origfmt_ioctrl(c)   ((c).flags = (c).flags | WN2F_CONTEXT_ORIGFMT_IOCTRL)
#define reset_WN2F_CONTEXT_origfmt_ioctrl(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_ORIGFMT_IOCTRL)
#define WN2F_CONTEXT_EMIT_STID   0x00000400
#define WN2F_CONTEXT_emit_stid(c)   ((c).flags & WN2F_CONTEXT_EMIT_STID)
#define set_WN2F_CONTEXT_emit_stid(c)   ((c).flags = (c).flags | WN2F_CONTEXT_EMIT_STID)
#define reset_WN2F_CONTEXT_emit_stid(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_EMIT_STID)
#define WN2F_CONTEXT_TMP_VAR   0x00100400
#define WN2F_CONTEXT_tmp_var(c)   ((c).flags & WN2F_TMP_VAR)
#define set_WN2F_CONTEXT_tmp_var(c)   ((c).flags = (c).flags | WN2F_CONTEXT_TMP_VAR)
#define reset_WN2F_CONTEXT_tmp_var(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_TMP_VAR)
#define WN2F_CONTEXT_EXPLICIT_REGION   0x00000800
#define WN2F_CONTEXT_explicit_region(c)   ((c).flags & WN2F_CONTEXT_EXPLICIT_REGION)
#define set_WN2F_CONTEXT_explicit_region(c)   ((c).flags = (c).flags | WN2F_CONTEXT_EXPLICIT_REGION)
#define reset_WN2F_CONTEXT_explicit_region(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_EXPLICIT_REGION)
#define WN2F_CONTEXT_FMT_IO   0x00001000
#define WN2F_CONTEXT_fmt_io(c)   ((c).flags & WN2F_CONTEXT_FMT_IO)
#define set_WN2F_CONTEXT_fmt_io(c)   ((c).flags = (c).flags | WN2F_CONTEXT_FMT_IO)
#define reset_WN2F_CONTEXT_fmt_io(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_FMT_IO)
#define WN2F_CONTEXT_CRAY_IO   0x00002000
#define WN2F_CONTEXT_cray_io(c)   ((c).flags & WN2F_CONTEXT_CRAY_IO)
#define set_WN2F_CONTEXT_cray_io(c)   ((c).flags = (c).flags | WN2F_CONTEXT_CRAY_IO)
#define reset_WN2F_CONTEXT_cray_io(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_CRAY_IO)
#define WN2F_CONTEXT_HAS_NO_ARR_ELMT   0x00004000
#define WN2F_CONTEXT_has_no_arr_elmt(c)   ((c).flags & WN2F_CONTEXT_HAS_NO_ARR_ELMT)
#define set_WN2F_CONTEXT_has_no_arr_elmt(c)   ((c).flags = (c).flags | WN2F_CONTEXT_HAS_NO_ARR_ELMT)
#define reset_WN2F_CONTEXT_has_no_arr_elmt(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_HAS_NO_ARR_ELMT)
#define WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK   0x00008000
#define WN2F_CONTEXT_issue_ioc_asterisk(c)   ((c).flags & WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK)
#define set_WN2F_CONTEXT_issue_ioc_asterisk(c)   ((c).flags = (c).flags | WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK)
#define reset_WN2F_CONTEXT_issue_ioc_asterisk(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK)
#define WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS   0x00040000
#define WN2F_CONTEXT_subexp_no_parenthesis(c)   ((c).flags & WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS)
#define set_WN2F_CONTEXT_subexp_no_parenthesis(c)   ((c).flags = (c).flags | WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS)
#define reset_WN2F_CONTEXT_subexp_no_parenthesis(c)   ((c).flags = (c).flags & ~WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS)
#define WN2F_expr_has_boolean_arg(opc)
#define WN2F_Can_Assign_Types(t1, t2)

Typedefs

typedef mUINT32 WN2F_STATUS
typedef struct WN2F_Context WN2F_CONTEXT

Functions

void WN2F_Stmt_Newline (TOKEN_BUFFER tokens, const char *label, SRCPOS srcpos, WN2F_CONTEXT context)
void WN2F_Address_Of (TOKEN_BUFFER tokens)
WN2F_STATUS WN2F_Offset_Memref (TOKEN_BUFFER tokens, WN *addr, TY_IDX addr_ty, TY_IDX object_ty, STAB_OFFSET addr_offset, WN2F_CONTEXT context)
WN2F_STATUS WN2F_Offset_Symref (TOKEN_BUFFER tokens, ST *addr, TY_IDX addr_ty, TY_IDX object_ty, STAB_OFFSET addr_offset, WN2F_CONTEXT context)
WN_OFFSET WN2F_Sum_Offsets (WN *addr)
void WN2F_Emit_End_Stmt (TOKEN_BUFFER tokens, BOOL start)
void WN2F_initialize (void)
void WN2F_finalize (void)
WN2F_STATUS WN2F_translate (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
WN2F_STATUS WN2F_translate_purple_main (TOKEN_BUFFER tokens, WN *pu, const char *region_name, WN2F_CONTEXT context)
void WN2F_dump_context (WN2F_CONTEXT c)

Variables

char * sgi_comment_str

Define Documentation

#define EMPTY_WN2F_STATUS   (WN2F_STATUS)0

Definition at line 109 of file wn2f.h.

#define INIT_WN2F_CONTEXT   {0, NULL}

Definition at line 116 of file wn2f.h.

#define reset_WN2F_CONTEXT (   c  )     ((c).flags = 0U, (c).wn = NULL)

Definition at line 117 of file wn2f.h.

Referenced by Append_Nest_Clauses(), W2F_Fini(), and W2F_Init().

#define reset_WN2F_CONTEXT_cray_io (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_CRAY_IO)

Definition at line 321 of file wn2f.h.

Referenced by WN2F_io().

#define reset_WN2F_CONTEXT_deref_addr (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_DEREF_ADDR)
#define reset_WN2F_CONTEXT_deref_io_item (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_DEREF_IO_ITEM)

Definition at line 249 of file wn2f.h.

#define reset_WN2F_CONTEXT_emit_stid (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_EMIT_STID)

Definition at line 271 of file wn2f.h.

Referenced by WN2F_do_loop().

#define reset_WN2F_CONTEXT_explicit_region (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_EXPLICIT_REGION)

Definition at line 297 of file wn2f.h.

#define reset_WN2F_CONTEXT_fmt_io (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_FMT_IO)

Definition at line 309 of file wn2f.h.

#define reset_WN2F_CONTEXT_has_logical_arg (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_HAS_LOGICAL_ARG)
#define reset_WN2F_CONTEXT_has_no_arr_elmt (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_HAS_NO_ARR_ELMT)
#define reset_WN2F_CONTEXT_induction_step (   c  ) 
Value:
((c).flags = (c).flags & ~WN2F_CONTEXT_INSERT_INDUCTION,\
    (c).wn = NULL)

Definition at line 139 of file wn2f.h.

Referenced by WN2F_block().

#define reset_WN2F_CONTEXT_io_stmt (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_IO_STMT)

Definition at line 239 of file wn2f.h.

#define reset_WN2F_CONTEXT_is_logical_arg (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_IS_LOGICAL_ARG)

Definition at line 188 of file wn2f.h.

Referenced by WN2F_translate().

#define reset_WN2F_CONTEXT_is_logical_operation (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_IS_LOGICAL_OPERATION)

Definition at line 200 of file wn2f.h.

Referenced by WN2F_binaryop(), WN2F_Funcall_Op(), and WN2F_Infix_Op().

#define reset_WN2F_CONTEXT_issue_ioc_asterisk (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK)

Definition at line 345 of file wn2f.h.

Referenced by WN2F_ios_cr(), WN2F_ios_print(), WN2F_ios_read(), WN2F_ios_rewrite(), and WN2F_ios_write().

#define reset_WN2F_CONTEXT_keyword_ioctrl (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_KEYWORD_IOCTRL)

Definition at line 229 of file wn2f.h.

Referenced by WN2F_ios_definefile().

#define reset_WN2F_CONTEXT_new_pu (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_NEW_PU)

Definition at line 125 of file wn2f.h.

Referenced by WN2F_block().

#define reset_WN2F_CONTEXT_no_newline (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_NO_NEWLINE)

Definition at line 163 of file wn2f.h.

Referenced by WN2F_do_loop(), and WN2F_io_control().

#define reset_WN2F_CONTEXT_no_parenthesis (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_NO_PARENTHESIS)
#define reset_WN2F_CONTEXT_origfmt_ioctrl (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_ORIGFMT_IOCTRL)

Definition at line 260 of file wn2f.h.

Referenced by WN2F_Append_IO_CtrlList(), and WN2F_ios_inqlength().

#define reset_WN2F_CONTEXT_subexp_no_parenthesis (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS)

Definition at line 353 of file wn2f.h.

Referenced by WN2F_Infix_Op(), and WN2F_paren().

#define reset_WN2F_CONTEXT_tmp_var (   c  )     ((c).flags = (c).flags & ~WN2F_CONTEXT_TMP_VAR)

Definition at line 281 of file wn2f.h.

#define set_WN2F_CONTEXT_cray_io (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_CRAY_IO)

Definition at line 319 of file wn2f.h.

Referenced by WN2F_io().

#define set_WN2F_CONTEXT_deref_addr (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_DEREF_ADDR)
#define set_WN2F_CONTEXT_deref_io_item (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_DEREF_IO_ITEM)

Definition at line 247 of file wn2f.h.

Referenced by WN2F_ios_read().

#define set_WN2F_CONTEXT_emit_stid (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_EMIT_STID)

Definition at line 269 of file wn2f.h.

Referenced by WN2F_do_loop().

#define set_WN2F_CONTEXT_explicit_region (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_EXPLICIT_REGION)

Definition at line 295 of file wn2f.h.

#define set_WN2F_CONTEXT_fmt_io (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_FMT_IO)

Definition at line 307 of file wn2f.h.

Referenced by WN2F_ios_cr().

#define set_WN2F_CONTEXT_has_logical_arg (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_HAS_LOGICAL_ARG)
#define set_WN2F_CONTEXT_has_no_arr_elmt (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_HAS_NO_ARR_ELMT)

Definition at line 328 of file wn2f.h.

Referenced by WN2F_call(), WN2F_iload(), WN2F_istore(), WN2F_lda(), WN2F_ldid(), and WN2F_pstore().

#define set_WN2F_CONTEXT_induction_step (   c,
  stmt 
)
Value:
((c).flags = (c).flags | WN2F_CONTEXT_INSERT_INDUCTION,\
    (c).wn = stmt)

Definition at line 136 of file wn2f.h.

Referenced by WN2F_do_loop().

#define set_WN2F_CONTEXT_io_stmt (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_IO_STMT)

Definition at line 237 of file wn2f.h.

Referenced by WN2F_io().

#define set_WN2F_CONTEXT_is_logical_arg (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_IS_LOGICAL_ARG)

Definition at line 186 of file wn2f.h.

Referenced by WN2F_translate().

#define set_WN2F_CONTEXT_is_logical_operation (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_IS_LOGICAL_OPERATION)

Definition at line 198 of file wn2f.h.

#define set_WN2F_CONTEXT_issue_ioc_asterisk (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK)

Definition at line 343 of file wn2f.h.

Referenced by WN2F_ios_cr(), WN2F_ios_print(), WN2F_ios_read(), WN2F_ios_rewrite(), and WN2F_ios_write().

#define set_WN2F_CONTEXT_keyword_ioctrl (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_KEYWORD_IOCTRL)

Definition at line 227 of file wn2f.h.

Referenced by WN2F_Append_IO_CtrlList().

#define set_WN2F_CONTEXT_new_pu (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_NEW_PU)

Definition at line 123 of file wn2f.h.

Referenced by WN2F_func_entry().

#define set_WN2F_CONTEXT_no_newline (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_NO_NEWLINE)

Definition at line 161 of file wn2f.h.

Referenced by WN2F_do_loop(), and WN2F_io().

#define set_WN2F_CONTEXT_no_parenthesis (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_NO_PARENTHESIS)
#define set_WN2F_CONTEXT_origfmt_ioctrl (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_ORIGFMT_IOCTRL)

Definition at line 258 of file wn2f.h.

Referenced by WN2F_io().

#define set_WN2F_CONTEXT_subexp_no_parenthesis (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS)

Definition at line 351 of file wn2f.h.

Referenced by WN2F_Infix_Op(), and WN2F_paren().

#define set_WN2F_CONTEXT_tmp_var (   c  )     ((c).flags = (c).flags | WN2F_CONTEXT_TMP_VAR)

Definition at line 279 of file wn2f.h.

#define WN2F_Can_Assign_Types (   t1,
  t2 
)
Value:
((TY_Is_Array(t1) && TY_is_character(t1) && \
     TY_Is_Array(t2) && TY_is_character(t2)) || \
    Stab_Identical_Types(t1, t2, \
                         FALSE, /*check_quals*/ \
                         FALSE, /*check_scalars*/ \
                         TRUE))

Definition at line 368 of file wn2f.h.

Referenced by WN2F_Function_Call_Lhs(), WN2F_Offset_Memref(), WN2F_Offset_Symref(), and WN2F_return().

#define WN2F_CONTEXT_CRAY_IO   0x00002000

Definition at line 316 of file wn2f.h.

#define WN2F_CONTEXT_cray_io (   c  )     ((c).flags & WN2F_CONTEXT_CRAY_IO)

Definition at line 317 of file wn2f.h.

Referenced by WN2F_dump_context(), WN2F_io_format(), WN2F_io_list(), and WN2F_io_unit().

#define WN2F_CONTEXT_DEREF_ADDR   0x000000004

Definition at line 148 of file wn2f.h.

#define WN2F_CONTEXT_deref_addr (   c  )     ((c).flags & WN2F_CONTEXT_DEREF_ADDR)
#define WN2F_CONTEXT_DEREF_IO_ITEM   0x00000100

Definition at line 244 of file wn2f.h.

#define WN2F_CONTEXT_deref_io_item (   c  )     ((c).flags & WN2F_CONTEXT_DEREF_IO_ITEM)

Definition at line 245 of file wn2f.h.

Referenced by WN2F_dump_context(), and WN2F_io_item().

#define WN2F_CONTEXT_EMIT_STID   0x00000400

Definition at line 266 of file wn2f.h.

#define WN2F_CONTEXT_emit_stid (   c  )     ((c).flags & WN2F_CONTEXT_EMIT_STID)

Definition at line 267 of file wn2f.h.

Referenced by WN2F_dump_context(), WN2F_pstid(), and WN2F_stid().

#define WN2F_CONTEXT_EXPLICIT_REGION   0x00000800

Definition at line 292 of file wn2f.h.

#define WN2F_CONTEXT_explicit_region (   c  )     ((c).flags & WN2F_CONTEXT_EXPLICIT_REGION)

Definition at line 293 of file wn2f.h.

Referenced by WN2F_dump_context().

#define WN2F_CONTEXT_FMT_IO   0x00001000

Definition at line 304 of file wn2f.h.

#define WN2F_CONTEXT_fmt_io (   c  )     ((c).flags & WN2F_CONTEXT_FMT_IO)

Definition at line 305 of file wn2f.h.

Referenced by WN2F_dump_context(), and WN2F_io_format().

#define WN2F_CONTEXT_HAS_LOGICAL_ARG   0x00000010

Definition at line 170 of file wn2f.h.

#define WN2F_CONTEXT_has_logical_arg (   c  )     ((c).flags & WN2F_CONTEXT_HAS_LOGICAL_ARG)

Definition at line 171 of file wn2f.h.

Referenced by WN2F_dump_context(), and WN2F_translate().

#define WN2F_CONTEXT_HAS_NO_ARR_ELMT   0x00004000

Definition at line 325 of file wn2f.h.

#define WN2F_CONTEXT_has_no_arr_elmt (   c  )     ((c).flags & WN2F_CONTEXT_HAS_NO_ARR_ELMT)

Definition at line 326 of file wn2f.h.

Referenced by WN2F_arrsection(), WN2F_Offset_Symref(), and WN2F_String_Argument().

#define WN2F_CONTEXT_induction_stmt (   c  )     (c).wn

Definition at line 135 of file wn2f.h.

Referenced by WN2F_block().

#define WN2F_CONTEXT_insert_induction (   c  )     ((c).flags & WN2F_CONTEXT_INSERT_INDUCTION)

Definition at line 133 of file wn2f.h.

Referenced by WN2F_block(), and WN2F_dump_context().

#define WN2F_CONTEXT_INSERT_INDUCTION   0x000000002

Definition at line 132 of file wn2f.h.

#define WN2F_CONTEXT_io_stmt (   c  )     ((c).flags & WN2F_CONTEXT_IO_STMT)

Definition at line 235 of file wn2f.h.

Referenced by WN2F_call(), WN2F_dump_context(), WN2F_implied_do(), and WN2F_intrinsic_call().

#define WN2F_CONTEXT_IO_STMT   0x00000080

Definition at line 234 of file wn2f.h.

#define WN2F_CONTEXT_is_logical_arg (   c  )     ((c).flags & WN2F_CONTEXT_IS_LOGICAL_ARG)

Definition at line 184 of file wn2f.h.

Referenced by WN2F_const(), WN2F_intconst(), and WN2F_parm().

#define WN2F_CONTEXT_IS_LOGICAL_ARG   0x02000000

Definition at line 183 of file wn2f.h.

#define WN2F_CONTEXT_IS_LOGICAL_OPERATION   0x00020000

Definition at line 195 of file wn2f.h.

#define WN2F_CONTEXT_is_logical_operation (   c  )     ((c).flags & WN2F_CONTEXT_IS_LOGICAL_OPERATION)

Definition at line 196 of file wn2f.h.

#define WN2F_CONTEXT_issue_ioc_asterisk (   c  )     ((c).flags & WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK)

Definition at line 341 of file wn2f.h.

Referenced by WN2F_io_unit().

#define WN2F_CONTEXT_ISSUE_IOC_UNIT_ASTERISK   0x00008000

Definition at line 340 of file wn2f.h.

#define WN2F_CONTEXT_keyword_ioctrl (   c  )     ((c).flags & WN2F_CONTEXT_KEYWORD_IOCTRL)

Definition at line 225 of file wn2f.h.

Referenced by WN2F_dump_context(), and WN2F_emit_ctrl().

#define WN2F_CONTEXT_KEYWORD_IOCTRL   0x00000040

Definition at line 224 of file wn2f.h.

#define WN2F_CONTEXT_NEW_PU   0x000000001

Definition at line 121 of file wn2f.h.

#define WN2F_CONTEXT_new_pu (   c  )     ((c).flags & WN2F_CONTEXT_NEW_PU)

Definition at line 122 of file wn2f.h.

Referenced by WN2F_block(), and WN2F_dump_context().

#define WN2F_CONTEXT_NO_NEWLINE   0x000000008

Definition at line 159 of file wn2f.h.

#define WN2F_CONTEXT_no_newline (   c  )     ((c).flags & WN2F_CONTEXT_NO_NEWLINE)

Definition at line 160 of file wn2f.h.

Referenced by WN2F_do_loop(), WN2F_dump_context(), WN2F_implied_do(), and WN2F_Stmt_Newline().

#define WN2F_CONTEXT_no_parenthesis (   c  )     ((c).flags & WN2F_CONTEXT_NO_PARENTHESIS)
#define WN2F_CONTEXT_NO_PARENTHESIS   0x00000020

Definition at line 209 of file wn2f.h.

#define WN2F_CONTEXT_origfmt_ioctrl (   c  )     ((c).flags & WN2F_CONTEXT_ORIGFMT_IOCTRL)

Definition at line 256 of file wn2f.h.

Referenced by WN2F_dump_context(), and WN2F_io_format().

#define WN2F_CONTEXT_ORIGFMT_IOCTRL   0x00000200

Definition at line 255 of file wn2f.h.

#define WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS   0x00040000

Definition at line 348 of file wn2f.h.

#define WN2F_CONTEXT_subexp_no_parenthesis (   c  )     ((c).flags & WN2F_CONTEXT_SUBEXP_NO_PARENTHESIS)

Definition at line 349 of file wn2f.h.

Referenced by WN2F_Infix_Op().

#define WN2F_CONTEXT_tmp_var (   c  )     ((c).flags & WN2F_TMP_VAR)

Definition at line 277 of file wn2f.h.

#define WN2F_CONTEXT_TMP_VAR   0x00100400

Definition at line 276 of file wn2f.h.

#define WN2F_expr_has_boolean_arg (   opc  ) 
Value:
((opc) == OPC_BLNOT || (opc) == OPC_BLAND || (opc) == OPC_BLIOR || \
    (opc) == OPC_I4LNOT || (opc) == OPC_I4LAND || (opc) == OPC_I4LIOR)

Definition at line 362 of file wn2f.h.

Referenced by WN2F_translate().


Typedef Documentation

typedef struct WN2F_Context WN2F_CONTEXT

Definition at line 108 of file wn2f.h.


Function Documentation

void WN2F_Address_Of ( TOKEN_BUFFER  tokens  ) 

Definition at line 505 of file wn2f.cxx.

References Append_Token_Special(), Prepend_Token_Special(), and Prepend_Token_String().

Referenced by INITVKIND_symoff().

Here is the call graph for this function:

void WN2F_dump_context ( WN2F_CONTEXT  c  ) 
void WN2F_Emit_End_Stmt ( TOKEN_BUFFER  tokens,
BOOL  start 
)
void WN2F_finalize ( void   ) 

Definition at line 1194 of file wn2f.cxx.

References Stab_Free_Tmpvars(), WN2F_Expr_finalize(), WN2F_Io_finalize(), WN2F_Load_Store_finalize(), and WN2F_Stmt_finalize().

Referenced by W2F_Fini().

Here is the call graph for this function:

void WN2F_initialize ( void   ) 

Definition at line 1171 of file wn2f.cxx.

References WN2F_Expr_initialize(), WN2F_Handler, WN2F_Io_initialize(), WN2F_Load_Store_initialize(), WN2F_Stmt_initialize(), and WN2F_unsupported().

Referenced by W2F_Init().

Here is the call graph for this function:

WN2F_STATUS WN2F_Offset_Memref ( TOKEN_BUFFER  tokens,
WN addr,
TY_IDX  addr_ty,
TY_IDX  object_ty,
STAB_OFFSET  addr_offset,
WN2F_CONTEXT  context 
)
WN2F_STATUS WN2F_Offset_Symref ( TOKEN_BUFFER  tokens,
ST addr,
TY_IDX  addr_ty,
TY_IDX  object_ty,
STAB_OFFSET  addr_offset,
WN2F_CONTEXT  context 
)
void WN2F_Stmt_Newline ( TOKEN_BUFFER  tokens,
const char *  label,
SRCPOS  srcpos,
WN2F_CONTEXT  context 
)
WN_OFFSET WN2F_Sum_Offsets ( WN addr  ) 

Definition at line 476 of file wn2f.cxx.

References OPR_ADD, OPR_ARRAY, OPR_ARRAYEXP, OPR_ARRSECTION, OPR_INTCONST, WN2F_Sum_Offsets(), WN_const_val(), WN_kid0(), WN_kid1(), and WN_operator().

Referenced by WN2F_Offset_Memref(), WN2F_String_Argument(), and WN2F_Sum_Offsets().

Here is the call graph for this function:

WN2F_STATUS WN2F_translate ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
)

Definition at line 1232 of file wn2f.cxx.

References OPCODE_is_boolean(), reset_WN2F_CONTEXT_has_logical_arg, reset_WN2F_CONTEXT_is_logical_arg, ret, set_WN2F_CONTEXT_has_logical_arg, set_WN2F_CONTEXT_is_logical_arg, WN2F_CONTEXT_has_logical_arg, WN2F_CONTEXT_no_parenthesis, WN2F_expr_has_boolean_arg, WN2F_Handler, WN_opc_operator, and WN_opcode().

Referenced by Append_Distribution(), W2F_Outfile_Translate_Pu(), W2F_Translate_Wn(), W2F_Translate_Wn_Str(), WN2F_agoto(), WN2F_alloca(), WN2F_Append_Value_Reference(), WN2F_ar_construct(), WN2F_array(), WN2F_arrayexp(), WN2F_arrsection(), WN2F_Arrsection_Slots(), WN2F_block(), WN2F_call(), WN2F_comma(), WN2F_compgoto(), WN2F_complex(), WN2F_condbr(), WN2F_cvt(), WN2F_cvtl(), WN2F_dealloca(), WN2F_Denormalize_Array_Idx(), WN2F_do_loop(), WN2F_do_while(), WN2F_eq(), WN2F_eval(), WN2F_Expr_Plus_Literal(), WN2F_func_entry(), WN2F_if(), WN2F_iload(), WN2F_imagpart(), WN2F_implied_do(), WN2F_intrinsic_op(), WN2F_io_control(), WN2F_io_format(), WN2F_io_list(), WN2F_io_unit(), WN2F_ios_decode(), WN2F_ios_definefile(), WN2F_ios_encode(), WN2F_ios_inqlength(), WN2F_istore(), WN2F_mstore(), WN2F_ne(), WN2F_noio_implied_do(), WN2F_Normalize_Idx_To_Onedim(), WN2F_nullify_stmt(), WN2F_Offset_Memref(), WN2F_OLD_Den_Arr_Idx(), WN2F_paren(), WN2F_parm(), WN2F_prefetch(), WN2F_Prepend_Value_Reference(), WN2F_pstid(), WN2F_pstore(), WN2F_realpart(), WN2F_return(), WN2F_return_val(), WN2F_select(), WN2F_src_triplet(), WN2F_stid(), WN2F_strctfld(), WN2F_String_Argument(), WN2F_Substring(), WN2F_switch(), WN2F_tas(), WN2F_tempvar_rhs(), WN2F_Translate_Arithmetic_Operand(), WN2F_Translate_DoLoop_Bound(), WN2F_triplet(), WN2F_where(), and WN2F_while_do().

Here is the call graph for this function:

WN2F_STATUS WN2F_translate_purple_main ( TOKEN_BUFFER  tokens,
WN pu,
const char *  region_name,
WN2F_CONTEXT  context 
)

Variable Documentation