Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
p_end.c File Reference
#include "defines.h"
#include "host.m"
#include "host.h"
#include "target.m"
#include "target.h"
#include "globals.m"
#include "tokens.m"
#include "sytb.m"
#include "p_globals.m"
#include "debug.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "p_globals.h"
#include "p_end.h"
Include dependency graph for p_end.c:

Go to the source code of this file.

Functions

static char * blk_desc_str (int)
static boolean end_task_do_blk (void)
static void finish_cdir_id (void)
static void loop_end_processing (void)
static void check_loop_bottom_nesting (void)
void parse_end_stmt (void)
static void end_program_unit (boolean err_call)
static void end_function (boolean err_call)
static void end_subroutine (boolean err_call)
static void end_module (boolean err_call)
static void end_blockdata (boolean err_call)
static void end_internal_proc (boolean err_call)
static void end_module_proc (boolean err_call)
static void end_interface_body (boolean err_call)
static void end_forall_blk (boolean err_call)
static void end_where_blk (boolean err_call)
static void end_select_blk (boolean err_call)
void end_labeled_do ()
static void end_do_blk (boolean err_call)
static void end_if_blk (boolean err_call)
static void end_interface_blk (boolean err_call)
static void end_contains (boolean err_call)
static void end_type_blk (boolean err_call)
static void end_internal_err (boolean err_call)
int blk_match_err (blk_cntxt_type blk_type, boolean has_name, boolean all_match)
boolean pop_and_err_blk_stk (int match_idx, boolean pop_the_blks)
int move_blk_to_end (int blk_idx)
void end_parallel_blk (boolean err_call)
void end_doall_blk (boolean err_call)
void end_wait_blk (boolean err_call)
void end_do_parallel_blk (boolean err_call)
void end_pdo_blk (boolean err_call)
void end_guard_blk (boolean err_call)
void end_parallel_case_blk (boolean err_call)
void end_SGI_parallel_blk (boolean err_call)
void end_doacross_blk (boolean err_call)
void end_critical_section_blk (boolean err_call)
void end_psection_blk (boolean err_call)
void end_single_process_blk (boolean err_call)
void end_region_blk (boolean err_call)
void end_open_mp_parallel_blk (boolean err_call)
void end_open_mp_do_blk (boolean err_call)
void end_open_mp_parallel_sections_blk (boolean err_call)
void end_open_mp_parallel_workshare_blk (boolean err_call)
void end_open_mp_sections_blk (boolean err_call)
void end_open_mp_section_blk (boolean err_call)
void end_open_mp_single_blk (boolean err_call)
void end_open_mp_parallel_do_blk (boolean err_call)
void end_open_mp_master_blk (boolean err_call)
void end_open_mp_critical_blk (boolean err_call)
void end_open_mp_ordered_blk (boolean err_call)
void end_open_mp_workshare_blk (boolean err_call)
boolean remove_do_parallel_blk (boolean cannot_nest, char *str, int line, int col)
boolean remove_pdo_blk (boolean cannot_nest, char *str, int line, int col)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/p_end.c 5.7 09/01/99 09:11:00\n"

Function Documentation

int blk_match_err ( blk_cntxt_type  blk_type,
boolean  has_name,
boolean  all_match 
)

Definition at line 4039 of file p_end.c.

References AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_OBJ_NAME_PTR, ATP_PGM_UNIT, blk_desc_str(), BLK_NAME, blk_stk_idx, BLK_TYPE, Case_Stmt, cif_pgm_unit_error_recovery, compare_names(), CURR_BLK, CURR_BLK_NAME, curr_stmt_sh_idx, Else_If_Stmt, Else_Stmt, Else_Where_Mask_Stmt, Else_Where_Stmt, End_Blockdata_Stmt, End_Do_Stmt, End_Forall_Stmt, End_Function_Stmt, End_If_Stmt, End_Interface_Stmt, End_Module_Stmt, End_Program_Stmt, End_Select_Stmt, End_Subroutine_Stmt, End_Type_Stmt, End_Where_Stmt, Error, FALSE, Func_Entry, Func_Exit, Function, If_Else_Blk, Interface_Body_Blk, Internal, move_blk_to_end(), NULL, NULL_IDX, pop_and_err_blk_stk(), POP_BLK_STK, PRINTMSG(), PUSH_BLK_STK, Select_Blk, SH_ERR_FLG, STMT_LEGAL_IN_BLK, stmt_start_col, stmt_start_line, stmt_type, stmt_type_str, Subroutine, Then_Stmt, token, TOKEN_COLUMN, TOKEN_ID, TOKEN_LEN, TOKEN_LINE, TRACE, TRUE, and Where_Else_Blk.

Referenced by end_critical_section_blk(), end_do_parallel_blk(), end_guard_blk(), end_open_mp_critical_blk(), end_open_mp_do_blk(), end_open_mp_master_blk(), end_open_mp_ordered_blk(), end_open_mp_parallel_blk(), end_open_mp_parallel_do_blk(), end_open_mp_parallel_sections_blk(), end_open_mp_parallel_workshare_blk(), end_open_mp_section_blk(), end_open_mp_sections_blk(), end_open_mp_single_blk(), end_open_mp_workshare_blk(), end_parallel_blk(), end_parallel_case_blk(), end_pdo_blk(), end_psection_blk(), end_region_blk(), end_SGI_parallel_blk(), end_single_process_blk(), parse_case_stmt(), parse_else_stmt(), and parse_end_stmt().

Here is the call graph for this function:

static void end_contains ( boolean  err_call) [static]

Definition at line 3211 of file p_end.c.

References curr_scp_idx, end_of_contains, Error, Func_Entry, Func_Exit, NULL, NULL_IDX, POP_BLK_STK, PRINTMSG(), SCP_FIRST_CHILD_IDX, SCP_IN_ERR, stmt_start_col, stmt_start_line, TRACE, and TRUE.

Referenced by parse_end_stmt().

Here is the call graph for this function:

void end_doacross_blk ( boolean  err_call)

Definition at line 5035 of file p_end.c.

References Func_Entry, Func_Exit, NULL, POP_BLK_STK, and TRACE.

void end_doall_blk ( boolean  err_call)

Definition at line 4640 of file p_end.c.

References Func_Entry, Func_Exit, NULL, POP_BLK_STK, and TRACE.

static void end_internal_err ( boolean  err_call) [static]

Definition at line 3790 of file p_end.c.

References Func_Entry, Func_Exit, Internal, NULL, PRINTMSG(), stmt_start_col, stmt_start_line, and TRACE.

Here is the call graph for this function:

void end_open_mp_critical_blk ( boolean  err_call)

Definition at line 5730 of file p_end.c.

References blk_match_err(), CURR_BLK, FALSE, Func_Entry, Func_Exit, NULL, Open_Mp_Critical_Blk, Open_MP_End_Critical_Stmt, POP_BLK_STK, STMT_CANT_BE_IN_BLK, and TRACE.

Referenced by parse_open_mp_directives().

Here is the call graph for this function:

void end_open_mp_master_blk ( boolean  err_call)

Definition at line 5689 of file p_end.c.

References blk_match_err(), CURR_BLK, FALSE, Func_Entry, Func_Exit, NULL, Open_MP_End_Master_Stmt, Open_Mp_Master_Blk, POP_BLK_STK, STMT_CANT_BE_IN_BLK, and TRACE.

Referenced by parse_open_mp_directives().

Here is the call graph for this function:

void end_open_mp_ordered_blk ( boolean  err_call)

Definition at line 5771 of file p_end.c.

References blk_match_err(), CURR_BLK, FALSE, Func_Entry, Func_Exit, NULL, Open_MP_End_Ordered_Stmt, Open_Mp_Ordered_Blk, POP_BLK_STK, STMT_CANT_BE_IN_BLK, and TRACE.

Referenced by parse_open_mp_directives().

Here is the call graph for this function:

void end_open_mp_section_blk ( boolean  err_call)

Definition at line 5543 of file p_end.c.

References blk_match_err(), CURR_BLK, FALSE, Func_Entry, Func_Exit, NULL, Open_MP_End_Section_Stmt, Open_Mp_Section_Blk, POP_BLK_STK, STMT_CANT_BE_IN_BLK, and TRACE.

Referenced by parse_open_mp_directives().

Here is the call graph for this function:

void end_wait_blk ( boolean  err_call)

Definition at line 4670 of file p_end.c.

References Func_Entry, Func_Exit, NULL, POP_BLK_STK, and TRACE.

void parse_end_stmt ( void  )

Definition at line 294 of file p_end.c.

References Ansi, AT_NAME_LEN, AT_OBJ_NAME_LONG, AT_Tbl_Idx, ATP_PGM_UNIT, blk_desc_str(), BLK_LABEL, blk_match_err(), blk_stk_idx, BLK_TYPE, Blockdata_Blk, Ch_Class_EOF, check_for_vestigial_task_blks(), CIF_Construct_Name_Reference, cif_end_unit_column, cif_end_unit_line, cif_flags, cif_pgm_unit_start_line, cif_usage_rec(), compare_names(), Contains_Blk, CURR_BLK, CURR_BLK_ERR, CURR_BLK_NAME, curr_scp_idx, curr_stmt_category, curr_stmt_sh_idx, Declaration_Stmt_Cat, Derived_Type_Blk, Do_Blk, End_Blockdata_Stmt, end_blocks, end_contains(), End_Do_Stmt, End_Forall_Stmt, End_Function_Stmt, End_If_Stmt, End_Interface_Stmt, end_labeled_do(), End_Module_Stmt, end_of_contains, End_Program_Stmt, End_Select_Stmt, End_Subroutine_Stmt, End_Type_Stmt, End_Where_Stmt, Endfile_Stmt, EOPU_encountered, EOS, EOS_STR, Error, EXIT, FALSE, Find_EOS, finish_cdir_id(), Forall_Blk, Func_Entry, Func_Exit, Function, Function_Blk, gen_attr_and_IR_for_lbl(), If_Blk, if_stmt_lbl_idx, Interface_Blk, Interface_Body_Blk, Internal, issue_deferred_msgs(), LA_CH_CLASS, LA_CH_COLUMN, LA_CH_LINE, LA_CH_VALUE, matched_specific_token(), MATCHED_TOKEN_CLASS, Module_Blk, Module_Proc_Blk, move_blk_to_end(), NEXT_LA_CH, NULL, NULL_IDX, parse_endfile_stmt(), parse_err_flush(), pop_and_err_blk_stk(), POP_BLK_STK, PRINTMSG(), Program_Blk, reset_lex(), SCP_IN_ERR, Select_Blk, SH_ERR_FLG, SH_P2_SKIP_ME, SH_STMT_TYPE, STMT_CANT_BE_IN_BLK, stmt_label_idx, stmt_line_idx, stmt_start_col, stmt_start_line, stmt_type, stmt_type_str, Subroutine, Subroutine_Blk, Tok_Class_Id, Tok_Class_Keyword, Tok_Id, Tok_Kwd_Block, Tok_Kwd_CoFunction, Tok_Kwd_CoSubroutine, Tok_Kwd_Data, Tok_Kwd_Do, Tok_Kwd_File, Tok_Kwd_Forall, Tok_Kwd_Function, Tok_Kwd_If, Tok_Kwd_Interface, Tok_Kwd_Module, Tok_Kwd_Program, Tok_Kwd_Select, Tok_Kwd_Subroutine, Tok_Kwd_Type, Tok_Kwd_Where, token, TOKEN_BUF_IDX, TOKEN_COLUMN, TOKEN_ID, TOKEN_LEN, TOKEN_LINE, TOKEN_STMT_NUM, TOKEN_STR, TRACE, TRUE, Where_Then_Blk, and XREF_RECS.

Here is the call graph for this function:

boolean remove_do_parallel_blk ( boolean  cannot_nest,
char *  str,
int  line,
int  col 
)
boolean remove_pdo_blk ( boolean  cannot_nest,
char *  str,
int  line,
int  col 
)

Definition at line 5926 of file p_end.c.

References BLK_DEF_LINE, blk_stk_idx, BLK_TYPE, CLEAR_DIRECTIVE_STATE, Do_Blk, Error, FALSE, Func_Entry, Func_Exit, Module_Proc_Blk, move_blk_to_end(), NULL, Pdo_Region, POP_BLK_STK, PRINTMSG(), SGI_Pdo_Blk, TRACE, and TRUE.

Referenced by parse_par_directives().

Here is the call graph for this function:


Variable Documentation

char USMID[] = "\n@(#)5.0_pl/sources/p_end.c 5.7 09/01/99 09:11:00\n" [static]

Definition at line 37 of file p_end.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines