Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defines.h"
#include <nl_types.h>
#include <nlcatmsg.h>
#include <time.h>
#include "cif.h"
#include "cifprocs.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 "s_globals.m"
#include "debug.m"
#include "cif.m"
#include "fecif.m"
#include "globals.h"
#include "tokens.h"
#include "sytb.h"
#include "p_globals.h"
#include "s_globals.h"
#include "fecif.h"
#include <unistd.h>
Go to the source code of this file.
Defines | |
#define | __NLS_INTERNALS 1 /* Obtain internal <nl_types.h> definitions. */ |
#define | CIF_VERSION 3 |
#define | outbuf1 output_buf[0] |
#define | outbuf2 output_buf[1] |
#define | FILE_ID_LIST_SIZE 1000 |
Functions | |
static int | cif_data_type (int) |
static void | cif_flush_include_recs (void) |
static int | get_line_and_file_id (int, int *) |
static void | output_minimal_object_rec (int) |
static void | process_attr_list (int, boolean) |
static boolean | output_struct_ids (opnd_type *) |
void | init_cif (char *comp_date_time, char *release_level) |
void | cif_prog_unit_init (void) |
void | cif_send_sytb () |
void | cif_send_attr (int attr_idx, int dt_attr_idx) |
void | cif_directive_rec (cif_directive_code_type dir, int line, int col) |
int | cif_file_name_rec (char *file_name, char *user_specified_file_name) |
void | cif_include_rec (int line_num, int col_num, int include_file_id) |
void | cif_message_rec (int msg_num, int glb_line_num, int col_num, msg_severities_type msg_severity, char *msg_text, long arg0, long arg1, long arg2, long arg3, char *scoping_unit_name, int relative_order) |
void | cif_source_file_rec (int source_file_id, src_form_type source_form) |
void | cif_summary_rec (char *release_level, char *gen_date, char *gen_time, float elapsed_time, long aux_elapsed_time, long max_field_len) |
void | cif_unit_rec (void) |
void | cif_copy_temp_to_actual_CIF (void) |
void | cif_end_unit_rec (char *name_ptr) |
void | cif_usage_rec (int obj_idx, fld_type obj_fld, int line_num, int col_num, int usage_code) |
void | cif_sb_usage_rec (int sb_idx, int line_num, int col_num, cif_usage_code_type usage_code) |
void | cif_enable_disable_rec (void) |
void | cif_machine_characteristics_rec (void) |
void | cif_stmt_type_rec (boolean exact_stmt_type_known, cif_stmt_type exact_stmt_type, int stmt_number) |
void | cif_cont_line_rec (int continuation_type, int line_number) |
void | cif_call_site_rec (int ir_idx, int gen_idx) |
void | cif_named_constant_rec (int attr_idx, int start_line, int start_column) |
void | cif_loop_def_rec (void) |
void | cif_label_rec (int attr_idx) |
void | cif_misc_compiler_opts_rec (void) |
void | cif_optimization_opts_rec (void) |
void | cif_begin_scope_rec (void) |
void | cif_end_scope_rec (void) |
void | cif_scope_info_rec (void) |
void | cif_use_module_rec (int attr_idx, int mf_tbl_idx, boolean send_attr) |
int | cif_rename_rec (int ro_idx, int cif_symbol_id, int attr_idx, int module_attr_idx) |
void | cif_fake_a_unit () |
void | Cif_Error () |
void | close_cif () |
void | cif_object_rec_for_func_result (int attr_idx) |
Variables | |
static char | USMID [] = "\n@(#)5.0_pl/sources/fecif.c 5.9 10/14/99 12:53:57\n" |
static char | output_buf [2][64] |
#define __NLS_INTERNALS 1 /* Obtain internal <nl_types.h> definitions. */ |
#define CIF_VERSION 3 |
#define FILE_ID_LIST_SIZE 1000 |
Referenced by cif_flush_include_recs().
#define outbuf1 output_buf[0] |
Definition at line 104 of file fecif.c.
Referenced by cif_call_site_rec(), and cif_send_attr().
#define outbuf2 output_buf[1] |
void cif_begin_scope_rec | ( | void | ) |
Definition at line 5044 of file fecif.c.
References AT_CIF_SYMBOL_ID, BLK_CIF_SCOPE_ID, BLK_DEF_COLUMN, BLK_DEF_LINE, BLK_NAME, blk_stk_idx, BLK_TYPE, Blockdata_Blk, c_i_f, Case_Blk, Cif_Error(), Cif_F90_Begin_Scope_Rec(), cif_internal_proc_start_line, cif_module_proc_start_line, cif_pgm_unit_start_line, Contains_Blk, CURR_BLK, CURR_BLK_DEF_COLUMN, CURR_BLK_DEF_LINE, curr_scp_idx, Derived_Type_Blk, Do_Blk, EOI, EOR, fprintf(), Func_Entry, Func_Exit, Function_Blk, get_line_and_file_id(), If_Blk, If_Else_If_Blk, If_Then_Blk, Interface_Blk, Interface_Body_Blk, Internal, Internal_Blk, Module_Blk, Module_Proc_Blk, NEXT_SCOPE_ID, NEXT_SYMBOL_ID, NULL, NULL_IDX, PRINTMSG(), Program_Blk, SCP_ATTR_IDX, SCP_CIF_ID, SCP_LEVEL, SCP_PARENT_IDX, Select_Blk, stmt_start_line, Subroutine_Blk, TRACE, Where_Else_Blk, Where_Else_Mask_Blk, and Where_Then_Blk.
Referenced by parse_interface_stmt(), parse_prog_unit(), start_new_subpgm(), and stmt_level_semantics().
void cif_call_site_rec | ( | int | ir_idx, |
int | gen_idx | ||
) |
Definition at line 3704 of file fecif.c.
References arg_info_list, AT_CIF_SYMBOL_ID, AT_COMPILER_GEND, AT_DCL_ERR, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_PRIVATE, AT_REFERENCED, AT_Tbl_Idx, ATD_ARRAY_IDX, ATI_CIF_SEEN_IN_CALL, ATI_INTERFACE_CLASS, ATI_USER_SPECIFIED, ATP_INTERFACE_IDX, ATP_PGM_UNIT, ATP_PROC, ATP_RSLT_IDX, ATT_CIF_DT_ID, BD_LB_FLD, BD_LB_IDX, BD_UB_FLD, BD_UB_IDX, c_i_f, Character, cif_data_type(), Cif_Error(), Cif_F90_Entry_Rec(), expr_semantics_args::cif_id, cif_number_of_struct_ids, CIF_PGM_PRIVATE, CIF_PGM_REFERENCE, cif_send_attr(), CN_CONST, CN_Tbl_Idx, CN_TYPE_IDX, convert_to_string(), COPY_OPND, curr_scp_idx, Defined_Assign_Interface, arg_strct::ed, EOI, EOR, EXIT, FALSE, find_left_attr(), fprintf(), Func_Entry, Func_Exit, Function, Generic_Function_Interface, Generic_Subroutine_Interface, get_line_and_file_id(), if(), IL_ARG_DESC_IDX, IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_OPND, Intrin_Proc, IR_COL_NUM, IR_COL_NUM_L, IR_IDX_L, IR_IDX_R, IR_LINE_NUM_L, IR_LIST_CNT_R, NEXT_SYMBOL_ID, NULL, NULL_CHAR, NULL_IDX, OPND_FLD, OPND_IDX, outbuf1, output_struct_ids(), Pgm_Unit, expr_semantics_args::rank, Referenced, SCP_CIF_ID, skip_struct_base, Structure, TRACE, TYP_IDX, expr_semantics_args::type, and VAR_LEN_CHAR.
Referenced by call_list_semantics(), and resolve_ext_opr().
void cif_cont_line_rec | ( | int | continuation_type, |
int | line_number | ||
) |
Definition at line 3667 of file fecif.c.
References c_i_f, Cif_Continuation_Rec(), and get_line_and_file_id().
Referenced by fixed_get_stmt(), and free_get_stmt().
void cif_copy_temp_to_actual_CIF | ( | void | ) |
Definition at line 2890 of file fecif.c.
References c_i_f, cif_tmp_file, EOF, fprintf(), Func_Entry, Func_Exit, NULL, and TRACE.
Referenced by cif_unit_rec(), and stmt_level_semantics().
static int cif_data_type | ( | int | data_type | ) | [static] |
Definition at line 6514 of file fecif.c.
References Character_1, Character_2, Character_4, Complex_16, Complex_4, Complex_8, CRI_Ch_Ptr_8, CRI_Parcel_Ptr_8, CRI_Ptr_8, Err_Res, Func_Entry, Func_Exit, Integer_1, Integer_2, Integer_4, Integer_8, Internal, Logical_1, Logical_2, Logical_4, Logical_8, Long_Typeless, NULL, PRINTMSG(), Real_16, Real_4, Real_8, Short_Char_Const, Short_Typeless_Const, stmt_start_line, Structure_Type, TRACE, Typeless_4, and Typeless_8.
Referenced by cif_call_site_rec(), and cif_send_attr().
void cif_directive_rec | ( | cif_directive_code_type | dir, |
int | line, | ||
int | col | ||
) |
Definition at line 2338 of file fecif.c.
References c_i_f, Cif_Cdir_Rec(), Func_Entry, Func_Exit, get_line_and_file_id(), NULL, and TRACE.
Referenced by parse_dir_directives().
void cif_enable_disable_rec | ( | void | ) |
Definition at line 3203 of file fecif.c.
References on_off_flags_entry::abort_if_any_errors, on_off_flags_entry::abort_on_100_errors, on_off_flags_entry::alloc_autos_on_stack, cmd_line_flags_entry::assembly_output, on_off_flags_entry::atexpert, cmd_line_flags_entry::binary_output, c_i_f, Cif_EDopts_Rec(), cmd_line_flags, on_off_flags_entry::enable_double_precision, on_off_flags_entry::eu, on_off_flags_entry::exec_doloops_once, on_off_flags_entry::flowtrace_option, Func_Entry, Func_Exit, on_off_flags_entry::indef_init, on_off_flags_entry::issue_ansi_messages, on_off_flags_entry::MPP_apprentice, NULL, on_off_flags, on_off_flags_entry::round_mult_operations, on_off_flags_entry::save_all_vars, and TRACE.
Referenced by init_cif().
void cif_end_scope_rec | ( | void | ) |
Definition at line 5357 of file fecif.c.
References BLK_CIF_SCOPE_ID, blk_stk_idx, c_i_f, Cif_F90_End_Scope_Rec(), cif_internal_proc_start_line, cif_module_proc_start_line, cif_pgm_unit_error_recovery, CURR_BLK, CURR_BLK_ERR, curr_scp_idx, Func_Entry, Func_Exit, get_line_and_file_id(), Interface_Body_Blk, Internal_Blk, LA_CH_COLUMN, LA_CH_LINE, Module_Proc_Blk, NEXT_SCOPE_ID, NULL, Program_Blk, SCP_CIF_ID, and TRACE.
Referenced by end_blockdata(), end_function(), end_interface_blk(), end_interface_body(), end_internal_proc(), end_module(), end_module_proc(), end_program_unit(), and end_subroutine().
void cif_end_unit_rec | ( | char * | name_ptr | ) |
Definition at line 2934 of file fecif.c.
References c_i_f, cif_end_unit_column, cif_end_unit_line, CIF_ENDUNIT, Cif_Endunit_Rec(), cif_flush_include_recs(), Func_Entry, Func_Exit, get_line_and_file_id(), last_msg_file_rec, NULL, stmt_start_col, and TRACE.
Referenced by cif_fake_a_unit(), end_blockdata(), end_function(), end_module(), end_program_unit(), end_subroutine(), flush_msg_file(), and main().
void Cif_Error | ( | void | ) |
Definition at line 5737 of file fecif.c.
References curr_stmt_sh_idx, Error, exit_compiler(), Func_Entry, Func_Exit, NULL, PRINTMSG(), RC_USER_ERROR, SH_GLB_LINE, and TRACE.
Referenced by cif_begin_scope_rec(), cif_call_site_rec(), Cif_Cdir_Rec(), Cif_Cifhdr_Rec(), Cif_Continuation_Rec(), Cif_EDopts_Rec(), Cif_Endunit_Rec(), Cif_F90_Begin_Scope_Rec(), Cif_F90_Callsite_Rec(), Cif_F90_Comblk_Rec(), Cif_F90_Const_Rec(), Cif_F90_Derived_Type_Rec(), Cif_F90_End_Scope_Rec(), Cif_F90_Entry_Rec(), Cif_F90_Int_Block_Rec(), Cif_F90_Label_Rec(), Cif_F90_Loop_Rec(), Cif_F90_Misc_Opts_Rec(), Cif_F90_Namelist_Rec(), Cif_F90_Object_Rec(), Cif_F90_Opt_Opts_Rec(), Cif_F90_Rename_Rec(), Cif_F90_Scope_Info_Rec(), Cif_F90_Use_Module_Rec(), Cif_File_Rec(), Cif_Include_Rec(), Cif_Mach_Char_Rec(), Cif_Message_Rec(), cif_misc_compiler_opts_rec(), cif_named_constant_rec(), cif_optimization_opts_rec(), Cif_Orig_Cmd(), cif_scope_info_rec(), cif_send_attr(), Cif_Src_Pos_Rec(), Cif_Srcfile_Rec(), Cif_Stmt_Type_Rec(), Cif_Summary_Rec(), Cif_Unit_Rec(), Cif_Usage_Rec(), cif_usage_rec(), init_cif(), and output_minimal_object_rec().
void cif_fake_a_unit | ( | void | ) |
Definition at line 5640 of file fecif.c.
References BASIC_RECS, c_i_f, cif_end_unit_rec(), Cif_F90_Begin_Scope_Rec(), Cif_F90_End_Scope_Rec(), Cif_F90_Entry_Rec(), cif_flags, cif_pgm_unit_start_line, cif_symbol_or_scope_id, cif_unit_rec(), curr_glb_line, Func_Entry, Func_Exit, get_line_and_file_id(), NEXT_SCOPE_ID, NEXT_SYMBOL_ID, NULL, stmt_start_col, stmt_start_line, TRACE, and UNNAMED_PROGRAM_NAME.
Referenced by flush_msg_file(), and main().
int cif_file_name_rec | ( | char * | file_name, |
char * | user_specified_file_name | ||
) |
Definition at line 2378 of file fecif.c.
References c_i_f, Cif_File_Rec(), Func_Entry, Func_Exit, NEXT_FILE_ID, NULL, and TRACE.
Referenced by cif_use_module_rec(), init_cif(), init_src_input(), and open_include_file().
static void cif_flush_include_recs | ( | void | ) | [static] |
Definition at line 6012 of file fecif.c.
References buf, cif_actual_file, CIF_FILE, CIF_INCLUDE, CIF_MESSAGE, CIF_STMT_TYPE, cif_tmp_file, EOF, EOI, EXIT, FALSE, FILE_ID_LIST_SIZE, fprintf(), Func_Entry, get_temp_file(), GL_CIF_FILE_ID, global_to_local_line_number(), Internal, Log_Error, MAX_FILE_NAME_SIZE, NULL, NULL_CHAR, PRINTMSG(), stmt_start_line, strcpy, TRACE, and TRUE.
Referenced by cif_end_unit_rec().
void cif_include_rec | ( | int | line_num, |
int | col_num, | ||
int | include_file_id | ||
) |
Definition at line 2418 of file fecif.c.
References c_i_f, Cif_Include_Rec(), Cif_Src_Pos_Rec(), Func_Entry, Func_Exit, get_line_and_file_id(), NULL, and TRACE.
Referenced by open_include_file().
void cif_label_rec | ( | int | attr_idx | ) |
Definition at line 4525 of file fecif.c.
References AT_CIF_SYMBOL_ID, AT_OBJ_NAME_PTR, ATL_CLASS, c_i_f, Cif_F90_Label_Rec(), CIF_LB_CONSTRUCT, CIF_LB_FORMAT, CIF_LB_STMT, CIF_LB_UNKNOWN, curr_scp_idx, EXIT, Func_Entry, Func_Exit, Lbl_Debug, Lbl_Format, Lbl_Internal, Lbl_Unknown, Lbl_User, NEXT_SYMBOL_ID, NULL, SCP_CIF_ID, and TRACE.
Referenced by check_for_dup_derived_type_lbl(), and cif_send_attr().
void cif_loop_def_rec | ( | void | ) |
Definition at line 4382 of file fecif.c.
References AT_CIF_SYMBOL_ID, AT_Tbl_Idx, c_i_f, Cif_F90_Loop_Rec(), CIF_LP_DO, CIF_LP_DO_INFINITE, CIF_LP_DOWHILE, curr_scp_idx, curr_stmt_sh_idx, Do_Iterative_Stmt, Do_While_Stmt, Func_Entry, Func_Exit, get_line_and_file_id(), IL_FLD, IL_IDX, IL_NEXT_LIST_IDX, IL_Tbl_Idx, IR_IDX_L, IR_IDX_R, NEXT_SYMBOL_ID, NO_Tbl_Idx, NULL, NULL_IDX, SCP_CIF_ID, SH_COL_NUM, SH_COMPILER_GEN, SH_GLB_LINE, SH_IR_IDX, SH_PARENT_BLK_IDX, SH_STMT_TYPE, statement_number, stmt_end_col, stmt_end_line, and TRACE.
Referenced by gen_loop_end_ir().
void cif_machine_characteristics_rec | ( | void | ) |
Definition at line 3331 of file fecif.c.
References c_i_f, Cif_Mach_Char_Rec(), CIF_MC_ADDR32, CIF_MC_AVL, CIF_MC_AVPOP, CIF_MC_BDM, CIF_MC_BMM, CIF_MC_CACHE, CIF_MC_CIGS, CIF_MC_CLUSTER, CIF_MC_CMRREQ, CIF_MC_COR, CIF_MC_EMA, CIF_MC_FULLSECT, CIF_MC_HPF, CIF_MC_IEEE, CIF_MC_PCF, CIF_MC_READVL, CIF_MC_SREG, CIF_MC_VPOP, CIF_MC_VRECUR, CIF_MC_XEA, target_machine_entry::fld, Func_Entry, Func_Exit, L, target_machine_entry::mcaddr32, target_machine_entry::mcavl, target_machine_entry::mcavpop, target_machine_entry::mcbank, target_machine_entry::mcbbsy, target_machine_entry::mcbdm, target_machine_entry::mcbmm, target_machine_entry::mccache, target_machine_entry::mccigs, target_machine_entry::mcclk, target_machine_entry::mccmrreq, target_machine_entry::mccori, target_machine_entry::mcema, target_machine_entry::mcfullsect, target_machine_entry::mchpm, target_machine_entry::mcibsz, target_machine_entry::mcieee, target_machine_entry::mcmspd, target_machine_entry::mcmsz, target_machine_entry::mcncl, target_machine_entry::mcncpu, target_machine_entry::mcpc, target_machine_entry::mcrdvl, target_machine_entry::mcstr, target_machine_entry::mcvpop, target_machine_entry::mcvrcr, target_machine_entry::mcxea, NULL, NULL_CHAR, target_machine, and TRACE.
Referenced by init_cif().
void cif_message_rec | ( | int | msg_num, |
int | glb_line_num, | ||
int | col_num, | ||
msg_severities_type | msg_severity, | ||
char * | msg_text, | ||
long | arg0, | ||
long | arg1, | ||
long | arg2, | ||
long | arg3, | ||
char * | scoping_unit_name, | ||
int | relative_order | ||
) |
Definition at line 2484 of file fecif.c.
References c_i_f, CIF_MESSAGE, Cif_Message_Rec(), EOS, EXIT, format_idx, Func_Entry, Func_Exit, get_line_and_file_id(), Internal, last_msg_file_rec, Log_Error, Log_Warning, NULL, PRINTMSG(), and TRACE.
Referenced by output_msg().
void cif_misc_compiler_opts_rec | ( | void | ) |
Definition at line 4590 of file fecif.c.
References assembly_file, cmd_line_flags_entry::assembly_output, bin_file, cmd_line_flags_entry::binary_output, c_i_f, Caution_Lvl, cif_C_opts, Cif_Error(), cif_name, cmd_line_flags, Comment_Lvl, dir_mic_str, directive_str, cmd_line_flags_entry::disregard_all_directives, cmd_line_flags_entry::disregard_all_dirs, cmd_line_flags_entry::disregard_all_mics, cmd_line_flags_entry::disregard_all_mips, cmd_line_flags_entry::disregard_all_mpp_cdirs, cmd_line_flags_entry::disregard_all_omps, cmd_line_flags_entry::disregard_all_openads, cmd_line_flags_entry::disregard_conditional_omp, disregard_directive, disregard_mics, EOI, EOR, Error_Lvl, Fixed_Form, FP_NAME_PTR, FP_NEXT_FILE_IDX, fprintf(), Func_Entry, Func_Exit, GET_MESSAGE_TBL, include_path_idx, cmd_line_flags_entry::integer_32, cmd_line_flags_entry::line_size_80, message_suppress_tbl, module_path_idx, cmd_line_flags_entry::msg_lvl_suppressed, Note_Lvl, NULL, NULL_CHAR, NULL_IDX, on_off_flags, on_off_flags_entry::round_mult_operations, cmd_line_flags_entry::src_form, Tok_Dir_End, Tok_Dir_Start, Tok_Mic_End, Tok_Mic_Start, TRACE, cmd_line_flags_entry::truncate_bits, cmd_line_flags_entry::verify_option, and Warning_Lvl.
Referenced by init_cif().
void cif_named_constant_rec | ( | int | attr_idx, |
int | start_line, | ||
int | start_column | ||
) |
Definition at line 4199 of file fecif.c.
References AT_CIF_SYMBOL_ID, ATD_ARRAY_IDX, ATD_CONST_IDX, ATD_TYPE_IDX, c_i_f, C_TO_F_INT, CG_INTEGER_DEFAULT_TYPE, Character, cif_actual_file, Cif_Error(), CN_CONST, CN_INT_TO_C, CN_INTEGER_ZERO_IDX, CN_TYPE_IDX, Complex, convert_to_string(), curr_scp_idx, EOI, EOR, Eq_Opr, folder_driver(), fprintf(), Func_Entry, Func_Exit, get_line_and_file_id(), Integer, Logical, Mod_Opr, NEXT_SYMBOL_ID, NULL, NULL_CHAR, NULL_IDX, prev_char_line_and_col(), Real, result, SCP_CIF_ID, stmt_start_col, stmt_start_line, Structure_Type, THIS_IS_TRUE, TRACE, TYP_IDX, TYP_LINEAR, TYP_TYPE, Typeless, Typeless_4, and Typeless_8.
Referenced by cif_send_attr(), and merge_parameter().
void cif_object_rec_for_func_result | ( | int | attr_idx | ) |
Definition at line 6666 of file fecif.c.
References AT_CIF_DONE, AT_REFERENCED, ATP_RSLT_IDX, cif_send_attr(), FALSE, Func_Entry, Func_Exit, NULL, NULL_IDX, Referenced, and TRACE.
Referenced by call_list_semantics(), and resolve_ext_opr().
void cif_optimization_opts_rec | ( | void | ) |
Definition at line 4881 of file fecif.c.
References opt_flags_entry::aggress, opt_flags_entry::bottom_load, c_i_f, Cif_Error(), CIF_OOF_AGGRESS, CIF_OOF_BLOAD, CIF_OOF_INLINE, CIF_OOF_LOOPALIGN, CIF_OOF_RECURRENCE, CIF_OOF_SCALAR, CIF_OOF_VECTOR, CIF_OOF_VSEARCH, CIF_OOF_ZEROINC, EOI, EOR, fprintf(), Func_Entry, Func_Exit, opt_flags_entry::inline_lvl, Inline_Lvl_0, opt_flags_entry::loopalign, NULL, NULL_CHAR, opt_flags, opt_flags_entry::over_index, opt_flags_entry::pattern, opt_flags_entry::recurrence, opt_flags_entry::scalar_lvl, opt_flags_entry::task_lvl, TRACE, opt_flags_entry::vector_lvl, opt_flags_entry::vsearch, and opt_flags_entry::zeroinc.
Referenced by init_cif().
void cif_prog_unit_init | ( | void | ) |
Definition at line 424 of file fecif.c.
References blk_stk_idx, BLK_TYPE, c_i_f, cif_derived_type_id, cif_end_unit_column, cif_need_unit_rec, cif_pgm_unit_error_recovery, cif_symbol_or_scope_id, cif_tmp_file, curr_scp_idx, FALSE, Func_Entry, Func_Exit, NEXT_SCOPE_ID, NULL, Program_Blk, SCP_CIF_ID, TRACE, and TRUE.
Referenced by init_parse_prog_unit().
int cif_rename_rec | ( | int | ro_idx, |
int | cif_symbol_id, | ||
int | attr_idx, | ||
int | module_attr_idx | ||
) |
Definition at line 5575 of file fecif.c.
References AT_CIF_SYMBOL_ID, AT_MODULE_IDX, AT_ORIG_NAME_PTR, c_i_f, Cif_F90_Rename_Rec(), curr_scp_idx, Func_Entry, Func_Exit, NEXT_SYMBOL_ID, NULL, RO_NAME_PTR, SCP_CIF_ID, and TRACE.
Referenced by rename_only_semantics().
void cif_sb_usage_rec | ( | int | sb_idx, |
int | line_num, | ||
int | col_num, | ||
cif_usage_code_type | usage_code | ||
) |
Definition at line 3154 of file fecif.c.
References c_i_f, Cif_Usage_Rec(), Func_Entry, Func_Exit, get_line_and_file_id(), NEXT_SYMBOL_ID, NULL, SB_CIF_SYMBOL_ID, and TRACE.
Referenced by parse_attrs(), and parse_common_stmt().
void cif_scope_info_rec | ( | void | ) |
Definition at line 5426 of file fecif.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_CIF_SYMBOL_ID, c_i_f, Cif_Error(), CIF_SCP_DOES_IO, CIF_SCP_HAS_CALLS, CIF_SCP_IMPL_NONE, curr_scp_idx, EOI, EOR, fprintf(), Func_Entry, Func_Exit, NULL, NULL_CHAR, NULL_IDX, SCP_ALT_ENTRY_CNT, SCP_CIF_ID, SCP_DOES_IO, SCP_ENTRY_IDX, SCP_HAS_CALLS, SCP_IMPL_NONE, and TRACE.
Referenced by decl_semantics_driver(), and end_interface_body().
void cif_send_attr | ( | int | attr_idx, |
int | dt_attr_idx | ||
) |
Definition at line 682 of file fecif.c.
References Assumed_Size, ASSUMED_SIZE_CHAR, Assumed_Size_Char, AT_ATTR_LINK, AT_CIF_DONE, AT_CIF_IN_USAGE_REC, AT_CIF_SYMBOL_ID, AT_CIF_USE_IN_BND, AT_COMPILER_GEND, AT_DCL_ERR, AT_HOST_ASSOCIATED, AT_IS_DARG, AT_IS_INTRIN, AT_MODULE_IDX, AT_NAME_IDX, AT_OBJ_CLASS, AT_OBJ_NAME, AT_OBJ_NAME_PTR, AT_OPTIONAL, AT_ORIG_NAME_IDX, AT_PRIVATE, AT_REF_IN_CHILD, AT_REFERENCED, AT_TYPED, AT_USE_ASSOCIATED, ATD_ALLOCATABLE, ATD_ARRAY_IDX, ATD_AUXILIARY, ATD_CLASS, ATD_CPNT_OFFSET_IDX, ATD_DATA_INIT, ATD_DCL_EQUIV, ATD_EQUIV, ATD_FUNC_IDX, ATD_IN_COMMON, ATD_INTENT, ATD_OFFSET_ASSIGNED, ATD_OFFSET_FLD, ATD_OFFSET_IDX, ATD_POINTER, ATD_PTR_IDX, ATD_SAVED, ATD_SF_DARG, ATD_STOR_BLK_IDX, ATD_TARGET, ATD_TMP_NEEDS_CIF, ATD_TYPE_IDX, ATI_CIF_SCOPE_ID, ATI_CIF_SEEN_IN_CALL, ATI_FIRST_SPECIFIC_IDX, ATI_INTERFACE_CLASS, ATI_NUM_SPECIFICS, ATI_PROC_IDX, ATI_UNNAMED_INTERFACE, ATI_USER_SPECIFIED, ATN_FIRST_NAMELIST_IDX, ATN_NUM_NAMELIST, ATP_ALT_ENTRY, ATP_CIF_DARG_PROC, ATP_DCL_EXTERNAL, ATP_EXPL_ITRFC, ATP_EXTRA_DARG, ATP_FIRST_IDX, ATP_IN_INTERFACE_BLK, ATP_NAME_IN_STONE, ATP_NOSIDE_EFFECTS, ATP_NUM_DARGS, ATP_PGM_UNIT, ATP_PROC, ATP_RECURSIVE, ATP_RSLT_IDX, ATP_SCP_ALIVE, ATP_VFUNCTION, ATT_CIF_DT_ID, ATT_FIRST_CPNT_IDX, ATT_NUM_CPNTS, ATT_PRIVATE_CPNT, ATT_SEQUENCE_SET, Based, BD_ARRAY_CLASS, BD_LB_FLD, BD_LB_IDX, BD_RANK, BD_UB_FLD, BD_UB_IDX, Blockdata, c_i_f, Character, CIF_ALLOCATABLE, CIF_CRI_POINTEE, CIF_DARG_IN_BND, CIF_DATA_INIT, cif_data_type(), CIF_DEFAULT_TYPED, CIF_EQUIVALENCED, Cif_Error(), Cif_F90_Derived_Type_Rec(), Cif_F90_Entry_Rec(), Cif_F90_Int_Block_Rec(), CIF_IMPLICITLY_TYPED, CIF_INTENT_IN, CIF_INTENT_INOUT, CIF_INTENT_OUT, CIF_KIND_TYPED, cif_label_rec(), cif_named_constant_rec(), CIF_OPTIONAL, CIF_PGM_DEFINITION, CIF_PGM_IN_INTERFACE, CIF_PGM_OPTIONAL, CIF_PGM_PRIVATE, CIF_PGM_RECURSIVE, CIF_PGM_REFERENCE, CIF_PGM_USE_ASSOCIATED, CIF_POINTER, CIF_PRIVATE, CIF_RENAMED, CIF_SAVED, cif_send_attr(), CIF_STAR_TYPED, CIF_TARGET, CN_CONST, CN_INT_TO_C, CN_Tbl_Idx, CN_TYPE_IDX, Common, Compiler_Tmp, Constant, CONVERT_CVAL_TO_STR, convert_to_string(), CRI__Pointee, curr_scp_idx, Data_Obj, Default_Typed, Defined_Assign_Interface, Derived_Type, Dummy_Argument, EOI, EOR, Equivalenced, EXIT, Extern_Proc, FALSE, Formal, fprintf(), Func_Entry, Func_Exit, Function, Function_Result, Generic_Function_Interface, Generic_Subroutine_Interface, Generic_Unknown_Interface, get_other_func_rslt_info, glb_tbl_idx, Integer_8, Intent_In, Intent_Inout, Intent_Out, Intent_Unseen, Interface, Intrin_Proc, Kind_Typed, Label, Main_Attr_Idx, Module, Module_Proc, name_pool, Namelist_Grp, NEXT_DERIVED_TYPE_ID, NEXT_SYMBOL_ID, NO_Tbl_Idx, Not_Referenced, NULL, NULL_CHAR, NULL_IDX, outbuf1, output_minimal_object_rec(), Pgm_Unit, Pgm_Unknown, Program, SB_BLK_TYPE, SB_CIF_SYMBOL_ID, SB_MODULE, SCP_ATTR_IDX, SCP_CIF_ID, SCP_LEVEL, SCP_PARENT_IDX, SN_ATTR_IDX, SN_SIBLING_LINK, Stack, Star_Typed, Static, Static_Local, Static_Named, Stmt_Func, Struct_Component, Structure, Subroutine, Task_Common, TRACE, TRUE, TYP_CHAR_CLASS, TYP_DESC, TYP_FLD, TYP_IDX, TYP_LINEAR, TYP_TYPE, Unknown_Proc, and VAR_LEN_CHAR.
Referenced by cif_call_site_rec(), cif_object_rec_for_func_result(), cif_send_attr(), cif_send_sytb(), cif_use_module_rec(), end_blockdata(), end_function(), end_module(), end_program_unit(), end_subroutine(), and process_attr_list().
void cif_send_sytb | ( | void | ) |
Definition at line 476 of file fecif.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_CIF_SYMBOL_ID, AT_OBJ_CLASS, ATD_CLASS, ATD_SEEN_AS_IO_LCV, ATD_SEEN_OUTSIDE_IMP_DO, ATP_PGM_UNIT, c_i_f, CIF_CB_REG, CIF_CB_TASK, Cif_F90_Comblk_Rec(), cif_flags, cif_send_attr(), CN_CONST, CN_INTEGER_THREE_IDX, CN_Tbl_Idx, CN_TYPE_IDX, Common, curr_scp_idx, Data_Obj, F_INT_TO_C, FALSE, folder_driver(), Func_Entry, Func_Exit, INFO_RECS, Interface, LN_ATTR_IDX, Module, NEXT_SYMBOL_ID, NULL, NULL_IDX, Pgm_Unit, process_attr_list(), result, SB_BLK_TYPE, SB_CIF_SYMBOL_ID, SB_DEF_COLUMN, SB_DEF_LINE, SB_LEN_FLD, SB_LEN_IDX, SB_MODULE_IDX, SB_NAME_PTR, SB_ORIG_SCP_IDX, SB_SCP_IDX, SB_USE_ASSOCIATED, SCP_ATTR_IDX, SCP_ATTR_LIST, SCP_CIF_ERR_LIST, SCP_CIF_ID, SCP_LN_FW_IDX, SCP_LN_LW_IDX, Shiftr_Opr, Stmt_Func, stor_blk_tbl_idx, Task_Common, TRACE, TRUE, TYP_LINEAR, and Variable.
Referenced by final_decl_semantics(), iss_blk_stk_err(), and pgm_unit_semantics().
void cif_source_file_rec | ( | int | source_file_id, |
src_form_type | source_form | ||
) |
Definition at line 2617 of file fecif.c.
References c_i_f, CIF_F90_FORM_FIXED, CIF_F90_FORM_FREE, Cif_Srcfile_Rec(), Fixed_Form, Func_Entry, Func_Exit, NULL, and TRACE.
Referenced by init_src_input(), and open_include_file().
void cif_stmt_type_rec | ( | boolean | exact_stmt_type_known, |
cif_stmt_type | exact_stmt_type, | ||
int | stmt_number | ||
) |
Definition at line 3600 of file fecif.c.
References Assignment_Stmt, Before, c_i_f, CIF_Not_Exact, CIF_Stmt_Type_Error, Cif_Stmt_Type_Rec(), comp_phase, curr_stmt_sh_idx, Decl_Semantics, FALSE, Func_Entry, Func_Exit, gen_sh(), get_line_and_file_id(), Internal, mapped_stmt_type, NULL, PRINTMSG(), SH_PARENT_BLK_IDX, SH_PREV_IDX, Statement_Num_Stmt, stmt_start_col, stmt_start_line, stmt_type, TRACE, and TRUE.
Referenced by assignment_stmt_semantics(), determine_stmt_type(), end_blockdata(), end_do_blk(), end_forall_blk(), end_function(), end_if_blk(), end_interface_blk(), end_interface_body(), end_internal_proc(), end_module(), end_module_proc(), end_program_unit(), end_select_blk(), end_subroutine(), end_type_blk(), end_where_blk(), open_include_file(), outmoded_if_stmt_semantics(), parse_buffer_stmt(), parse_case_stmt(), parse_cpnt_dcl_stmt(), parse_do_stmt(), parse_else_stmt(), parse_endfile_stmt(), parse_goto_stmt(), parse_if_stmt(), parse_implicit_stmt(), parse_intent_stmt(), parse_interface_stmt(), parse_module_stmt(), parse_stmt_func_stmt(), parse_type_dcl_stmt(), parse_typed_function_stmt(), and parse_where_stmt().
void cif_summary_rec | ( | char * | release_level, |
char * | gen_date, | ||
char * | gen_time, | ||
float | elapsed_time, | ||
long | aux_elapsed_time, | ||
long | max_field_len | ||
) |
Definition at line 2694 of file fecif.c.
References c_i_f, Cif_Summary_Rec(), code_size, curr_glb_line, data_size, Func_Entry, Func_Exit, L, NULL, NULL_CHAR, and TRACE.
Referenced by main(), and PRINTMSG().
void cif_unit_rec | ( | void | ) |
Definition at line 2806 of file fecif.c.
References AT_OBJ_NAME_PTR, blk_stk_idx, c_i_f, cif_actual_file, cif_copy_temp_to_actual_CIF(), cif_first_pgm_unit, cif_need_unit_rec, cif_pgm_unit_error_recovery, cif_pgm_unit_start_line, CIF_UNIT, Cif_Unit_Rec(), CURR_BLK_DEF_COLUMN, CURR_BLK_DEF_LINE, curr_scp_idx, FALSE, Func_Entry, Func_Exit, get_line_and_file_id(), last_msg_file_rec, NULL, SCP_ATTR_IDX, scp_tbl, stmt_start_line, TRACE, and UNNAMED_PROGRAM_NAME.
Referenced by cif_fake_a_unit(), parse_prog_unit(), and stmt_level_semantics().
void cif_usage_rec | ( | int | obj_idx, |
fld_type | obj_fld, | ||
int | line_num, | ||
int | col_num, | ||
int | usage_code | ||
) |
Definition at line 2984 of file fecif.c.
References AT_CIF_IN_USAGE_REC, AT_CIF_SYMBOL_ID, AT_COMPILER_GEND, AT_DCL_ERR, AT_OBJ_CLASS, AT_Tbl_Idx, ATD_CLASS, ATD_TMP_NEEDS_CIF, ATP_IN_INTERFACE_BLK, ATP_INTERFACE_IDX, ATP_PROC, c_i_f, Cif_Error(), CIF_No_Usage_Rec, cif_number_of_struct_ids, CIF_USAGE, Cif_Usage_Rec(), Compiler_Tmp, Data_Obj, EOI, EOR, EXIT, find_base_attr(), find_left_attr(), fprintf(), Func_Entry, Func_Exit, get_line_and_file_id(), Intrin_Proc, NEXT_SYMBOL_ID, NO_Tbl_Idx, NULL, OPND_FLD, OPND_IDX, output_struct_ids(), Pgm_Unit, skip_struct_base, TRACE, and TRUE.
Referenced by array_construct_semantics(), attr_semantics(), build_loop_tbl(), call_list_semantics(), check_for_dup_derived_type_lbl(), check_label_ref(), ck_lbl_construct_name(), forall_semantics(), gen_attr_and_IR_for_lbl(), generic_spec_semantics(), parse_assign_stmt(), parse_attrs(), parse_case_stmt(), parse_common_stmt(), parse_cpnt_dcl_stmt(), parse_cycle_stmt(), parse_decode_stmt(), parse_derived_type_stmt(), parse_do_stmt(), parse_dummy_args(), parse_else_stmt(), parse_encode_stmt(), parse_end_stmt(), parse_entry_stmt(), parse_equivalence_stmt(), parse_exit_stmt(), parse_io_control_list(), parse_module_stmt(), parse_namelist_stmt(), parse_parameter_stmt(), parse_pointer_stmt(), parse_print_stmt(), parse_prog_unit(), parse_read_stmt(), parse_stmt_func_stmt(), parse_type_dcl_stmt(), parse_type_spec(), parse_use_stmt(), rename_only_semantics(), resolve_ext_opr(), resolve_used_modules(), set_function_rslt(), start_new_prog_unit(), start_new_subpgm(), and struct_opr_handler().
void cif_use_module_rec | ( | int | attr_idx, |
int | mf_tbl_idx, | ||
boolean | send_attr | ||
) |
Definition at line 5500 of file fecif.c.
References AT_CIF_SYMBOL_ID, ATP_MOD_PATH_NAME_PTR, c_i_f, Cif_F90_Use_Module_Rec(), cif_file_id, cif_file_name_rec(), cif_send_attr(), CIF_USE_MODULE_DIRECT, CIF_USE_MODULE_INDIRECT, FP_CIF_ID, FP_NAME_PTR, Func_Entry, Func_Exit, NEXT_SYMBOL_ID, NULL, NULL_IDX, and TRACE.
Referenced by find_prog_unit_tbl(), and resolve_used_modules().
void close_cif | ( | void | ) |
Definition at line 6471 of file fecif.c.
References c_i_f, cif_actual_file, cif_tmp_file, cif_tmp_file_name, Func_Entry, Func_Exit, NULL, and TRACE.
Referenced by exit_compiler().
static int get_line_and_file_id | ( | int | search_line, |
int * | file_id | ||
) | [static] |
Definition at line 5775 of file fecif.c.
References Func_Entry, Func_Exit, GL_CIF_FILE_ID, GLOBAL_LINE_TO_FILE_LINE, idx, NULL, and TRACE.
Referenced by cif_begin_scope_rec(), cif_call_site_rec(), cif_cont_line_rec(), cif_directive_rec(), cif_end_scope_rec(), cif_end_unit_rec(), cif_fake_a_unit(), cif_include_rec(), cif_loop_def_rec(), cif_message_rec(), cif_named_constant_rec(), cif_sb_usage_rec(), cif_stmt_type_rec(), cif_unit_rec(), and cif_usage_rec().
void init_cif | ( | char * | comp_date_time, |
char * | release_level | ||
) |
Definition at line 124 of file fecif.c.
References c_i_f, cif_actual_file, cif_C_opts, Cif_Cifhdr_Rec(), cif_enable_disable_rec(), cif_end_unit_column, Cif_Error(), cif_file_id, cif_file_name_rec(), cif_first_pgm_unit, cif_flags, CIF_LG_F90, cif_machine_characteristics_rec(), cif_misc_compiler_opts_rec(), cif_name, cif_need_unit_rec, cif_optimization_opts_rec(), Cif_Orig_Cmd(), cif_pgm_unit_error_recovery, cif_pgm_unit_start_line, Cif_Src_Pos_Rec(), cif_tmp_file, cif_tmp_file_name, CMD_PROVIDED_CIF, COMPILER_RECS, EOS, exit_compiler(), FALSE, fprintf(), Func_Entry, Func_Exit, get_temp_file(), GETPMC(), group_code, L, Log_Error, MAXHOSTNAMELEN, MEM_FREE, NULL, NULL_CHAR, orig_cmd_line, PRINTMSG(), RC_USER_ERROR, strcpy, TRACE, and TRUE.
Referenced by init_compiler().
static void output_minimal_object_rec | ( | int | attr_idx | ) | [static] |
Definition at line 5887 of file fecif.c.
References AT_CIF_SYMBOL_ID, AT_OBJ_NAME_PTR, c_i_f, Cif_Error(), curr_scp_idx, EOI, EOR, fprintf(), Func_Entry, Func_Exit, NEXT_SYMBOL_ID, NULL, NULL_CHAR, SCP_CIF_ID, and TRACE.
Referenced by cif_send_attr().
static boolean output_struct_ids | ( | opnd_type * | opnd | ) | [static] |
Definition at line 5816 of file fecif.c.
References AT_CIF_SYMBOL_ID, AT_Tbl_Idx, ATD_CLASS, c_i_f, cif_number_of_struct_ids, COPY_OPND, EOI, fprintf(), Func_Entry, Func_Exit, IR_OPND_L, IR_OPND_R, IR_OPR, IR_Tbl_Idx, NEXT_SYMBOL_ID, NULL, OPND_FLD, OPND_IDX, skip_struct_base, Struct_Component, Struct_Opr, TRACE, and TRUE.
Referenced by cif_call_site_rec(), and cif_usage_rec().
static void process_attr_list | ( | int | al_idx, |
boolean | error_list | ||
) | [static] |
Definition at line 6732 of file fecif.c.
References AL_ATTR_IDX, AL_NEXT_IDX, AT_CIF_SYMBOL_ID, AT_COMPILER_GEND, AT_OBJ_CLASS, ATD_CLASS, ATD_TMP_NEEDS_CIF, cif_send_attr(), Compiler_Tmp, Data_Obj, Func_Entry, Func_Exit, NULL, NULL_IDX, Pgm_Unit, and TRACE.
Referenced by cif_send_sytb().
char output_buf[2][64] [static] |