Open64 (mfef90, whirl2f, and IR tools)  TAG: version-openad; SVN changeset: 916
p_dcl_util.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 dependency graph for p_dcl_util.c:

Go to the source code of this file.

Functions

static int ntr_bnds_tmp_list (opnd_type *)
static boolean parse_int_spec_expr (long *, fld_type *, boolean, boolean)
static void parse_kind_selector (void)
static boolean is_attr_referenced_in_bound (int, int)
int parse_array_spec (int attr_idx)
boolean parse_generic_spec (void)
intent_type parse_intent_spec ()
void parse_length_selector (int attr_idx, boolean i_can_have_len_equal, boolean parsing_length_selector)
boolean parse_type_spec (boolean chk_kind)
boolean merge_access (int attr_idx, int line, int column, access_type access)
boolean merge_allocatable (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_automatic (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_dimension (int attr_idx, int line, int column, int array_idx)
boolean merge_data (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_external (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_intent (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_intrinsic (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_optional (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_pointer (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_save (boolean chk_semantics, int line, int column, int attr_idx)
boolean merge_target (boolean chk_semantics, int line, int column, int attr_idx)
int generic_spec_semantics (void)
int parse_pe_array_spec (int attr_idx)
boolean merge_co_array (boolean chk_semantics, int line, int column, int attr_idx, int pe_array_idx)
boolean merge_volatile (boolean chk_semantics, int line, int column, int attr_idx)

Variables

static char USMID [] = "\n@(#)5.0_pl/sources/p_dcl_util.c 5.7 10/28/99 10:03:56\n"
static boolean kind0seen
static boolean kind0E0seen
static boolean kind0D0seen
static boolean kindconstseen

Function Documentation

int generic_spec_semantics ( void  )

Definition at line 3245 of file p_dcl_util.c.

References And_Opr, Asg_Opr, AT_ATTR_LINK, AT_DEF_COLUMN, AT_DEF_LINE, AT_ELEMENTAL_INTRIN, AT_IS_INTRIN, AT_MODULE_IDX, AT_NAME_IDX, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_REFERENCED, AT_Tbl_Idx, AT_TYPED, AT_USE_ASSOCIATED, ATD_SEEN_OUTSIDE_IMP_DO, ATD_TYPE_IDX, ATI_DEFINED_OPR, ATI_FIRST_SPECIFIC_IDX, ATI_INTERFACE_CLASS, ATI_PROC_IDX, ATI_USER_SPECIFIED, ATP_PROC, ATP_RSLT_IDX, Char_Rslt_Bound_Ref, cif_flags, CIF_Symbol_Declaration, cif_usage_rec(), CLEAR_VARIANT_ATTR_INFO, complete_intrinsic_definition(), Concat_Opr, COPY_COMMON_ATTR_INFO, COPY_VARIANT_ATTR_INFO, CREATE_ERR_ATTR, CURR_BLK, curr_scp_idx, Data_Obj, Defined_Assign_Interface, Defined_Binary_Interface, Defined_Unary_Interface, Defined_Unary_Or_Binary_Interface, Div_Opr, Eq_Opr, Eqv_Opr, Error, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, Ge_Opr, Generic_Unknown_Interface, Gt_Opr, Interface, Interface_Stmt, INTRINSIC_SCP_IDX, Le_Opr, Lg_Opr, LN_ATTR_IDX, LN_DEF_LOC, LN_NAME_IDX, Lt_Opr, Minus_Opr, Module_Blk, Module_Proc, Mult_Opr, Ne_Opr, Neqv_Opr, Not_Opr, NTR_ATTR_TBL, ntr_host_in_sym_tbl(), ntr_sym_tbl(), NULL, NULL_IDX, Null_Opr, Obj_Generic_Interface, Or_Opr, Pgm_Unit, Plus_Opr, Power_Opr, PRINTMSG(), SET_IMPL_TYPE, srch_host_sym_tbl(), srch_sym_tbl(), stmt_type, Tok_Id, Tok_Op_Add, Tok_Op_And, Tok_Op_Assign, Tok_Op_Concat, Tok_Op_Defined, Tok_Op_Div, Tok_Op_Eq, Tok_Op_Eqv, Tok_Op_Ge, Tok_Op_Gt, Tok_Op_Le, Tok_Op_Lg, Tok_Op_Lt, Tok_Op_Mult, Tok_Op_Ne, Tok_Op_Neqv, Tok_Op_Not, Tok_Op_Or, Tok_Op_Power, Tok_Op_Sub, token, TOKEN_COLUMN, TOKEN_LEN, TOKEN_LINE, TOKEN_STR, TRACE, TRUE, and XREF_RECS.

Referenced by parse_access_stmt(), and parse_interface_stmt().

Here is the call graph for this function:

boolean merge_allocatable ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)

Definition at line 1743 of file p_dcl_util.c.

References Ansi, AT_OBJ_NAME_PTR, ATD_ALLOCATABLE, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, NULL, Obj_Allocatable, PRINTMSG(), SET_IMPL_TYPE, TRACE, and TRUE.

Referenced by parse_allocatable_stmt(), and parse_type_dcl_stmt().

Here is the call graph for this function:

boolean merge_co_array ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx,
int  pe_array_idx 
)

Definition at line 3922 of file p_dcl_util.c.

References ATD_PE_ARRAY_IDX, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, NULL, Obj_Co_Array, TRACE, and TRUE.

Referenced by parse_attrs(), and parse_type_dcl_stmt().

Here is the call graph for this function:

boolean merge_data ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)

Definition at line 2153 of file p_dcl_util.c.

References AT_DEFINED, ATD_CLASS, ATD_DATA_INIT, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, NULL, Obj_Data_Init, TRACE, TRUE, and Variable.

Referenced by parse_data_imp_do(), parse_data_stmt(), and parse_type_dcl_stmt().

Here is the call graph for this function:

boolean merge_intent ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)
boolean merge_optional ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)
boolean merge_pointer ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)
boolean merge_save ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)

Definition at line 2719 of file p_dcl_util.c.

References Ansi, AT_OBJ_NAME_PTR, ATD_CLASS, ATD_SAVED, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, NULL, Obj_Saved, PRINTMSG(), SET_IMPL_TYPE, TRACE, TRUE, and Variable.

Referenced by parse_save_stmt(), and parse_type_dcl_stmt().

Here is the call graph for this function:

boolean merge_target ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)
boolean merge_volatile ( boolean  chk_semantics,
int  line,
int  column,
int  attr_idx 
)

Definition at line 3971 of file p_dcl_util.c.

References Ansi, AT_OBJ_NAME_PTR, ATD_VOLATILE, FALSE, fnd_semantic_err(), Func_Entry, Func_Exit, NULL, Obj_Volatile, PRINTMSG(), SET_IMPL_TYPE, TRACE, and TRUE.

Referenced by parse_type_dcl_stmt(), and parse_volatile_stmt().

Here is the call graph for this function:

Definition at line 927 of file p_dcl_util.c.

References AL_ATTR_IDX, AL_NEXT_IDX, Ansi, AT_ATTR_LINK, AT_CIF_SYMBOL_ID, AT_DCL_ERR, AT_DEF_COLUMN, AT_DEF_LINE, AT_LOCKED_IN, AT_NAME_IDX, AT_NOT_VISIBLE, AT_OBJ_CLASS, AT_OBJ_NAME_PTR, AT_Tbl_Idx, AT_TYPED, AT_WORK_IDX, ATD_TYPE_IDX, ATT_STRUCT_BIT_LEN_FLD, ATT_STRUCT_BIT_LEN_IDX, ATT_TY_IDX, basic_type_str, CHARACTER_DEFAULT_TYPE, CIF_Derived_Type_Name_Reference, cif_flags, cif_usage_rec(), CLEAR_ATTR_NTRY, CLEAR_TBL_NTRY, CLEAR_VARIANT_ATTR_INFO, cmd_line_flags, CN_INT_TO_C, CN_INTEGER_ZERO_IDX, CN_Tbl_Idx, COMMA, Complex, Complex_16, Complex_4, Complex_8, COMPLEX_DEFAULT_TYPE, COPY_ATTR_NTRY, CREATE_ERR_ATTR, curr_scp_idx, curr_stmt_sh_idx, Derived_Type, DOUBLE_COMPLEX_TYPE_IDX, DOUBLE_PRECISION_TYPE_IDX, on_off_flags_entry::enable_double_precision, EQUAL, Err_Res, Error, FALSE, Find_None, Find_Rparen, fnd_semantic_err(), Func_Entry, Func_Exit, Function_Stmt, Implicit_Stmt, Integer, Integer_1, Integer_2, Integer_4, Integer_8, INTEGER_DEFAULT_TYPE, LA_CH_VALUE, LN_ATTR_IDX, LN_NAME_IDX, Logical, Logical_1, Logical_2, Logical_4, Logical_8, LOGICAL_DEFAULT_TYPE, LPAREN, matched_specific_token(), MATCHED_TOKEN_CLASS, NEXT_LA_CH, NTR_ATTR_LIST_TBL, ntr_host_in_sym_tbl(), ntr_sym_tbl(), ntr_type_tbl(), NULL, NULL_IDX, Obj_Use_Derived_Type, on_off_flags, parse_err_flush(), parse_kind_selector(), parse_length_selector(), PRINTMSG(), Real, Real_16, Real_4, Real_8, REAL_DEFAULT_TYPE, reset_lex(), RPAREN, cmd_line_flags_entry::s_cf77types, cmd_line_flags_entry::s_default32, SCP_CIF_ERR_LIST, SH_ERR_FLG, srch_host_sym_tbl(), srch_sym_tbl(), STAR, Star_Typed, stmt_type, Structure, Structure_Type, target_ieee, target_triton, Tok_Class_Id, Tok_Class_Int_Spec, Tok_Class_Keyword, Tok_Kwd_Byte, Tok_Kwd_Character, Tok_Kwd_Complex, Tok_Kwd_Double, Tok_Kwd_Integer, Tok_Kwd_Kind, Tok_Kwd_Logical, Tok_Kwd_Precision, Tok_Kwd_Real, Tok_Kwd_Type, token, TOKEN_BUF_IDX, TOKEN_COLUMN, TOKEN_CONST_TBL_IDX, TOKEN_LEN, TOKEN_LINE, TOKEN_STMT_NUM, TOKEN_STR, TRACE, TRUE, TYP_DCL_VALUE, TYP_DESC, TYP_IDX, TYP_LINEAR, TYP_TYPE, TYP_WORK_IDX, type_tbl, TYPELESS_DEFAULT_TYPE, Warning, and XREF_RECS.

Referenced by parse_cpnt_dcl_stmt(), parse_implicit_stmt(), parse_type_dcl_stmt(), and parse_typed_function_stmt().

Here is the call graph for this function:


Variable Documentation

boolean kind0D0seen [static]

Definition at line 69 of file p_dcl_util.c.

Referenced by parse_int_spec_expr(), and parse_kind_selector().

boolean kind0E0seen [static]

Definition at line 68 of file p_dcl_util.c.

Referenced by parse_int_spec_expr(), and parse_kind_selector().

boolean kind0seen [static]

Definition at line 67 of file p_dcl_util.c.

Referenced by parse_int_spec_expr(), and parse_kind_selector().

Definition at line 70 of file p_dcl_util.c.

Referenced by parse_int_spec_expr(), and parse_kind_selector().

char USMID[] = "\n@(#)5.0_pl/sources/p_dcl_util.c 5.7 10/28/99 10:03:56\n" [static]

Definition at line 37 of file p_dcl_util.c.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines