Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
wn2f_io.cxx File Reference
#include "whirl2f_common.h"
#include "wio.h"
#include "wutil.h"
#include "PUinfo.h"
#include "wn2f.h"
#include "st2f.h"
#include "ty2f.h"
#include "tcon2f.h"
#include "wn2f_io.h"
#include "wn2f_load_store.h"
Include dependency graph for wn2f_io.cxx:

Go to the source code of this file.

Defines

#define WN_IOITEM(x)   (IOITEM) WN_io_item(x)
#define WN_IOSTMT(x)   (IOSTATEMENT) WN_io_statement(x)
#define IS_IO_NULL_OPR(wn)   ((WN_operator(wn) == OPR_INTCONST) && (WN_const_val(wn) == 0))
#define WN2F_IS_IOU(item)   (WN_IOITEM(item) >= IOU_NONE && WN_IOITEM(item) <= IOU_INTERNAL)
#define WN2F_IS_IOF(item)   ((WN_IOITEM(item) >= IOF_NONE && WN_IOITEM(item) <= IOF_CR_FMTSRC_DOPE))
#define WN2F_IS_IOC(item)   (WN_IOITEM(item) >= IOC_ACCESS && WN_IOITEM(item) <= IOC_ERRFLAG)
#define WN2F_IS_IOL(item)

Typedefs

typedef void(* IO_STMT_HANDLER )(TOKEN_BUFFER, WN *, WN2F_CONTEXT)

Functions

static void WN2F_Append_IO_CtrlList (TOKEN_BUFFER tokens, WN *ios, INT from_kid, INT to_kid, BOOL use_keyword, WN2F_CONTEXT context)
static void WN2F_Append_IO_List (TOKEN_BUFFER tokens, WN *ios, INT from_kid, WN2F_CONTEXT context)
static void WN2F_emit_ctrl (TOKEN_BUFFER tokens, const char *p, WN2F_CONTEXT context)
static BOOL WN2F_io_unit (TOKEN_BUFFER tokens, WN *item, WN2F_CONTEXT context)
static BOOL WN2F_io_format (TOKEN_BUFFER tokens, WN *item, WN2F_CONTEXT context)
static BOOL WN2F_io_control (TOKEN_BUFFER tokens, WN *item, WN2F_CONTEXT context)
WN2F_STATUS WN2F_implied_do (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static BOOL WN2F_io_list (TOKEN_BUFFER tokens, WN *item, WN2F_CONTEXT context)
static void WN2F_ios_backspace (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_close (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_definefile (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_delete (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_endfile (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_find (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_inquire (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_inqlength (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_namelist (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_open (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_rewind (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_unlock (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_accept (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_decode (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_encode (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_print (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_read (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_rewrite (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_type (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_write (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
static void WN2F_ios_cr (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
void WN2F_Io_initialize (void)
void WN2F_Io_finalize (void)
static BOOL Is_Cray_IO (IOSTATEMENT ios)
TOKEN_BUFFER WN2F_io_prefix_tokens (void)
WN2F_STATUS WN2F_io (TOKEN_BUFFER tokens, WN *wn, WN2F_CONTEXT context)
BOOL WN2F_io_item (TOKEN_BUFFER tokens, WN *item, WN2F_CONTEXT context)

Variables

static UINT32 Origfmt_Ioctrl_Label
static TOKEN_BUFFER Format_Stmts = NULL
static TOKEN_BUFFER Ios_Prefix_Tokens = NULL
static IO_STMT_HANDLER Ios_Handler [IOSTATEMENT_LAST+1]

Define Documentation

#define IS_IO_NULL_OPR (   wn)    ((WN_operator(wn) == OPR_INTCONST) && (WN_const_val(wn) == 0))

Definition at line 92 of file wn2f_io.cxx.

Referenced by WN2F_io_format().

#define WN2F_IS_IOC (   item)    (WN_IOITEM(item) >= IOC_ACCESS && WN_IOITEM(item) <= IOC_ERRFLAG)
#define WN2F_IS_IOF (   item)    ((WN_IOITEM(item) >= IOF_NONE && WN_IOITEM(item) <= IOF_CR_FMTSRC_DOPE))

Definition at line 163 of file wn2f_io.cxx.

Referenced by WN2F_io_item(), WN2F_ios_read(), WN2F_ios_rewrite(), and WN2F_ios_write().

#define WN2F_IS_IOL (   item)
Value:
((WN_IOITEM(item) >= IOL_ARRAY && WN_IOITEM(item) <= IOL_VAR) || \
    (WN_IOITEM(item) == IOL_DOPE))

Definition at line 167 of file wn2f_io.cxx.

Referenced by WN2F_io_item(), WN2F_ios_cr(), WN2F_ios_inqlength(), WN2F_ios_read(), WN2F_ios_rewrite(), and WN2F_ios_write().

#define WN2F_IS_IOU (   item)    (WN_IOITEM(item) >= IOU_NONE && WN_IOITEM(item) <= IOU_INTERNAL)

Typedef Documentation

Definition at line 83 of file wn2f_io.cxx.


Function Documentation

static BOOL Is_Cray_IO ( IOSTATEMENT  ios) [static]

Definition at line 1337 of file wn2f_io.cxx.

Referenced by WN2F_io().

static void WN2F_Append_IO_List ( TOKEN_BUFFER  tokens,
WN ios,
INT  from_kid,
WN2F_CONTEXT  context 
) [static]
static void WN2F_emit_ctrl ( TOKEN_BUFFER  tokens,
const char *  p,
WN2F_CONTEXT  context 
) [static]

Definition at line 173 of file wn2f_io.cxx.

References Append_Token_Special(), Append_Token_String(), and WN2F_CONTEXT_keyword_ioctrl.

Referenced by WN2F_io_format(), and WN2F_io_unit().

Here is the call graph for this function:

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

Definition at line 1953 of file wn2f_stmt.cxx.

Referenced by WN2F_io_list().

void WN2F_Io_finalize ( void  )

Definition at line 1331 of file wn2f_io.cxx.

Referenced by WN2F_finalize().

Definition at line 1358 of file wn2f_io.cxx.

References Ios_Prefix_Tokens.

Referenced by WN2F_call().

static void WN2F_ios_accept ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_backspace ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_close ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]

Definition at line 606 of file wn2f_io.cxx.

References Append_Token_String(), ASSERT_WARN, DIAG_W2F_UNEXPECTED_IOS, IOSTATEMENT_name, TRUE, WN2F_Append_IO_CtrlList(), WN_IOSTMT, and WN_kid_count().

Referenced by WN2F_Io_initialize().

Here is the call graph for this function:

static void WN2F_ios_delete ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]

Definition at line 671 of file wn2f_io.cxx.

References Append_Token_String(), ASSERT_WARN, DIAG_W2F_UNEXPECTED_IOS, IOSTATEMENT_name, TRUE, WN2F_Append_IO_CtrlList(), WN_IOSTMT, and WN_kid_count().

Referenced by WN2F_Io_initialize().

Here is the call graph for this function:

static void WN2F_ios_endfile ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_find ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]

Definition at line 716 of file wn2f_io.cxx.

References Append_Token_String(), ASSERT_WARN, DIAG_W2F_UNEXPECTED_IOS, IOSTATEMENT_name, TRUE, WN2F_Append_IO_CtrlList(), WN_IOSTMT, and WN_kid_count().

Referenced by WN2F_Io_initialize().

Here is the call graph for this function:

static void WN2F_ios_inquire ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]

Definition at line 736 of file wn2f_io.cxx.

References Append_Token_String(), ASSERT_WARN, DIAG_W2F_UNEXPECTED_IOS, IOSTATEMENT_name, TRUE, WN2F_Append_IO_CtrlList(), WN_IOSTMT, and WN_kid_count().

Referenced by WN2F_Io_initialize().

Here is the call graph for this function:

static void WN2F_ios_namelist ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_open ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]

Definition at line 808 of file wn2f_io.cxx.

References Append_Token_String(), ASSERT_WARN, DIAG_W2F_UNEXPECTED_IOS, IOSTATEMENT_name, TRUE, WN2F_Append_IO_CtrlList(), WN_IOSTMT, and WN_kid_count().

Referenced by WN2F_Io_initialize().

Here is the call graph for this function:

static void WN2F_ios_rewind ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_type ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_unlock ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]
static void WN2F_ios_write ( TOKEN_BUFFER  tokens,
WN wn,
WN2F_CONTEXT  context 
) [static]

Variable Documentation

Definition at line 80 of file wn2f_io.cxx.

IO_STMT_HANDLER Ios_Handler[IOSTATEMENT_LAST+1] [static]

Definition at line 84 of file wn2f_io.cxx.

Referenced by WN2F_io(), and WN2F_Io_initialize().

Definition at line 81 of file wn2f_io.cxx.

Referenced by WN2F_io_prefix_tokens().

Definition at line 79 of file wn2f_io.cxx.

Referenced by WN2F_io(), WN2F_io_control(), and WN2F_io_format().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines