Open64 (mfef90, whirl2f, and IR tools)
TAG: version-openad; SVN changeset: 916
|
#include "defs.h"
#include "glob.h"
#include "stab.h"
#include "strtab.h"
#include "errors.h"
#include "targ_const.h"
#include "config_targ.h"
#include "const.h"
#include "wn.h"
#include "wn_util.h"
#include "dwarf_DST_producer.h"
#include "cxx_memory.h"
#include "cwh_stk.h"
#include <stdio.h>
#include "i_cvrt.h"
#include "cwh_defines.h"
#include "cwh_types.h"
#include "cwh_addr.h"
#include "cwh_expr.h"
#include "cwh_block.h"
#include "cwh_stmt.h"
#include "cwh_preg.h"
#include "cwh_auxst.h"
#include "cwh_stab.h"
#include "cwh_stab.i"
#include "cwh_dst.h"
#include "cwh_mkdepend.h"
#include "sgi_cmd_line.h"
Go to the source code of this file.
Functions | |
INTPTR | fei_next_func_idx (INT32 Pu_arg, INT32 Proc_arg, INT32 altentry_idx) |
INTPTR | fei_proc (char *name_string, INT32 lineno, INT32 Sym_class_arg, INT32 Class_arg, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 alt_entry_idx, TYPE result_type, INT32 proc_idx, INT64 flags, INT32 in_interface, INT32 coarray_concurrent) |
INTPTR | fei_proc_def (char *name_string, INT32 lineno, INT32 Sym_class_arg, INT32 Class_arg, INT32 unused1, INT32 unused2, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 alt_entry_idx, TYPE result_type, INT32 cmcs_node, INT32 proc_idx, INT64 flags, INT32 coarray_concurrent) |
INTPTR | fei_proc_interface (char *name_string, INT32 lineno, INT32 Sym_class_arg, INT32 Class_arg, INT32 unused1, INT32 unused2, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 alt_entry_idx, TYPE result_type, INT32 cmcs_node, INT32 proc_idx, INT64 flags, INT32 coarray_concurrent) |
INTPTR | fei_proc_imp (INT32 lineno, char *name_string, INT32 unused1, INT32 unused2, INT32 Sclass_arg, INT32 Class_arg, TYPE result_type, INT64 flags, INT32 in_interface) |
INTPTR | fei_arith_con (TYPE type, SLONG *start) |
INTPTR | fei_pattern_con (TYPE type, char *start, INT64 bitsize) |
INTPTR | fei_proc_parent (char *name_string, INT32 lineno, INT32 Sym_class_arg, INT32 unused, INT32 num_dum_args, INT32 parent_stx, INT32 first_st_idx, INT32 aux_idx, TYPE result_type, INTPTR st_idx, INT64 flags) |
INTPTR | fei_object (char *name_string, TYPE type, INT64 flag_bits, INT32 Sym_class_arg, INTPTR storage_idx, INT32 arg_num, INTPTR ptr_st_idx, INT64 offset, INT32 arg_intent, INT64 size, INT32 type_aux, INT32 alignment, INT32 distr_idx, INT32 node_1, INT32 node_2, INT32 lineno, INTPTR modst_idx) |
void | fei_rename_list (char *name_string) |
INTPTR | fei_seg (char *name_string, INT32 Seg_type_arg, INT32 owner, INT32 parent, INT32 aux_index, INT32 flag_bits, INT32 nest_level, INT64 block_length) |
INTPTR | fei_name (char *name_string, INT32 st_grp, INTPTR st_idx, INT32 prev_idx, INT32 idx) |
INTPTR | fei_namelist (char *name_string, INT32 nitems, INTPTR idx, INT32 in_model) |
INT32 | fei_label (char *name_string, INT32 flags, INT32 Class, char *fmt_string, INT32 debug) |
void | cwh_stab_set_symtab (ST *st) |
ST * | cwh_stab_const_ST (WN *wn) |
WN * | cwh_stab_const (ST *st) |
ST * | cwh_stab_address_temp_ST (char *name, TY_IDX ty, BOOL uniq) |
ST * | cwh_stab_temp_ST (TY_IDX ty, char *name) |
void | cwh_stab_add_pragma (ST *st, WN_PRAGMA_ACCESSED_FLAGS flag) |
STB_pkt * | cwh_stab_packet (void *thing, enum is_form fm) |
STB_pkt * | cwh_stab_packet_typed (void *thing, enum is_form fm, TY_IDX ty) |
static void | cwh_stab_free_packet (void) |
void | cwh_stab_end_procs (void) |
static ST * | cwh_stab_earlier_hosted (const char *name) |
static void | cwh_stab_enter_hosted (ST *st) |
static void | cwh_stab_adjust_name (ST *st) |
static void | cwh_stab_adjust_base_name (ST *st) |
ST * | cwh_stab_main_ST (void) |
void | cwh_stab_set_linenum (ST *st, INT32 lineno) |
static void | cwh_stab_formal_ref (ST *st, BOOL host) |
static void | cwh_stab_full_split (ST *c, enum list_name list) |
static void | cwh_stab_find_overlaps (FIELDS fp_table, INT32 nf) |
static BOOL | cwh_stab_split_common (ST *c, FIELDS fp_table, INT32 nf) |
static BOOL | need_to_split (INT64 cur_offset, INT64 base_offset, INT64 rel_offset, int delta) |
static void | cwh_stab_dump_FIELDS (FIELDS fp_table, INT32 from, INT32 to) |
static void | cwh_stab_emit_split (ST *c, FIELDS fp_table, INT32 from, INT32 to) |
static ST * | cwh_stab_split_ST (ST *c, INT64 low_off, INT64 high_off) |
static ST * | cwh_stab_common_ST (char *name, INT64 size, mUINT16 al) |
static ST * | cwh_stab_module_ST (char *name, INT64 size, mUINT16 al) |
static void | cwh_stab_altres_offset (ST *st, BOOL hosted) |
static void | cwh_stab_altres_offset_comp (ST *st, BOOL allF4C4) |
TY_IDX | cwh_stab_altentry_TY (ST *st, BOOL expr) |
static void | cwh_stab_distrib_pragmas (ST *st) |
WN * | cwh_load_distribute_temp (void) |
static ST * | cwh_stab_altentry_temp (char *name, BOOL hosted) |
static void | cwh_stab_to_list_of_equivs (ST *st, BOOL hosted) |
void | cwh_stab_set_tylist_for_entries (ST *proc) |
void | cwh_stab_emit_commons_and_equivalences (SYMTAB_IDX level) |
static void | cwh_stab_emit_list (LIST **lp, enum list_name list, void(*fp)(ST *, enum list_name)) |
static void | cwh_stab_mk_flds (ST *blk, enum list_name list) |
static ST * | cwh_stab_earlier_common (char *name_string, BOOL is_duplicate) |
static ST * | cwh_stab_seen_common_element (ST *c, INT64 offset, char *name) |
ST * | cwh_stab_seen_derived_type_or_imported_var (ST *c, char *name) |
ST * | cwh_stab_mk_fn_0args (char *name, ST_EXPORT eclass, SYMTAB_IDX level, TY_IDX rty) |
static PU_IDX | cwh_stab_mk_pu (TY_IDX pty, SYMTAB_IDX level) |
INTPTR | fei_smt_parameter (char *name_string, TYPE type, INTPTR con_idx, INT32 Class, INT32 lineno) |
INTPTR | fei_interface (char *name_string, INT32 nitems, INT32 kind_interface, INT32 is_imported) |
void | fei_set_in_interface_processing () |
void | fei_reset_in_interface_processing () |
Variables | |
static char * | source_file = __FILE__ |
WN* cwh_load_distribute_temp | ( | void | ) |
Definition at line 3164 of file cwh_stab.cxx.
References Be_Type_Tbl, cwh_auxst_clear(), Gen_Temp_Symbol(), MTYPE_I4, NULL, OPC_I4I4LDID, st_for_distribute_temp, TY_name(), and WN_CreateLdid().
Referenced by cwh_stab_distrib_pragmas(), and fei_redistribute().
void cwh_stab_add_pragma | ( | ST * | st, |
WN_PRAGMA_ACCESSED_FLAGS | flag | ||
) |
Definition at line 2046 of file cwh_stab.cxx.
References block, block_ca, cwh_auxst_pragma(), cwh_stmt_add_to_preamble(), NULL, wn, WN_CreatePragma(), WN_DELETE_Tree(), WN_PRAGMA_ACCESSED_ID, and WN_pragma_arg2().
Referenced by cwh_addr_access_flags().
ST* cwh_stab_address_temp_ST | ( | char * | name, |
TY_IDX | ty, | ||
BOOL | uniq | ||
) |
Definition at line 1989 of file cwh_stab.cxx.
References CLASS_VAR, CURRENT_SYMTAB, cwh_auxst_clear(), cwh_expr_temp_set_pragma(), cwh_types_mk_anon_name(), EXPORT_LOCAL, New_ST(), Save_Str(), SCLASS_AUTO, Set_ST_is_temp_var(), Set_ST_pt_to_unique_mem(), and ST_Init().
Referenced by cwh_stab_altentry_temp(), and fei_allocate().
static void cwh_stab_adjust_base_name | ( | ST * | st | ) | [static] |
Definition at line 2302 of file cwh_stab.cxx.
References CURRENT_SYMTAB, Has_Base_Block(), HOST_LEVEL, Save_Str2(), SCLASS_AUTO, Set_ST_name, ST_base(), ST_has_nested_ref(), ST_is_return_var(), ST_is_temp_var(), ST_name(), and ST_sclass().
Referenced by fei_object().
static void cwh_stab_adjust_name | ( | ST * | st | ) | [static] |
Definition at line 2246 of file cwh_stab.cxx.
References c, cwh_auxst_stem_name(), NULL, PU_is_mainpu(), Pu_Table, s, ST_name(), ST_pu(), and strcpy.
Referenced by fei_proc_def().
static ST* cwh_stab_altentry_temp | ( | char * | name, |
BOOL | hosted | ||
) | [static] |
Definition at line 3193 of file cwh_stab.cxx.
References Altbase_ST, Basic, Be_Type_Tbl, byte_to_bit, C_omplex, cast_to_TY, CLASS_VAR, CURRENT_SYMTAB, cwh_auxst_clear(), cwh_stab_address_temp_ST(), cwh_stab_to_list_of_equivs(), cwh_types_mk_equiv_TY(), EXPORT_LOCAL, FALSE, fei_descriptor(), MTYPE_CQ, New_ST(), NULL, Save_Str(), SCLASS_AUTO, Set_ST_base(), Set_ST_ofst(), size, ST_Init(), t_TY, and TY_size().
Referenced by fei_object().
TY_IDX cwh_stab_altentry_TY | ( | ST * | st, |
BOOL | expr | ||
) |
Definition at line 3038 of file cwh_stab.cxx.
References Be_Type_Tbl, DevAssert, KIND_SCALAR, max, MTYPE_C4, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I8, MTYPE_is_complex, MTYPE_is_float, ST_base(), ST_ofst(), ST_type(), TY_kind(), TY_mtype(), and TY_size().
Referenced by cwh_addr_pstid(), cwh_addr_stid(), and cwh_stmt_return_altentry().
static void cwh_stab_altres_offset | ( | ST * | st, |
BOOL | hosted | ||
) | [static] |
Definition at line 2862 of file cwh_stab.cxx.
References Altbase_ST, Be_Type_Tbl, cwh_auxst_add_item(), cwh_auxst_next_element(), cwh_stab_altres_offset_comp(), DevAssert, FALSE, I_element, KIND_SCALAR, KIND_STRUCT, l_RETURN_TEMPS, MTYPE_C4, MTYPE_C8, MTYPE_F4, MTYPE_F8, MTYPE_I8, MTYPE_is_integral, NULL, return(), Set_ST_auxst_altentry_shareTY, Set_ST_base(), Set_TY_size(), ST_base(), ST_has_nested_ref(), ST_type(), TRUE, TY_kind(), TY_mtype(), TY_size(), and Ty_Table.
Referenced by fei_object().
static void cwh_stab_altres_offset_comp | ( | ST * | st, |
BOOL | allF4C4 | ||
) | [static] |
Definition at line 2990 of file cwh_stab.cxx.
References Be_Type_Tbl, MTYPE_C4, MTYPE_F4, MTYPE_I8, MTYPE_is_complex, MTYPE_is_float, Set_ST_ofst(), ST_base(), ST_type(), TY_mtype(), and TY_size().
Referenced by cwh_stab_altres_offset().
static ST* cwh_stab_common_ST | ( | char * | name, |
INT64 | size, | ||
mUINT16 | al | ||
) | [static] |
Definition at line 2786 of file cwh_stab.cxx.
References CLASS_VAR, CURRENT_SYMTAB, cwh_auxst_clear(), cwh_stab_pu_has_globals, cwh_types_mk_common_TY(), EXPORT_PREEMPTIBLE, GLOBAL_SYMTAB, New_ST(), s, Save_Str(), SCLASS_COMMON, Scope_tab, Set_ST_base(), Set_ST_ofst(), SCOPE::st, ST_Init(), and TRUE.
Referenced by cwh_stab_split_ST(), and fei_seg().
WN* cwh_stab_const | ( | ST * | st | ) |
Definition at line 1963 of file cwh_stab.cxx.
References Const_Opcode, ST_type(), TY_mtype(), wn, and WN_CreateConst().
Referenced by fei_constant().
ST* cwh_stab_const_ST | ( | WN * | wn | ) |
Definition at line 1936 of file cwh_stab.cxx.
References Be_Type_Tbl, DevAssert, Enter_tcon(), Host_To_Targ(), New_Const_Sym(), OPR_CONST, OPR_INTCONST, WN_const_val(), WN_st(), WNOPR, and WNRTY.
Referenced by fei_smt_parameter().
static void cwh_stab_distrib_pragmas | ( | ST * | st | ) | [static] |
Definition at line 3093 of file cwh_stab.cxx.
References cwh_auxst_distr_preg(), cwh_block_append_given_id(), cwh_load_distribute_temp(), cwh_preg_next_preg(), decl_distribute_pragmas, DevAssert, FALSE, File_info, First_Block, Get_Current_PU(), KIND_ARRAY, MTYPE_I4, NULL, OPC_I4STID, OPC_PRAGMA, OPC_XPRAGMA, PREG_det::preg, preg_for_distribute, PREG_det::preg_st, PREG_det::preg_ty, SCLASS_FORMAL, Set_FILE_INFO_needs_lno(), Set_PU_mp_needs_lno(), Set_ST_is_reshaped(), ST_sclass(), ST_st_idx(), ST_type(), TY_kind(), TY_pointed(), wn, WN_CreateStid(), WN_ITER_wn, WN_opcode(), WN_pragma(), WN_PRAGMA_DISTRIBUTE_RESHAPE, WN_st_idx(), WN_WALK_StmtIter(), and WN_WALK_StmtNext().
Referenced by fei_object().
static void cwh_stab_dump_FIELDS | ( | FIELDS | fp_table, |
INT32 | from, | ||
INT32 | to | ||
) | [static] |
Definition at line 2675 of file cwh_stab.cxx.
References FIELDS_first_offset, FIELDS_fp, FIELDS_last_offset, FIELDS_prev_array_index, and ST_name().
static ST* cwh_stab_earlier_common | ( | char * | name_string, |
BOOL | is_duplicate | ||
) | [static] |
Definition at line 3383 of file cwh_stab.cxx.
References Commons_Already_Seen, I_element, I_next, L_first, NULL, ST_auxst_is_module_data, and ST_name().
static ST* cwh_stab_earlier_hosted | ( | const char * | name | ) | [static] |
Definition at line 2184 of file cwh_stab.cxx.
References CLASS_VAR, Host_STs, Host_Top, NULL, ST_class(), and ST_name().
Referenced by fei_object(), and fei_seg().
void cwh_stab_emit_commons_and_equivalences | ( | SYMTAB_IDX | level | ) |
Definition at line 3277 of file cwh_stab.cxx.
References Commons_Already_Seen, cwh_stab_emit_list(), cwh_stab_full_split(), cwh_stab_mk_flds(), Equivalences, FE_Full_Split, fp, GLOBAL_SYMTAB, HOST_LEVEL, Hosted_Equivalences, l_COMLIST, and l_EQVLIST.
Referenced by fei_proc_body(), and PDGCS_terminate().
static void cwh_stab_emit_list | ( | LIST ** | lp, |
enum list_name | list, | ||
void(*)(ST *, enum list_name) | fp | ||
) | [static] |
Definition at line 3314 of file cwh_stab.cxx.
References cwh_auxst_free_list(), fp, I_element, I_next, L_first, and NULL.
Referenced by cwh_stab_emit_commons_and_equivalences().
static void cwh_stab_emit_split | ( | ST * | c, |
FIELDS | fp_table, | ||
INT32 | from, | ||
INT32 | to | ||
) | [static] |
Definition at line 2712 of file cwh_stab.cxx.
References cwh_auxst_add_item(), FIELDS_first_offset, FIELDS_fp, l_COMLIST, Set_ST_base(), Set_ST_ofst(), and ST_ofst().
Referenced by cwh_stab_split_common().
void cwh_stab_end_procs | ( | void | ) |
Definition at line 2152 of file cwh_stab.cxx.
References Current_scope, CURRENT_SYMTAB, cwh_auxst_clear_per_PU(), cwh_auxst_free(), cwh_auxst_un_register_table(), cwh_stab_free_packet(), Delete_Scope(), entry_point_count, FALSE, Has_nested_proc, and IN_NESTED_PU.
Referenced by PDGCS_end_procs().
static void cwh_stab_enter_hosted | ( | ST * | st | ) | [static] |
Definition at line 2210 of file cwh_stab.cxx.
References Host_Current_Size, HOST_ST_SIZE_CHANGE, Host_STs, and Host_Top.
Referenced by fei_object(), and fei_seg().
static void cwh_stab_find_overlaps | ( | FIELDS | fp_table, |
INT32 | nf | ||
) | [static] |
Definition at line 2483 of file cwh_stab.cxx.
References FIELDS_first_offset, and FIELDS_last_offset.
Referenced by cwh_stab_full_split().
static void cwh_stab_formal_ref | ( | ST * | st, |
BOOL | host | ||
) | [static] |
Definition at line 2372 of file cwh_stab.cxx.
References cwh_types_mk_pointer_TY(), KIND_SCALAR, KIND_STRUCT, SCLASS_FORMAL_REF, Set_ST_sclass(), Set_ST_type(), ST_is_value_parm(), ST_type(), and TY_kind().
Referenced by fei_object().
static void cwh_stab_free_packet | ( | void | ) | [static] |
Definition at line 2122 of file cwh_stab.cxx.
References free(), al::next, NULL, and STB_list.
Referenced by cwh_stab_end_procs().
static void cwh_stab_full_split | ( | ST * | c, |
enum list_name | list | ||
) | [static] |
Definition at line 2403 of file cwh_stab.cxx.
References cwh_auxst_get_list(), cwh_auxst_next_element(), cwh_stab_find_overlaps(), cwh_stab_mk_flds(), cwh_stab_split_common(), DevAssert, FIELDS_first_offset, FIELDS_fp, FIELDS_last_offset, free(), I_element, l_COMLIST, L_first, L_last, L_num, l_SPLITLIST, NULL, return(), ST_is_initialized(), ST_ofst(), ST_type(), TY_is_volatile(), and TY_size().
Referenced by cwh_stab_emit_commons_and_equivalences().
ST* cwh_stab_main_ST | ( | void | ) |
Definition at line 2326 of file cwh_stab.cxx.
References Main_ST.
static void cwh_stab_mk_flds | ( | ST * | blk, |
enum list_name | list | ||
) | [static] |
Definition at line 3340 of file cwh_stab.cxx.
References cwh_auxst_get_list(), cwh_auxst_next_element(), cwh_types_mk_element(), DevAssert, I_element, L_num, NULL, and return().
Referenced by cwh_stab_emit_commons_and_equivalences(), and cwh_stab_full_split().
ST* cwh_stab_mk_fn_0args | ( | char * | name, |
ST_EXPORT | eclass, | ||
SYMTAB_IDX | level, | ||
TY_IDX | rty | ||
) |
Definition at line 3460 of file cwh_stab.cxx.
References CLASS_FUNC, cwh_auxst_clear(), cwh_stab_mk_pu(), cwh_types_mk_procedure_TY(), FALSE, GLOBAL_SYMTAB, New_ST(), Save_Str(), SCLASS_EXTERN, Set_PU_need_unparsed(), Set_ST_ofst(), ST_Init(), and TRUE.
Referenced by cwh_intrin_make_intrinsic_symbol(), and fei_proc_imp().
static PU_IDX cwh_stab_mk_pu | ( | TY_IDX | pty, |
SYMTAB_IDX | level | ||
) | [static] |
Definition at line 3497 of file cwh_stab.cxx.
References New_PU(), and PU_Init().
Referenced by cwh_stab_mk_fn_0args(), fei_proc_def(), fei_proc_imp(), and fei_proc_interface().
static ST* cwh_stab_module_ST | ( | char * | name, |
INT64 | size, | ||
mUINT16 | al | ||
) | [static] |
Definition at line 2819 of file cwh_stab.cxx.
References CLASS_VAR, CURRENT_SYMTAB, cwh_auxst_clear(), cwh_stab_pu_has_globals, cwh_types_mk_module_TY(), EXPORT_PREEMPTIBLE, GLOBAL_SYMTAB, New_ST(), Save_Str(), SCLASS_MODULE, Set_ST_base(), Set_ST_ofst(), ST_Init(), and TRUE.
STB_pkt* cwh_stab_packet | ( | void * | thing, |
enum is_form | fm | ||
) |
Definition at line 2077 of file cwh_stab.cxx.
References cwh_stab_packet_typed().
Referenced by fei_arith_con(), fei_constant(), fei_interface(), fei_name(), fei_namelist(), fei_next_func_idx(), fei_object(), fei_proc_def(), fei_proc_imp(), fei_proc_interface(), and fei_seg().
STB_pkt* cwh_stab_packet_typed | ( | void * | thing, |
enum is_form | fm, | ||
TY_IDX | ty | ||
) |
Definition at line 2097 of file cwh_stab.cxx.
References al::form, al::item, al::next, STB_list, and al::ty.
Referenced by cwh_stab_packet(), and fei_constant().
static ST* cwh_stab_seen_common_element | ( | ST * | c, |
INT64 | offset, | ||
char * | name | ||
) | [static] |
Definition at line 3417 of file cwh_stab.cxx.
References cwh_auxst_next_element(), I_element, l_COMLIST, NULL, ST_name(), and ST_ofst().
Referenced by fei_object().
ST* cwh_stab_seen_derived_type_or_imported_var | ( | ST * | c, |
char * | name | ||
) |
Definition at line 3435 of file cwh_stab.cxx.
References cwh_auxst_next_element(), I_element, l_TYMDLIST, NULL, ST_base(), ST_name(), and ST_pu().
Referenced by fei_gen_st_for_type(), fei_imported_type(), and fei_object().
void cwh_stab_set_linenum | ( | ST * | st, |
INT32 | lineno | ||
) |
Definition at line 2341 of file cwh_stab.cxx.
References cwh_auxst_srcpos_addr(), cwh_dst_enter_path(), global_to_local_file(), global_to_local_line_number(), last_file_name, NULL, USRCPOS_filenum, and USRCPOS_linenum.
Referenced by fei_object(), fei_proc_def(), fei_proc_interface(), and fei_smt_parameter().
void cwh_stab_set_symtab | ( | ST * | st | ) |
Definition at line 1922 of file cwh_stab.cxx.
References Current_scope, and PU_lexical_level().
Referenced by PDGCS_new_proc().
void cwh_stab_set_tylist_for_entries | ( | ST * | proc | ) |
Definition at line 3252 of file cwh_stab.cxx.
References cwh_auxst_next_element(), cwh_auxst_set_tylist(), I_element, l_ALTENTRY, and NULL.
Referenced by fei_proc_body().
static BOOL cwh_stab_split_common | ( | ST * | c, |
FIELDS | fp_table, | ||
INT32 | nf | ||
) | [static] |
Definition at line 2537 of file cwh_stab.cxx.
References cwh_auxst_add_item(), cwh_stab_emit_split(), cwh_stab_split_ST(), FALSE, FE_Full_Split_Array_Limit, FE_Full_Split_Limits, FE_Full_Split_Limits_Count, FIELDS_first_offset, FIELDS_fp, FIELDS_last_offset, FIELDS_prev_array_index, KIND_ARRAY, l_SPLITLIST, need_to_split(), Set_ST_is_thread_private(), ST_is_thread_private(), ST_type(), TRUE, TY_align(), TY_kind(), and TY_size().
Referenced by cwh_stab_full_split().
static ST* cwh_stab_split_ST | ( | ST * | c, |
INT64 | low_off, | ||
INT64 | high_off | ||
) | [static] |
Definition at line 2742 of file cwh_stab.cxx.
References byte_to_bit, cwh_stab_common_ST(), free(), name, Set_ST_base(), Set_ST_is_split_common(), Set_ST_is_thread_private(), Set_ST_ofst(), Set_TY_split(), ST_is_thread_private(), ST_name(), ST_type(), strcpy, TY_align(), and Ty_Table.
Referenced by cwh_stab_split_common().
ST* cwh_stab_temp_ST | ( | TY_IDX | ty, |
char * | name | ||
) |
Definition at line 2020 of file cwh_stab.cxx.
References cwh_auxst_clear(), cwh_expr_temp_set_pragma(), and Gen_Temp_Symbol().
Referenced by cwh_intrin_sync_intrin(), cwh_types_make_bounds_ST(), and fei_new_select().
static void cwh_stab_to_list_of_equivs | ( | ST * | st, |
BOOL | hosted | ||
) | [static] |
Definition at line 3232 of file cwh_stab.cxx.
References cwh_auxst_add_to_list(), Equivalences, FALSE, and Hosted_Equivalences.
Referenced by cwh_stab_altentry_temp(), and fei_seg().
INTPTR fei_arith_con | ( | TYPE | type, |
SLONG * | start | ||
) |
Definition at line 738 of file cwh_stab.cxx.
References cast_to_int, cast_to_TY, cwh_stab_packet(), d, DevAssert, Enter_tcon(), f, Host_To_Targ_Complex(), Host_To_Targ_Complex_4(), Host_To_Targ_Complex_Quad(), Host_To_Targ_Float(), Host_To_Targ_Float_4(), Host_To_Targ_Quad(), Intconst_Opcode, is_ST, is_WN, MTYPE_C4, MTYPE_C8, MTYPE_CQ, MTYPE_F4, MTYPE_F8, MTYPE_FQ, MTYPE_I1, MTYPE_I2, MTYPE_I4, MTYPE_I8, MTYPE_is_float, MTYPE_is_integral, MTYPE_is_void, MTYPE_U8, New_Const_Sym(), op_form, OPC_U8INTCONST, q1, t_TY, TY_mtype(), wn, and WN_CreateIntconst().
Referenced by cvrt_exp_to_pdg(), fei_constant(), get_basic_type(), and send_attr_ntry().
INTPTR fei_interface | ( | char * | name_string, |
INT32 | nitems, | ||
INT32 | kind_interface, | ||
INT32 | is_imported | ||
) |
Definition at line 3611 of file cwh_stab.cxx.
References block, cast_to_int, cast_to_void, CLASS_VAR, CURRENT_SYMTAB, cwh_auxst_clear(), cwh_block_append_given_id(), cwh_stab_packet(), cwh_stk_pop_WN(), EXPORT_LOCAL, FALSE, First_Block, is_ST, MTYPE_V, New_ST(), OPR_INTERFACE, Save_Str(), SCLASS_AUTO, Set_ST_is_assign_interface(), Set_ST_is_external(), Set_ST_is_operator_interface(), Set_ST_is_u_operator_interface(), Set_ST_ofst(), ST_Init(), ST_st_idx(), wn, WN_Create(), WN_kid(), and WN_st_idx().
Referenced by send_interface_list().
Definition at line 1871 of file cwh_stab.cxx.
References cast_to_int, CURRENT_SYMTAB, DevAssert, LABEL_Init(), LKIND_DEFAULT, LKIND_INTERNAL, LKIND_LOOP_GEN, New_LABEL(), PDGCS_Lbl_Format, PDGCS_Lbl_Internal, PDGCS_Lbl_LoopInternal, PDGCS_Lbl_User, and Save_Str().
Referenced by send_label().
Definition at line 1727 of file cwh_stab.cxx.
References cast_to_int, cast_to_ST, cast_to_STB, cast_to_void, cwh_auxst_add_dummy(), cwh_auxst_add_to_list(), cwh_auxst_find_dummy(), cwh_mkdepend_add_name(), cwh_stab_packet(), DevAssert, entry_point_count, FALSE, al::form, IS_FORMAL, is_LIST, is_ST, al::item, NULL, Sym_Namelist, Sym_Null, and Sym_Object.
Referenced by cvrt_exp_to_pdg(), send_darg_list(), send_derived_type(), send_namelist_group(), and send_procedure().
INTPTR fei_namelist | ( | char * | name_string, |
INT32 | nitems, | ||
INTPTR | idx, | ||
INT32 | in_model | ||
) |
Definition at line 1797 of file cwh_stab.cxx.
References block, cast_to_int, cast_to_STB, cast_to_void, CLASS_VAR, CURRENT_SYMTAB, cwh_auxst_add_list(), cwh_auxst_clear(), cwh_auxst_next_element(), cwh_block_append_given_id(), cwh_stab_packet(), cwh_types_mk_namelist_TY(), DevAssert, EXPORT_LOCAL, FALSE, First_Block, al::form, GLOBAL_SYMTAB, I_element, is_LIST, is_ST, al::item, l_NAMELIST, MTYPE_V, New_ST(), NULL, OPC_IDNAME, OPR_NAMELIST, Save_Str(), SCLASS_AUTO, Set_ST_is_external(), Set_ST_is_in_module(), Set_ST_ofst(), ST_Init(), ST_st_idx(), wn, WN_Create(), WN_kid(), and WN_st_idx().
Referenced by send_namelist_group().
INTPTR fei_next_func_idx | ( | INT32 | Pu_arg, |
INT32 | Proc_arg, | ||
INT32 | altentry_idx | ||
) |
Definition at line 128 of file cwh_stab.cxx.
References Altaddress_ST, Altbase_ST, Alttemp_ST, cast_to_int, cast_to_void, cwh_auxst_register_table(), cwh_stab_packet(), entry_point_count, Equivalences, FALSE, FE_Mempool, Has_nested_proc, HOST_LEVEL, Host_Top, Hosted_Equivalences, INTERNAL_LEVEL, is_CONST, New_Scope(), NOT_IN_PU, NULL, PDGCS_Proc_Intern, STB_list, and TRUE.
Referenced by cvrt_sytb_to_pdg(), and send_mod_file_name().
INTPTR fei_object | ( | char * | name_string, |
TYPE | type, | ||
INT64 | flag_bits, | ||
INT32 | Sym_class_arg, | ||
INTPTR | storage_idx, | ||
INT32 | arg_num, | ||
INTPTR | ptr_st_idx, | ||
INT64 | offset, | ||
INT32 | arg_intent, | ||
INT64 | size, | ||
INT32 | type_aux, | ||
INT32 | alignment, | ||
INT32 | distr_idx, | ||
INT32 | node_1, | ||
INT32 | node_2, | ||
INT32 | lineno, | ||
INTPTR | modst_idx | ||
) |
Definition at line 942 of file cwh_stab.cxx.
References Altaddress_ST, bit_to_byte, cast_to_int, cast_to_SCLASS, cast_to_ST, cast_to_STB, cast_to_TY, Clear_ST_pt_to_unique_mem(), Compiler_Temp, CRI_Pointee, CURRENT_SYMTAB, cwh_auxst_add_dummy(), cwh_auxst_add_item(), cwh_auxst_clear(), cwh_auxst_cri_pointee(), cwh_auxst_patch_proc(), cwh_expr_set_flags(), cwh_stab_adjust_base_name(), cwh_stab_altentry_temp(), cwh_stab_altres_offset(), cwh_stab_distrib_pragmas(), cwh_stab_earlier_hosted(), cwh_stab_enter_hosted(), cwh_stab_formal_ref(), cwh_stab_packet(), cwh_stab_seen_common_element(), cwh_stab_seen_derived_type_or_imported_var(), cwh_stab_set_linenum(), cwh_types_mk_pointer_TY(), cwh_types_mk_procedure_TY(), decl_distribute_pragmas, DevAssert, Dummy_Arg, Dummy_Procedure, EXPORT_LOCAL, f_T_PASSED, FALSE, FEI_OBJECT_ACTUAL_ARG, FEI_OBJECT_ALLOCATE, FEI_OBJECT_ASSUMD_SHAPE, FEI_OBJECT_ASSUMED_SIZE, FEI_OBJECT_DEFERRED_SHAPE, FEI_OBJECT_DV_IS_PTR, FEI_OBJECT_EQUIV, FEI_OBJECT_EXTERNAL, FEI_OBJECT_IN_COMMON, FEI_OBJECT_IN_MODULE, FEI_OBJECT_INNER_DEF, FEI_OBJECT_INNER_REF, FEI_OBJECT_NAMELIST_ITEM, FEI_OBJECT_NOT_PT_TO_UNIQUE_MEM, FEI_OBJECT_OFF_ASSIGNED, FEI_OBJECT_OPTIONAL, FEI_OBJECT_PARAMETER, FEI_OBJECT_PRIVATE, FEI_OBJECT_READ_ONLY, FEI_OBJECT_RESULT_TEMP, FEI_OBJECT_SF_DARG, FEI_OBJECT_TARGET, al::form, Function_Rslt, Get_Current_PU(), GLOBAL_SYMTAB, Has_Base_Block(), HOST_LEVEL, Hosted_Compiler_Temp, Hosted_Dummy_Arg, Hosted_Dummy_Procedure, Hosted_User_Variable, IN_NESTED_PU, interface_pu, IS_AUTO_OR_FORMAL, IS_COMMON, IS_FORMAL, is_SCLASS, is_ST, is_UNDEF, al::item, KIND_POINTER, KIND_SCALAR, KIND_STRUCT, l_COMLIST, l_EQVLIST, l_TYMDLIST, Make_F90_Pointer_Type(), MTYPE_CQ, Name, New_ST(), NULL, object_map, PU_has_altentry(), PU_is_nested_func(), Pu_Table, Save_Str(), SCLASS_AUTO, SCLASS_BASED, SCLASS_COMMON, SCLASS_DGLOBAL, SCLASS_FORMAL, SCLASS_FORMAL_REF, SCLASS_MODULE, Scope_tab, Set_ST_auxst_is_allocatable, Set_ST_auxst_is_assumed_shape, Set_ST_auxst_is_assumed_size, Set_ST_auxst_is_auto_or_cpointer, Set_ST_auxst_is_f90_pointer, Set_ST_auxst_is_non_contiguous, Set_ST_auxst_is_rslt_tmp, Set_ST_auxst_is_tmp, Set_ST_base(), Set_ST_has_nested_ref(), Set_ST_is_allocatable(), Set_ST_is_const_var(), Set_ST_is_equivalenced(), Set_ST_is_external(), Set_ST_is_f90_target(), Set_ST_is_in_module(), Set_ST_is_initialized(), Set_ST_is_intent_in_argument(), Set_ST_is_intent_out_argument(), Set_ST_is_my_pointer(), Set_ST_is_not_used(), Set_ST_is_optional_argument(), Set_ST_is_parameter(), Set_ST_is_private(), Set_ST_is_return_var(), Set_ST_is_temp_var(), Set_ST_is_value_parm(), Set_ST_name, Set_ST_ofst(), Set_ST_pt_to_unique_mem(), Set_ST_sclass(), Set_ST_type(), Set_TY_align(), Set_TY_is_f90_assumed_shape(), Set_TY_is_f90_assumed_size(), Set_TY_is_f90_deferred_shape(), Set_TY_is_f90_pointer(), SCOPE::st, ST_base(), ST_Init(), ST_is_in_module(), ST_is_return_var(), ST_level(), ST_name(), ST_ofst(), ST_pu(), ST_sclass(), ST_type(), STRUCT_BY_VALUE, t_TY, test_flag, TRUE, TY_is_f90_pointer(), TY_kind(), TY_mtype(), and TY_pointed().
Referenced by send_attr_ntry(), and send_dummy_procedure().
INTPTR fei_pattern_con | ( | TYPE | type, |
char * | start, | ||
INT64 | bitsize | ||
) |
Definition at line 838 of file cwh_stab.cxx.
References cast_to_int, cast_to_TY, FALSE, Gen_String_Sym(), Host_To_Targ_String(), MTYPE_STRING, t_TY, and TY_size().
Referenced by fei_constant(), and send_attr_ntry().
INTPTR fei_proc | ( | char * | name_string, |
INT32 | lineno, | ||
INT32 | Sym_class_arg, | ||
INT32 | Class_arg, | ||
INT32 | num_dum_args, | ||
INT32 | parent_stx, | ||
INT32 | first_st_idx, | ||
INT32 | alt_entry_idx, | ||
TYPE | result_type, | ||
INT32 | proc_idx, | ||
INT64 | flags, | ||
INT32 | in_interface, | ||
INT32 | coarray_concurrent | ||
) |
Definition at line 183 of file cwh_stab.cxx.
References fei_proc_def(), FEI_PROC_DEFINITION, fei_proc_imp(), FEI_PROC_IMPORTED, FEI_PROC_IN_INTERFACE, fei_proc_interface(), FEI_PROC_PARENT, fei_proc_parent(), and test_flag.
Referenced by send_procedure().
INTPTR fei_proc_def | ( | char * | name_string, |
INT32 | lineno, | ||
INT32 | Sym_class_arg, | ||
INT32 | Class_arg, | ||
INT32 | unused1, | ||
INT32 | unused2, | ||
INT32 | num_dum_args, | ||
INT32 | parent_stx, | ||
INT32 | first_st_idx, | ||
INT32 | alt_entry_idx, | ||
TYPE | result_type, | ||
INT32 | cmcs_node, | ||
INT32 | proc_idx, | ||
INT64 | flags, | ||
INT32 | coarray_concurrent | ||
) |
Definition at line 288 of file cwh_stab.cxx.
References cast_to_int, cast_to_ST, cast_to_STB, cast_to_TY, CLASS_FUNC, crayf90_def_main, Current_scope, CURRENT_SYMTAB, cwh_add_to_module_files_table(), cwh_auxst_add_item(), cwh_auxst_add_to_list(), cwh_auxst_alloc_proc_entry(), cwh_auxst_clear(), cwh_auxst_find_item(), cwh_block_init_pu(), cwh_stab_adjust_name(), cwh_stab_mk_pu(), cwh_stab_packet(), cwh_stab_pu_has_globals, cwh_stab_set_linenum(), cwh_types_mk_procedure_TY(), def_main, DevWarn(), entry_point_count, EXPORT_LOCAL_INTERNAL, EXPORT_OPTIONAL, EXPORT_PREEMPTIBLE, F90_Module, FALSE, FEI_PROC_ELEMENTAL, FEI_PROC_ENTRY, FEI_PROC_HAS_ALT_ENTRY, FEI_PROC_HASRSLT, fei_proc_imp(), FEI_PROC_IN_INTERFACE, FEI_PROC_MODULE, FEI_PROC_OPTIONAL_DIR, FEI_PROC_RECURSE, Fort_Blockdata, GLOBAL_SYMTAB, Has_nested_proc, idx, is_ST, l_ALTENTRY, PU::lexical_level, Main_Pgm, Main_ST, New_ST(), NULL, PDGCS_Proc_Extern, PDGCS_Proc_Imported, PDGCS_Proc_Intern, PREG_det::preg, preg_for_distribute, Procedure_ST, Pu_Table, Save_Str(), SCLASS_TEXT, Scope_tab, Set_PU_f90_lang(), Set_PU_has_altentry(), Set_PU_is_inline_function(), Set_PU_is_mainpu(), Set_PU_is_nested_func(), Set_PU_need_unparsed(), Set_PU_no_inline(), Set_PU_prototype(), Set_PU_recursive(), Set_PU_uplevel(), Set_ST_auxst_has_rslt_tmp, Set_ST_auxst_is_altentry, Set_ST_auxst_is_elemental, Set_ST_export(), Set_ST_is_coarray_concurrent(), Set_ST_is_in_module(), Set_ST_ofst(), Set_ST_pu(), Set_ST_sclass(), SCOPE::st, st_for_distribute_temp, ST_Init(), ST_name(), ST_pu(), still_in_preamble, t_TY, test_flag, Top_Text, and TRUE.
Referenced by fei_proc().
INTPTR fei_proc_imp | ( | INT32 | lineno, |
char * | name_string, | ||
INT32 | unused1, | ||
INT32 | unused2, | ||
INT32 | Sclass_arg, | ||
INT32 | Class_arg, | ||
TYPE | result_type, | ||
INT64 | flags, | ||
INT32 | in_interface | ||
) |
Definition at line 604 of file cwh_stab.cxx.
References cast_to_int, cast_to_TY, Copy_ST(), CURRENT_SYMTAB, cwh_auxst_add_to_list(), cwh_auxst_find_item(), cwh_stab_mk_fn_0args(), cwh_stab_mk_pu(), cwh_stab_packet(), cwh_types_mk_procedure_TY(), EXPORT_INTRINSIC, EXPORT_LOCAL_INTERNAL, EXPORT_OPTIONAL, EXPORT_PREEMPTIBLE, F90_Module, FALSE, FEI_PROC_ELEMENTAL, FEI_PROC_HASRSLT, FEI_PROC_M_IMPORTED, FEI_PROC_MODULE, FEI_PROC_OPTIONAL_DIR, HOST_LEVEL, Iname_Map, INTERNAL_LEVEL, is_ST, NULL, NUM_INAMEMAP, PDGCS_Proc_Imported, PDGCS_Proc_Intern_Ref, PDGCS_Proc_SrcIntrin, SCLASS_EXTERN, Set_PU_decl_view(), Set_PU_need_unparsed(), Set_ST_auxst_has_rslt_tmp, Set_ST_auxst_is_elemental, Set_ST_base(), Set_ST_emit_symbol(), Set_ST_is_in_module(), Set_ST_ofst(), ST::storage_class, t_TY, test_flag, Top_Text, TRUE, ST::type, and ST::u2.
Referenced by fei_proc(), fei_proc_def(), and fei_proc_parent().
INTPTR fei_proc_interface | ( | char * | name_string, |
INT32 | lineno, | ||
INT32 | Sym_class_arg, | ||
INT32 | Class_arg, | ||
INT32 | unused1, | ||
INT32 | unused2, | ||
INT32 | num_dum_args, | ||
INT32 | parent_stx, | ||
INT32 | first_st_idx, | ||
INT32 | alt_entry_idx, | ||
TYPE | result_type, | ||
INT32 | cmcs_node, | ||
INT32 | proc_idx, | ||
INT64 | flags, | ||
INT32 | coarray_concurrent | ||
) |
Definition at line 485 of file cwh_stab.cxx.
References cast_to_int, cast_to_TY, CLASS_FUNC, CURRENT_SYMTAB, cwh_auxst_add_item(), cwh_auxst_add_to_list(), cwh_auxst_alloc_proc_entry(), cwh_auxst_clear(), cwh_auxst_find_item(), cwh_stab_mk_pu(), cwh_stab_packet(), cwh_stab_set_linenum(), cwh_types_mk_procedure_TY(), entry_point_count, EXPORT_PREEMPTIBLE, FALSE, FEI_PROC_ELEMENTAL, FEI_PROC_ENTRY, FEI_PROC_HAS_ALT_ENTRY, FEI_PROC_HASRSLT, FEI_PROC_MODULE, FEI_PROC_RECURSE, GLOBAL_SYMTAB, idx, is_ST, l_ALTENTRY, New_ST(), NULL, PREG_det::preg, preg_for_distribute, Procedure_ST, Pu_Table, Save_Str(), SCLASS_TEXT, Set_PU_has_altentry(), Set_PU_need_unparsed(), Set_PU_recursive(), Set_ST_auxst_has_rslt_tmp, Set_ST_auxst_is_altentry, Set_ST_auxst_is_elemental, Set_ST_is_coarray_concurrent(), Set_ST_is_in_module(), Set_ST_ofst(), st_for_distribute_temp, ST_Init(), ST_pu(), t_TY, test_flag, Top_Text, and TRUE.
Referenced by fei_proc().
INTPTR fei_proc_parent | ( | char * | name_string, |
INT32 | lineno, | ||
INT32 | Sym_class_arg, | ||
INT32 | unused, | ||
INT32 | num_dum_args, | ||
INT32 | parent_stx, | ||
INT32 | first_st_idx, | ||
INT32 | aux_idx, | ||
TYPE | result_type, | ||
INTPTR | st_idx, | ||
INT64 | flags | ||
) |
Definition at line 870 of file cwh_stab.cxx.
References cast_to_ST, cast_to_STB, Current_scope, FEI_PROC_HAS_ALT_ENTRY, fei_proc_imp(), Get_Current_PU(), GLOBAL_SYMTAB, al::item, PDGCS_Proc_Imported, PU_lexical_level(), Scope_tab, Set_PU_has_altentry(), SCOPE::st, and test_flag.
Referenced by fei_proc().
void fei_rename_list | ( | char * | name_string | ) |
Definition at line 1558 of file cwh_stab.cxx.
References CLASS_NAME, CURRENT_SYMTAB, cwh_stk_push(), EXPORT_LOCAL, New_ST(), Save_Str(), SCLASS_UNKNOWN, ST_Init(), and ST_item.
Referenced by cvrt_exp_to_pdg().
void fei_reset_in_interface_processing | ( | ) |
Definition at line 3671 of file cwh_stab.cxx.
References interface_pu.
Referenced by send_interface_list().
INTPTR fei_seg | ( | char * | name_string, |
INT32 | Seg_type_arg, | ||
INT32 | owner, | ||
INT32 | parent, | ||
INT32 | aux_index, | ||
INT32 | flag_bits, | ||
INT32 | nest_level, | ||
INT64 | block_length | ||
) |
Definition at line 1593 of file cwh_stab.cxx.
References cast_to_int, cast_to_void, CLASS_VAR, Commons_Already_Seen, CURRENT_SYMTAB, cwh_auxst_add_item(), cwh_auxst_add_to_list(), cwh_auxst_clear(), cwh_stab_common_ST(), cwh_stab_earlier_hosted(), cwh_stab_enter_hosted(), cwh_stab_packet(), cwh_stab_to_list_of_equivs(), cwh_types_mk_equiv_TY(), EXPORT_LOCAL, FALSE, FEI_SEG_DUPLICATE, FEI_SEG_EQUIVALENCED, FEI_SEG_EXTERNAL, FEI_SEG_MODULE, FEI_SEG_SAVED, FEI_SEG_THREADPRIVATE, FEI_SEG_VOLATILE, HOST_LEVEL, is_SCLASS, is_ST, l_DST_COMLIST, New_ST(), NULL, Procedure_ST, Save_Str(), SCLASS_AUTO, SCLASS_PSTATIC, Scope_tab, Seg_Common, Seg_Non_Local_Stack, Seg_Static_Local, segment_map, Set_ST_auxst_is_module_data, Set_ST_base(), Set_ST_has_nested_ref(), Set_ST_is_external(), Set_ST_is_in_module(), Set_ST_is_temp_var(), Set_ST_is_thread_private(), Set_ST_not_gprel(), Set_ST_ofst(), Set_ST_sclass(), Set_ST_type(), Set_TY_is_volatile(), SCOPE::st, ST_Init(), ST_type(), test_flag, and TRUE.
Referenced by send_stor_blk().
void fei_set_in_interface_processing | ( | ) |
Definition at line 3665 of file cwh_stab.cxx.
References interface_pu.
Referenced by send_interface_list().
INTPTR fei_smt_parameter | ( | char * | name_string, |
TYPE | type, | ||
INTPTR | con_idx, | ||
INT32 | Class, | ||
INT32 | lineno | ||
) |
Definition at line 3521 of file cwh_stab.cxx.
References cast_to_int, cast_to_ST, cast_to_STB, cast_to_TY, cast_to_WN, CLASS_PARAMETER, CURRENT_SYMTAB, cwh_auxst_add_item(), cwh_auxst_stem_name(), cwh_stab_const_ST(), cwh_stab_set_linenum(), EXPORT_LOCAL, al::form, free(), is_ST, is_WN, al::item, l_DST_PARMLIST, len, name, New_ST(), NULL, Procedure_ST, Save_Str(), SCLASS_UNKNOWN, Set_ST_base(), Set_ST_sclass(), ST_Init(), ST_sclass(), strcpy, t_TY, TY_is_character(), and wn.
Referenced by send_attr_ntry().
static BOOL need_to_split | ( | INT64 | cur_offset, |
INT64 | base_offset, | ||
INT64 | rel_offset, | ||
int | delta | ||
) | [static] |
Definition at line 2649 of file cwh_stab.cxx.
Referenced by cwh_stab_split_common().
char* source_file = __FILE__ [static] |
Definition at line 66 of file cwh_stab.cxx.