osprey/kgccfe/gnu/objc/objc-act.c File Reference

#include "config.h"
#include "system.h"
#include "tree.h"
#include "rtl.h"
#include "expr.h"
#include "c-tree.h"
#include "c-lex.h"
#include "c-common.h"
#include "flags.h"
#include "objc-act.h"
#include "input.h"
#include "except.h"
#include "function.h"
#include "output.h"
#include "toplev.h"
#include "ggc.h"
#include "cpplib.h"
#include "debug.h"
#include "target.h"
#include "objc-tree.def"
#include "obstack.h"

Include dependency graph for objc-act.c:

Go to the source code of this file.

Defines

#define OBJC_GEN_METHOD_LABEL(BUF, IS_INST, CLASS_NAME, CAT_NAME, SEL_NAME, NUM)
#define OBJC_FORWARDING_STACK_OFFSET   0
#define OBJC_FORWARDING_MIN_OFFSET   0
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH)   TYPE,
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH)   LENGTH,
#define DEFTREECODE(SYM, NAME, TYPE, LEN)   NAME,
#define obstack_chunk_alloc   xmalloc
#define obstack_chunk_free   free
#define OBJC_VERSION   (flag_next_runtime ? 5 : 8)
#define PROTOCOL_VERSION   2
#define OBJC_ENCODE_INLINE_DEFS   0
#define OBJC_ENCODE_DONT_INLINE_DEFS   1
#define TYPE_ID   "id"
#define TAG_OBJECT   "objc_object"
#define TAG_CLASS   "objc_class"
#define TAG_SUPER   "objc_super"
#define TAG_SELECTOR   "objc_selector"
#define UTAG_CLASS   "_objc_class"
#define UTAG_IVAR   "_objc_ivar"
#define UTAG_IVAR_LIST   "_objc_ivar_list"
#define UTAG_METHOD   "_objc_method"
#define UTAG_METHOD_LIST   "_objc_method_list"
#define UTAG_CATEGORY   "_objc_category"
#define UTAG_MODULE   "_objc_module"
#define UTAG_STATICS   "_objc_statics"
#define UTAG_SYMTAB   "_objc_symtab"
#define UTAG_SUPER   "_objc_super"
#define UTAG_SELECTOR   "_objc_selector"
#define UTAG_PROTOCOL   "_objc_protocol"
#define UTAG_PROTOCOL_LIST   "_objc_protocol_list"
#define UTAG_METHOD_PROTOTYPE   "_objc_method_prototype"
#define UTAG_METHOD_PROTOTYPE_LIST   "_objc__method_prototype_list"
#define STRING_OBJECT_GLOBAL_NAME   "_NSConstantStringClassReference"
#define PROTOCOL_OBJECT_CLASS_NAME   "Protocol"
#define BUFSIZE   1024
#define CSTSTRCLASS   "-fconstant-string-class="
#define USERTYPE(t)
#define METHOD_DEF   0
#define METHOD_REF   1
#define RAW_TYPESPEC(meth)   (TREE_VALUE (TREE_PURPOSE (TREE_TYPE (meth))))

Enumerations

enum  string_section { class_names, meth_var_names, meth_var_types }

Functions/Subroutines

static void init_objc PARAMS ((void))
static tree build_constructor PARAMS ((tree, tree))
static tree init_module_descriptor PARAMS ((tree))
static tree build_objc_method_call PARAMS ((int, tree, tree, tree, tree, tree))
static tree build_ivar_chain PARAMS ((tree, int))
static tree
build_category_initializer 
PARAMS ((tree, tree, tree, tree, tree, tree))
static tree
build_protocol_initializer 
PARAMS ((tree, tree, tree, tree, tree))
static tree
synth_id_with_class_suffix 
PARAMS ((const char *, tree))
static int check_methods_accessible PARAMS ((tree, tree, int))
static void encode_aggregate_within PARAMS ((tree, int, int, int, int))
static const char *objc_demangle PARAMS ((const char *))
static void hash_enter PARAMS ((hash *, tree))
static void hash_add_attr PARAMS ((hash, tree))
static tree add_objc_string PARAMS ((tree, enum string_section))
static tree build_objc_string_decl PARAMS ((enum string_section))
static void encode_pointer PARAMS ((tree, int, int))
static void encode_bitfield PARAMS ((int))
static void warn_with_method PARAMS ((const char *, int, tree))
static void error_with_ivar PARAMS ((const char *, tree, tree))
static char *gen_method_decl PARAMS ((tree, char *))
static char *gen_declarator PARAMS ((tree, char *, const char *))
static void dump_interface PARAMS ((FILE *, tree))
static tree create_builtin_decl PARAMS ((enum tree_code, tree, const char *))
static tree my_build_string PARAMS ((int, const char *))
static tree objc_copy_list PARAMS ((tree, tree *))
static tree
generate_descriptor_table 
PARAMS ((tree, const char *, int, tree, tree))
static tree generate_ivars_list PARAMS ((tree, const char *, int, tree))
static tree
build_shared_structure_initializer 
PARAMS ((tree, tree, tree, tree, tree, int, tree, tree, tree))
static tree check_duplicates PARAMS ((hash))
static void check_protocol PARAMS ((tree, const char *, const char *))
static void gen_declspecs PARAMS ((tree, char *, int))
const char * objc_init (char *filename) const
void finish_file ()
int objc_decode_option (int argc, char **argv)
static tree define_decl (tree declarator, tree declspecs)
int maybe_objc_comptypes (tree lhs, tree rhs, int reflexive)
static tree lookup_method_in_protocol_list (tree rproto_list, tree sel_name, int class_meth)
static tree lookup_protocol_in_reflist (tree rproto_list, tree lproto)
int objc_comptypes (tree lhs, tree rhs, int reflexive)
void objc_check_decl (tree decl)
void maybe_objc_check_decl (tree decl)
tree get_static_reference (tree interface, tree protocols)
tree get_object_reference (tree protocols)
static void check_protocol_recursively (tree proto, tree list)
static tree lookup_and_install_protocols (tree protocols)
static tree create_builtin_decl (enum tree_code code, tree type, const char *name)
static void setup_string_decl ()
static void synth_module_prologue ()
static void build_string_class_template ()
static tree my_build_string (int len, const char *str)
tree build_objc_string_object (tree strings)
static tree objc_add_static_instance (tree constructor, tree class_decl)
static tree build_constructor (tree type, tree elts)
static void build_objc_symtab_template ()
static tree init_def_list (tree type)
static tree init_objc_symtab (tree type)
static void forward_declare_categories ()
static void generate_objc_symtab_decl ()
static tree init_module_descriptor (tree type)
static rtx build_module_descriptor ()
static void generate_forward_declaration_to_string_table ()
static tree get_objc_string_decl (tree ident, enum string_section section)
static void generate_static_references ()
static void generate_strings ()
static tree build_selector_reference_decl ()
static tree build_selector (tree ident)
static void build_selector_translation_table ()
static tree get_proto_encoding (tree proto)
static tree build_typed_selector_reference (tree ident, tree proto)
static tree build_selector_reference (tree ident)
static tree build_class_reference_decl ()
static void add_class_reference (tree ident)
tree get_class_reference (tree ident)
static tree add_objc_string (tree ident, enum string_section section)
static tree build_objc_string_decl (enum string_section section)
void objc_declare_alias (tree alias_ident, tree class_ident)
void objc_declare_class (tree ident_list)
tree is_class_name (tree ident)
tree lookup_interface (tree ident)
static tree objc_copy_list (tree list, tree *head)
static tree build_ivar_chain (tree interface, int copy)
static tree build_private_template (tree class)
static tree build_protocol_template ()
static tree build_descriptor_table_initializer (tree type, tree entries)
static tree build_method_prototype_list_template (tree list_type, int size)
static tree build_method_prototype_template ()
static int forwarding_offset (tree parm)
static tree encode_method_prototype (tree method_decl, tree func_decl)
static tree generate_descriptor_table (tree type, const char *name, int size, tree list, tree proto)
static void generate_method_descriptors (tree protocol)
static tree build_tmp_function_decl ()
static void hack_method_prototype (tree nst_methods, tree tmp_decl)
static void generate_protocol_references (tree plist)
static void generate_protocols ()
static tree build_protocol_initializer (tree type, tree protocol_name, tree protocol_list, tree instance_methods, tree class_methods)
static void build_category_template ()
static void build_selector_template ()
static void build_class_template ()
static void synth_forward_declarations ()
static void error_with_ivar (char *message, tree decl, tree rawdecl) const
static void check_ivars (tree inter, tree imp)
static tree build_super_template ()
static tree build_ivar_template ()
static tree build_ivar_list_template (tree list_type, int size)
static tree build_method_list_template (tree list_type, int size)
static tree build_ivar_list_initializer (tree type, tree field_decl)
static tree generate_ivars_list (tree type, const char *name, int size, tree list)
static void generate_ivar_lists ()
static tree build_dispatch_table_initializer (tree type, tree entries)
static tree build_method_template ()
static tree generate_dispatch_table (tree type, const char *name, int size, tree list)
static void generate_dispatch_tables ()
static tree generate_protocol_list (tree i_or_p)
static tree build_category_initializer (tree type, tree cat_name, tree class_name, tree instance_methods, tree class_methods, tree protocol_list)
static tree build_shared_structure_initializer (tree type, tree isa, tree super, tree name, tree size, int status, tree dispatch_table, tree ivar_list, tree protocol_list)
static void generate_category (tree cat)
static void generate_shared_structures ()
static tree synth_id_with_class_suffix (char *preamble, tree ctxt) const
static int is_objc_type_qualifier (tree node)
static tree adjust_type_for_id_default (tree type)
tree build_keyword_decl (tree key_name, tree arg_type, tree arg_name)
static tree build_keyword_selector (tree selector)
tree build_method_decl (enum tree_code code, tree ret_type, tree selector, tree add_args)
static tree get_arg_type_list (tree meth, int context, int superflag)
static tree check_duplicates (hash hsh)
static tree receiver_is_class_object (tree receiver)
tree maybe_building_objc_message_expr ()
tree build_message_expr (tree mess)
tree finish_message_expr (tree receiver, tree sel_name, tree method_params)
static tree build_objc_method_call (int super_flag, tree method_prototype, tree lookup_object, tree object, tree selector, tree method_params)
static void build_protocol_reference (tree p)
tree build_protocol_expr (tree protoname)
tree build_selector_expr (tree selnamelist)
tree build_encode_expr (tree type)
tree build_ivar_reference (tree id)
static size_t hash_func (tree sel_name)
static void hash_init ()
static void hash_enter (hash *hashlist, tree method)
static hash hash_lookup (hash *hashlist, tree sel_name)
static void hash_add_attr (hash entry, tree value)
static tree lookup_method (tree mchain, tree method)
static tree lookup_instance_method_static (tree interface, tree ident)
static tree lookup_class_method_static (tree interface, tree ident)
tree add_class_method (tree class, tree method)
tree add_instance_method (tree class, tree method)
static tree add_class (tree class)
static void add_category (tree class, tree category)
tree add_instance_variable (tree class, int public, tree declarator, tree declspecs, tree width)
tree is_ivar (tree decl_chain, tree ident)
int is_private (tree decl)
int is_public (tree expr, tree identifier)
tree get_class_ivars (tree interface)
static int check_methods (tree chain, tree list, int mtype)
static int conforms_to_protocol (tree class, tree protocol)
static int check_methods_accessible (tree chain, tree context, int mtype)
static void check_protocol (tree p, const char *type, const char *name)
static void check_protocols (tree proto_list, const char *type, const char *name)
tree start_class (enum tree_code code, tree class_name, tree super_name, tree protocol_list)
tree continue_class (tree class)
void finish_class (tree class)
static tree add_protocol (tree protocol)
static tree lookup_protocol (tree ident)
void objc_declare_protocols (tree names)
tree start_protocol (enum tree_code code, tree name, tree list)
void finish_protocol (protocol)
static void encode_type_qualifiers (tree declspecs)
static void encode_pointer (tree type, int curtype, int format)
static void encode_array (tree type, int curtype, int format)
static void encode_aggregate_within (tree type, int curtype, int format, int left, int right)
static void encode_aggregate (tree type, int curtype, int format)
static void encode_bitfield (int width)
static void encode_type (tree type, int curtype, int format)
static void encode_complete_bitfield (int position, tree type, int size)
static void encode_field_decl (tree field_decl, int curtype, int format)
static tree expr_last (tree complex_expr)
void start_method_def (tree method)
static void warn_with_method (char *message, int mtype, tree method) const
static int comp_method_with_proto (tree method, tree proto)
static int comp_proto_with_proto (tree proto0, tree proto1)
static void really_start_method (tree method, tree parmlist)
void continue_method_def ()
void add_objc_decls ()
tree get_super_receiver ()
static tree encode_method_def (tree func_decl)
static void objc_expand_function_end ()
void finish_method_def ()
static int is_complex_decl (tree type)
static void adorn_decl (tree decl, char *str)
static char * gen_declarator (tree decl, char *buf, const char *name)
static void gen_declspecs (tree declspecs, char *buf, int raw)
static char * gen_declaration (tree atype_or_adecl, char *buf)
static void gen_declaration_1 (tree atype_or_adecl, char *buf)
static char * gen_method_decl (tree method, char *buf)
static void dump_interface (FILE *fp, tree chain)
static const char * objc_demangle (char *mangled) const
static const char * objc_printable_name (tree decl, kind)
static void add_objc_tree_codes ()
static void init_objc ()
static void finish_objc ()
static void generate_classref_translation_entry (tree chain)
static void handle_class_ref (tree chain)
static void handle_impent (struct imp_entry *impent)
static void ggc_mark_imp_list (void *arg)
static void ggc_mark_hash_table (void *arg)
static void objc_act_parse_init ()
tree lookup_objc_ivar (tree id)

Variables

static const char objc_tree_code_type []
static const int objc_tree_code_length []
static const char *const objc_tree_code_name []
static struct obstack util_obstack
char * util_firstobj
hashnst_method_hash_list = 0
hashcls_method_hash_list = 0
static int offset_is_register
static tree building_objc_message_expr = 0
static char tmpbuf [256]


Define Documentation

#define BUFSIZE   1024

Referenced by init_objc(), and kai_mhalloc().

#define CSTSTRCLASS   "-fconstant-string-class="

Referenced by objc_decode_option().

#define DEFTREECODE ( SYM,
NAME,
TYPE,
LEN   )     NAME,

Definition at line 116 of file objc-act.c.

#define DEFTREECODE ( SYM,
NAME,
TYPE,
LENGTH   )     LENGTH,

Definition at line 116 of file objc-act.c.

#define DEFTREECODE ( SYM,
NAME,
TYPE,
LENGTH   )     TYPE,

Definition at line 116 of file objc-act.c.

#define METHOD_DEF   0

Definition at line 4641 of file objc-act.c.

Referenced by comp_method_with_proto(), and get_arg_type_list().

#define METHOD_REF   1

Definition at line 4642 of file objc-act.c.

Referenced by build_objc_method_call(), and comp_proto_with_proto().

#define OBJC_ENCODE_DONT_INLINE_DEFS   1

Definition at line 149 of file objc-act.c.

Referenced by build_ivar_list_initializer().

#define OBJC_ENCODE_INLINE_DEFS   0

#define OBJC_FORWARDING_MIN_OFFSET   0

Definition at line 86 of file objc-act.c.

#define OBJC_FORWARDING_STACK_OFFSET   0

Definition at line 82 of file objc-act.c.

#define OBJC_GEN_METHOD_LABEL ( BUF,
IS_INST,
CLASS_NAME,
CAT_NAME,
SEL_NAME,
NUM   ) 

Value:

do {              \
    char *temp;           \
    sprintf ((BUF), "_%s_%s_%s_%s",     \
       ((IS_INST) ? "i" : "c"),     \
       (CLASS_NAME),        \
       ((CAT_NAME)? (CAT_NAME) : ""), \
       (SEL_NAME));       \
    for (temp = (BUF); *temp; temp++)     \
      if (*temp == ':') *temp = '_';      \
  } while (0)

Definition at line 67 of file objc-act.c.

#define OBJC_VERSION   (flag_next_runtime ? 5 : 8)

Definition at line 144 of file objc-act.c.

Referenced by init_module_descriptor().

#define obstack_chunk_alloc   xmalloc

Definition at line 128 of file objc-act.c.

#define obstack_chunk_free   free

Definition at line 129 of file objc-act.c.

#define PROTOCOL_OBJECT_CLASS_NAME   "Protocol"

#define PROTOCOL_VERSION   2

Definition at line 145 of file objc-act.c.

Referenced by build_protocol_initializer().

#define RAW_TYPESPEC ( meth   )     (TREE_VALUE (TREE_PURPOSE (TREE_TYPE (meth))))

Definition at line 7897 of file objc-act.c.

Referenced by gen_method_decl().

#define STRING_OBJECT_GLOBAL_NAME   "_NSConstantStringClassReference"

Referenced by setup_string_decl().

#define TAG_CLASS   "objc_class"

#define TAG_OBJECT   "objc_object"

#define TAG_SELECTOR   "objc_selector"

#define TAG_SUPER   "objc_super"

#define TYPE_ID   "id"

Referenced by _xcreate_shackle_map_for_arrays_in_func(), Actual_cvtl_type(), Actual_data_size(), Actual_result_type(), Add_Ordered_XPragmas(), LAT_DIRECTED_GRAPH16::Add_Vertices_Op_Edges_Rec(), Adjust_signed_type(), Affinity_Array_Lower_Bound(), Affinity_Array_Upper_Bound(), Allocate_Result_TN(), Analyse_Dependencies(), Apply_Back_Sub_Invariant(), Apply_Back_Sub_Variant(), Apply_Interleave(), Array_Is_HFA(), AssignPregExprPos(), Atomic_Direct(), Atomic_Using_Swap(), aux_CvtRnd(), aux_CvtTrunc(), AWN_Binary(), AWN_LdidSym(), AWN_StidIntoSym(), BND_Max_Expr(), BND_Min_Expr(), ARRAY_REF::Build_Array(), by_value(), Can_Be_Tail_Call(), canonicalize_if_condition(), Cast_Float_Operands(), CG_End_Final(), CG_Init_Func_Infos(), CG_Instrument_Arcs(), CG_Region_Initialize(), CGEMIT_Print_Variable_Info(), CGTARG_Load_From_Memory(), CGTARG_Store_To_Memory(), CGTARG_TN_For_Asm_Operand(), Change_types_to_32bit(), check_do_loop_for(), check_size(), checkForZero(), ARA_LOOP_INFO::CI_Print(), Compute_Return_Preg_Offset(), Compute_Return_Pregs(), Constant_Propogate(), Convert_Do_Loops_Conditionals(), Convert_Imm_Mul(), Convert_Le_With_Floor_2Lt(), Convert_Regs(), OPT_STAB::Convert_ST_to_AUX(), Copy_Array(), Copy_Array_Section(), Copy_Loads_In_Bound(), REGISTER_MODEL::Count_Op(), count_stats(), count_stats_tuning(), Cray_Type_From_TY(), Create_All_Preg_Symbols(), Create_array(), Create_Copy_Expr(), create_doloop(), Create_DST_type_For_Tree(), Create_Global_ST(), Create_identity_assignment(), Create_Initialize_Loop(), create_lda_of_temp(), ARRAY_LOWER_REF::Create_Local_Blkcyc_Dim(), ARRAY_LOWER_REF::Create_Local_Block_Dim(), ARRAY_LOWER_REF::Create_Local_Cyclic_Dim(), LEGO_INFO::Create_Local_Index(), ARA_LOOP_INFO::Create_New_IF_Clause(), ARA_LOOP_INFO::Create_Old_IF_Clause(), create_pointer_to_node(), ARRAY_LOWER_REF::Create_Remote_Blkcyc_Dim(), ARRAY_LOWER_REF::Create_Remote_Block_Dim(), ARRAY_LOWER_REF::Create_Remote_Cyclic_Dim(), Create_Shackle_If_Per_Stmt(), Create_Simple_Shackle_Loops(), Create_Special_Global_Symbols(), Create_Stride1_Condition_If_Required(), Create_Tmp_Array(), Create_TY_For_Tree(), Create_Unroll_Copy(), createParm(), cwh_addr_ldid(), cwh_addr_stid(), cwh_ceiling_floor(), cwh_convert_to_ty(), cwh_do_tranformational(), cwh_dope_get_dope_fudge_factor(), cwh_dst_basetype(), cwh_dst_mk_const(), cwh_expr_bincalc(), cwh_expr_binop(), cwh_expr_binop_shift(), cwh_expr_compare(), cwh_expr_compare_bitwise(), cwh_expr_unop(), cwh_funny_fp_intrinsic(), cwh_get_highest_type(), cwh_intrin_popcnt_leadz_helper(), cwh_intrin_sync_intrin(), cwh_intrin_wrap_value_parm(), cwh_make_typed_opcode(), cwh_preg_temp_save(), cwh_stab_altentry_TY(), cwh_stab_altres_offset(), cwh_stab_altres_offset_comp(), cwh_stab_const(), cwh_stmt_call_helper(), cwh_stmt_return_altentry(), cwh_stmt_return_scalar(), cwh_types_array_temp_TY(), cwh_types_mk_basic_TY(), cwh_types_mk_logical_TY(), cwh_types_shared_dope(), delete_subset_mem_op(), DISTR_INFO::DISTR_INFO(), Do_Loop_Is_Unsigned(), do_simple(), Do_Wtype(), dummy(), Dv_Type_From_TY(), em_alloca(), em_alog10(), em_bclr(), em_bits(), em_bset(), em_btest(), em_complex_abs(), em_complex_cos(), em_complex_exp(), em_complex_log(), em_complex_sin(), em_complex_sqrt(), em_complex_sqrt_preg(), em_conjg(), em_dim(), em_divfloor(), em_hypot(), em_lshr(), em_mod_float(), em_nearest_int(), em_parity(), em_popcount(), em_prod(), em_quad_abs(), em_quad_neg(), em_shft(), em_shftc(), em_shl(), em_sign(), em_split_select(), emit_builtin_compare_and_swap(), emit_builtin_lock_release(), emit_builtin_lock_test_and_set(), emit_builtin_sync_fetch_op(), emulate_intrinsic_op(), ARRAY_REF::Enter_Innermost_Scalar_Expand(), ARRAY_REF::Enter_Scalar_Expand(), Enter_Scalar_Expandable_Refs(), SYMBOL_TREE::Enter_Scalar_Refs(), Evaluate_chi(), LOOP_MULTIVER::Evaluate_cr_rec(), Execution_Cost_Expr(), Execution_Cost_Value(), OPT_TAIL::Exit_is_well_behaved(), Exp_COPY(), Exp_Intrinsic_Call(), Exp_Landingpadentry_Intrinsic(), Exp_Ldst(), Exp_Select_And_Condition(), Exp_Select_And_VLdid(), Exp_Stid_And_VComp(), Exp_To_Linex_Array(), Expand_64Bit_ALU_OP(), Expand_64Bit_BitLogic_OP(), Expand_64Bit_Compare(), Expand_64Bit_Cvtl(), Expand_64Bit_Load(), Expand_64Bit_Store(), Expand_Branch(), Expand_Composed_Load(), Expand_Composed_Store(), Expand_Convert_Length(), Expand_Extract(), Expand_Immediate_Into_Register(), Expand_Load(), Expand_Logical_And(), Expand_Logical_Not(), Expand_Logical_Or(), Expand_Madd(), Expand_Misaligned_Load(), Expand_Neg(), Expand_OP(), Expand_Select(), Expand_Split_Load(), Expand_Split_Store(), Expand_Sqrt(), expand_start_do_loop(), expand_start_parallel(), expand_start_parallel_for(), expand_start_parallel_sections(), Expand_Store(), Expand_Unsigned_Extract(), Expand_Vote(), ALIAS_CLASSIFICATION::Expr_may_contain_pointer(), Expr_Should_Always_Be_Hoisted(), Extended_Lower_Bound(), Extended_Upper_Bound(), F90_Lower_Alloc_Dealloc(), F90_Lower_Copy_To_ATemp(), F90_Lower_Copy_To_STemp(), F90_Lower_Init(), F90_Lower_Walk(), F90_Wrap_ARREXP(), fei_abs(), fei_addr_con(), fei_arith_con(), fei_as_ref(), fei_bneg(), fei_count(), fei_cvtop(), fei_doloop(), fei_dot_product(), fei_dot_product_logical(), fei_exponent(), fei_exponentiate(), fei_fpclass(), fei_get_dv_hdr_fld(), fei_ibits(), fei_ieee_sign_xfer(), fei_ieee_trunc(), fei_imag(), fei_isfinite(), fei_isnan(), fei_isunordered(), fei_logb(), fei_mask(), fei_matmul(), fei_multiply_high(), fei_mvbits(), fei_near(), fei_new_binop_cshift(), fei_ranf(), fei_remainder(), fei_return(), fei_round(), fei_scalb(), fei_scale(), fei_select(), fei_set_dv_hdr_fld(), fei_set_exponent(), fei_trunc(), Fill_Align_Symbol(), Finalize_Index_Variable(), Finalize_Index_Variable_For_Remove_Unity_Trip_Loop(), Find_Highest_Type_Of_Loop(), Find_Return_Registers(), Find_Simd_Kind(), Fix_TY_mtype(), OPT_TAIL::Fixup_exit(), Fold_Base(), Fold_Offset(), Formal_Machine_Type(), LAT_DIRECTED_GRAPH16::FP_Latency_Madd(), Freeze_Numthreads_Ldid(), Fuse(), Gather_Scatter_Scalar_Expand(), Gather_Vectorizable_Ops(), Gen_Assign_Of_Init_Val(), Gen_exp_wn(), Gen_MP_Reduction(), Gen_Parm_WN(), PF_LG::Gen_Pref_Node(), Gen_quad_preg(), Generate_Assignment_Stmt(), Generate_Blkcyc_Bounds(), Generate_Block_Bounds(), Generate_Block_Bounds_Negative(), ARA_LOOP_INFO::Generate_Copyout_Loop(), Generate_Cyclic_Bounds(), Generate_Dynamic_Bounds(), Generate_Interleaved_Bounds(), ARA_LOOP_INFO::Generate_Parallel_Pragma(), Generate_Runtime_Cyclic_Bounds(), Generate_Simple_Bounds(), generate_tree_from_bounds_info_row(), get_32bit_cilist_item(), Get_64Bit_High_TN(), Get_Array_Dim_Size(), Get_Array_Dimension_LB(), Get_Array_Dimension_Size(), Get_element_mtype(), SUMMARY_FORMAL::Get_machine_type(), SUMMARY_EXPR::Get_mtype(), SUMMARY_VALUE::Get_mtype(), Get_Parameter_Location(), Get_Return_Info(), SUMMARY_CALLSITE::Get_return_type(), ALIAS_RULE::Get_stripped_mtype(), Get_Struct_Parameter_Location(), get_TCON_size(), get_value_type(), Handle_ASM(), Handle_INTRINSIC_OP(), Handle_ISTBITS(), Handle_ISTORE(), Handle_LDID(), Handle_Sink_General_Case(), Handle_Sink_Promotion_Case(), Handle_Sink_Symbolic_Non_Promotion_Case(), Handle_STBITS(), Handle_STID(), HasReturnPreg(), HMB_Hoist_Expressions(), HMB_Replace_Messy_Bounds(), Hoist_Expression(), Hoist_Iload_Ldid_Upper_Bound_One_Level(), IFMM_Convert(), Increase_By(), Initialize_Pdo_Last_Local_Index(), Initialize_Special_Global_Symbols(), WN_INSTRUMENT_WALKER::Instrument_Branch(), WN_INSTRUMENT_WALKER::Instrument_Circuit(), WN_INSTRUMENT_WALKER::Instrument_Compgoto(), WN_INSTRUMENT_WALKER::Instrument_Cselect(), WN_INSTRUMENT_WALKER::Instrument_Switch(), INTR_parameter_type(), INTR_return_mtype(), intrinsic_runtime(), Invert_Conditional(), IPA_constant_in_array_bounds(), IPA_LNO_Annotate_Array_Call(), IPA_LNO_Annotate_Scalar_Call(), IPA_LNO_Read_Terms(), SUMMARIZE< program >::IPL_EX_Call(), IPL_EX_New_Expr_Expr(), IPL_EX_New_Value_Expr(), IPL_EXS_Outer_Fold(), SUMMARIZE< program >::IPL_GEN_Const(), SUMMARIZE< program >::IPL_GEN_Expr(), SUMMARIZE< program >::IPL_GEN_Value(), IPL_LNO_Do_Wtype(), Irb_Init_Integer(), Is_CVT_Noop(), Is_Float_Type(), is_floating_equal(), is_numeric_equal(), WN_Verifier::Is_return_register_of_call(), Is_Valid_Opcode_FUNC(), is_vectorizable_op_stmt(), Lego_Index_From_Access_Vector(), Lego_Skew_Index(), Lego_Skew_Loop(), Lego_Skew_Offset(), Live_Init(), LNOTARGET_Cvt_Lat(), LNOTARGET_Cvt_Res(), Localize_Variable(), SHACKLE_INFO::Loop_Type(), ARRAY_LOWER_REF::Lower_Array_Expr(), Lower_Atomic(), lower_bit_field_id(), Lower_Bound_In_Affinity_Range(), lower_complex_expr(), lower_cvt(), Lower_Fetch_And_Op(), lower_linearize_array_addr(), lower_load_bits(), lower_madd(), lower_maxminloc(), lower_mm_matmul(), lower_mv_matmul(), lower_nary_madd(), lower_quad_expr(), lower_random_number(), lower_recip(), lower_reduction(), lower_return_ldid(), lower_rsqrt(), Lower_Single_Array_Dim(), lower_store_bits(), lower_transformationals(), lower_unpack(), LWN_CreateDivceil(), LWN_CreateDivfloor(), LWN_Integer_Casts(), LWN_Short_Integer_Cast(), make_pointer_to_node(), Make_Reduction_Identity(), Max_Wtype(), Maybe_Handle_Sink_Promotion_Case(), Merge_Section(), MIR_Replace(), move_ext_is_replaced(), Mp_Collapse_Cleanup(), Mp_Coordinate_Call(), Mp_Layout_Call(), Mp_Layout_Load_Pids(), Mp_Trip_Count(), Mp_Version_Loop(), Mp_Version_Parallel_Region(), RECUR_OP_DESC::Mtype(), INITV::Mtype(), Mtype_AlignmentClass(), Mtype_comparison(), Mtype_complex_to_real(), Mtype_from_opc(), Mtype_next_alignment(), Mtype_prev_alignment(), Mtype_Promote_to_A4A8(), Mtype_TransferSign(), Mtype_TransferSize(), NSE_Annotate_Array_Call(), Only_32bit_opnds(), OP_refs_x87(), LOOP_MODEL::OP_Resources_R(), OPCODE_commutative_op(), OPCODE_desc(), OPCODE_name(), OPCODE_rtype(), OPCODE_To_TOP(), Parallelize_Doacross_Loop(), Perform_Gather_Scatter(), LEGO_INFO::Pid0(), LEGO_INFO::Pid1(), Points_To_For_Array_Star(), Post_loop_peeling(), Pre_loop_peeling(), Preg_Is_Rematerializable(), PREG_To_TN(), PREG_To_TN_Clear(), SUMMARIZE< program >::Process_constant_jump_function(), IPO_INLINE::Process_Copy_In(), IPO_INLINE::Process_Copy_In_Copy_Out(), IPO_INLINE::Process_Formal_ST(), Process_Preg_Temps(), Process_Store(), Processor_Update_Inner_Tile(), Processor_Update_Outer_Tile(), Promote_Pointer(), Promote_Type(), REGION_BOUND::Propagate_boundary_up(), Realloc_Preg_To_TN_Arrays(), reassoc_expr(), Rebuild_rtype(), ETABLE::Recursive_rehash_and_replace(), REGION_Entry_PREG_Whirl(), REGION_Exit_PREG_Whirl(), Remove_Floor_From_One_Sided_Cond(), Repair_Call_BB(), Replace_Equality_Check(), Replace_Formal_By_Actual(), Replace_Index_Variable(), Replace_Wnexp_With_Exp_Copy(), Reset_param_list(), return_conversion(), return_types_are_compatible(), return_upper_bound(), return_upper_boundplus1(), RETYPE_EXPR_expr(), Rewrite_Bounds(), Rewrite_Pragmas_On_Structs(), RV_Reverse_Index_Ldid(), SA_Set_SimdOps_Info1(), scalar_rename(), SE_Array(), SE_Findxs(), SE_Iload(), SE_Indxs_and_Bounds(), SE_Istore(), SE_Wrap_Array(), Set_up_all_preg_symbols(), Set_Up_Equivalence_Classes(), Setup_Preg_Pointers(), SHACKLE_INFO::SHACKLE_INFO(), Shrink_to_32bit(), Simd(), Simd_Align_Analysis(), Simd_Align_Generate_Peel_Loop(), Simd_Get_Vector_Type(), Simd_Handle_Negative_Coefficient(), Simd_Mark_Code(), Simd_Vectorize_Constants(), Simd_Vectorize_Induction_Variables(), Simd_Vectorize_Invariants(), Simd_Vectorize_Scalar_Reduction(), Simd_Vectorize_SimdOp_And_Kids(), simp_abs(), simp_add_sub(), simp_band(), simp_bior(), simp_bnor(), simp_bxor(), simp_cvt(), simp_cvtl(), simp_diff_value(), simp_div(), simp_eq_neq(), SIMP_Flt_ConstVal(), simp_land(), simp_lior(), simp_mod_rem(), simp_neg(), simp_power(), simp_recip(), simp_relop(), simp_shift(), simp_times(), simple_intrinsic(), simple_intrinsic_nt(), Simplify_Cond_With_Div_Floor(), SIMPNODE_SimplifyExp3(), SIMPNODE_SimplifyIntrinsic(), SNL_GEN_2D_Regtile(), SNL_Inner_Machine_Cost(), SNL_INV_Cache_Block(), SNL_Opr(), SNL_Optimize_LB_With_Access_Vectors(), SNL_Optimize_UB_With_Access_Vectors(), SNL_Regtile_Loop(), SNL_SPL_Fix_Second_Outer_Loop_Limits(), SNL_TRANS_INDEX_DATA::SNL_TRANS_INDEX_DATA(), Solve_For(), Split_Array(), PF_LOOPNODE::Split_Loops(), Split_Using_Preg(), ST_is_const_initialized_scalar(), STD_Canonicalize_Upper_Bound(), Struct_Is_HFA(), synth_module_prologue(), Targ_Conv(), Targ_WhirlOp(), SUMMARY_DESC::Target_mtype(), SUMMARY_VALUE::Target_mtype(), TAS_To_TOP(), Toggle_Eq_To_Remove_One(), Transform_Code(), AGGINIT::Traverse_Aggregate_Struct(), Traverse_TYs(), WN_INSTRUMENT_WALKER::Tree_Walk_Node(), Trip_Count(), Trip_Reduce_Loop(), Twod_Setbound(), TY_Of_Expr(), TY_Verify_Kind_Mtype(), Types_Are_Compatible(), Types_are_compatible(), types_are_compatible(), U64_LOWER_expr(), U64_LOWER_stmt_wn(), U64_lower_stmtrep(), Union_Formal_Cprop_Annot(), Union_Formal_Cprop_Annot_With_Cloning(), Union_Quasi_Clone_Cprop_Annot(), unop_routine(), Unroll_Make_Remainder_Loop(), unroll_multi_bb(), unroll_multi_make_remainder_loop(), Unroll_Replicate_Body(), update_linex_with_constant_mod(), Upper_Bound_In_Affinity_Range(), Upper_Bound_Standardize(), vho_lower_combine_loads(), vho_lower_comma(), vho_lower_cselect(), vho_lower_expr(), VHO_Lower_Mstid(), vho_lower_rcomma(), VHO_Lower_Switch(), Vintrinsic_Fission(), Walk_Linex(), ARA_LOOP_INFO::Walk_Rhs(), WFE_Add_Aggregate_Init_Double(), WFE_Add_Aggregate_Init_Integer(), WFE_Address_Of(), WFE_Alloca_ST(), Wfe_Expand_Asm_Operands(), WFE_Expand_End_Case(), WFE_Expand_Expr(), WFE_Expand_Return(), WFE_Expand_Start_Case(), WFE_Generate_Thunk(), WFE_Lhs_Of_Modify_Expr(), WFE_Save_Expr(), WFE_Unsave_Expr(), AGGINIT::WGEN_Add_Aggregate_Init_Integer(), WGEN_Address_Of(), WGEN_Adjust_Thunk(), Wgen_Expand_Asm_Operands(), WGEN_Expand_Expr(), WGEN_Expand_Return(), WGEN_Expand_Start_Case(), WGEN_Generate_Thunk(), WGEN_Lhs_Of_Modify_Expr(), WGEN_Save_Expr(), Wind_Down(), WN2F_Is_Address_Preg(), WN_ATOMIC_STORE_Lowering_Class(), WN_Can_Be_Speculative(), WN_Coerce(), WN_desc(), WN_emulation(), WN_ExprToNaryType(), WN_Float_Type_Conversion(), WN_Iload(), WN_Int_Type_Conversion(), WN_Ldid(), wn_loop_reverse_compare(), WN_LOOP_TripCount(), WN_Nary(), WN_NaryToExpr(), WN_RotateIntconst(), WN_rtype(), WN_Single_Iteration_Cost(), WN_Solve_For(), WN_Type_Conversion(), and WN_Upper_Bound_Standardize().

#define USERTYPE (  ) 

Value:

(TREE_CODE (t) == RECORD_TYPE || TREE_CODE (t) == UNION_TYPE \
  ||  TREE_CODE (t) == ENUMERAL_TYPE)

Definition at line 3478 of file objc-act.c.

#define UTAG_CATEGORY   "_objc_category"

Referenced by build_category_template().

#define UTAG_CLASS   "_objc_class"

#define UTAG_IVAR   "_objc_ivar"

Referenced by build_ivar_template().

#define UTAG_IVAR_LIST   "_objc_ivar_list"

#define UTAG_METHOD   "_objc_method"

Referenced by build_method_template().

#define UTAG_METHOD_LIST   "_objc_method_list"

#define UTAG_METHOD_PROTOTYPE   "_objc_method_prototype"

#define UTAG_METHOD_PROTOTYPE_LIST   "_objc__method_prototype_list"

#define UTAG_MODULE   "_objc_module"

Referenced by build_module_descriptor().

#define UTAG_PROTOCOL   "_objc_protocol"

#define UTAG_PROTOCOL_LIST   "_objc_protocol_list"

#define UTAG_SELECTOR   "_objc_selector"

Referenced by build_selector_template().

#define UTAG_STATICS   "_objc_statics"

#define UTAG_SUPER   "_objc_super"

#define UTAG_SYMTAB   "_objc_symtab"


Enumeration Type Documentation

Enumerator:
class_names 
meth_var_names 
meth_var_types 

Definition at line 221 of file objc-act.c.


Function Documentation

static void add_category ( tree  class,
tree  category 
) [static]

Definition at line 5626 of file objc-act.c.

References cat, CLASS_CATEGORY_LIST, CLASS_NAME, CLASS_SUPER_NAME, IDENTIFIER_POINTER, and warning.

Referenced by start_class().

static tree add_class ( tree  class  )  [static]

Definition at line 5616 of file objc-act.c.

References interface_chain, and TREE_CHAIN.

Referenced by finish_objc(), and start_class().

tree add_class_method ( tree  class,
tree  method 
)

static void add_class_reference ( tree  ident  )  [static]

tree add_instance_method ( tree  class,
tree  method 
)

tree add_instance_variable ( tree  class,
int  public,
tree  declarator,
tree  declspecs,
tree  width 
)

void add_objc_decls (  ) 

static tree add_objc_string ( tree  ident,
enum string_section  section 
) [static]

static void add_objc_tree_codes (  )  [static]

static tree add_protocol ( tree  protocol  )  [static]

Definition at line 6302 of file objc-act.c.

References protocol_chain, and TREE_CHAIN.

Referenced by objc_declare_protocols(), and start_protocol().

static tree adjust_type_for_id_default ( tree  type  )  [static]

static void adorn_decl ( tree  decl,
char *  str 
) [static]

static tree build_category_initializer ( tree  type,
tree  cat_name,
tree  class_name,
tree  instance_methods,
tree  class_methods,
tree  protocol_list 
) [static]

static void build_category_template (  )  [static]

static tree build_class_reference_decl (  )  [static]

static void build_class_template (  )  [static]

static tree build_constructor ( tree  type,
tree  elts 
) [static]

static tree build_descriptor_table_initializer ( tree  type,
tree  entries 
) [static]

static tree build_dispatch_table_initializer ( tree  type,
tree  entries 
) [static]

tree build_encode_expr ( tree  type  ) 

static tree build_ivar_chain ( tree  interface,
int  copy 
) [static]

static tree build_ivar_list_initializer ( tree  type,
tree  field_decl 
) [static]

static tree build_ivar_list_template ( tree  list_type,
int  size 
) [static]

tree build_ivar_reference ( tree  id  ) 

static tree build_ivar_template (  )  [static]

tree build_keyword_decl ( tree  key_name,
tree  arg_type,
tree  arg_name 
)

static tree build_keyword_selector ( tree  selector  )  [static]

tree build_message_expr ( tree  mess  ) 

tree build_method_decl ( enum tree_code  code,
tree  ret_type,
tree  selector,
tree  add_args 
)

static tree build_method_list_template ( tree  list_type,
int  size 
) [static]

static tree build_method_prototype_list_template ( tree  list_type,
int  size 
) [static]

static tree build_method_prototype_template (  )  [static]

static tree build_method_template (  )  [static]

static rtx build_module_descriptor (  )  [static]

static tree build_objc_method_call ( int  super_flag,
tree  method_prototype,
tree  lookup_object,
tree  object,
tree  selector,
tree  method_params 
) [static]

static tree build_objc_string_decl ( enum string_section  section  )  [static]

tree build_objc_string_object ( tree  strings  ) 

static void build_objc_symtab_template (  )  [static]

static tree build_private_template ( tree  class  )  [static]

tree build_protocol_expr ( tree  protoname  ) 

static tree build_protocol_initializer ( tree  type,
tree  protocol_name,
tree  protocol_list,
tree  instance_methods,
tree  class_methods 
) [static]

static void build_protocol_reference ( tree  p  )  [static]

static tree build_protocol_template (  )  [static]

static tree build_selector ( tree  ident  )  [static]

tree build_selector_expr ( tree  selnamelist  ) 

static tree build_selector_reference ( tree  ident  )  [static]

static tree build_selector_reference_decl (  )  [static]

static void build_selector_template (  )  [static]

static void build_selector_translation_table (  )  [static]

static tree build_shared_structure_initializer ( tree  type,
tree  isa,
tree  super,
tree  name,
tree  size,
int  status,
tree  dispatch_table,
tree  ivar_list,
tree  protocol_list 
) [static]

static void build_string_class_template (  )  [static]

static tree build_super_template (  )  [static]

static tree build_tmp_function_decl (  )  [static]

static tree build_typed_selector_reference ( tree  ident,
tree  proto 
) [static]

static tree check_duplicates ( hash  hsh  )  [static]

static void check_ivars ( tree  inter,
tree  imp 
) [static]

Definition at line 3483 of file objc-act.c.

References CLASS_IVARS, CLASS_RAW_IVARS, comptypes(), DECL_NAME, error(), error_with_ivar(), t1, t2, TREE_CHAIN, and TREE_TYPE.

Referenced by continue_class().

static int check_methods ( tree  chain,
tree  list,
int  mtype 
) [static]

static int check_methods_accessible ( tree  chain,
tree  context,
int  mtype 
) [static]

static void check_protocol ( tree  p,
const char *  type,
const char *  name 
) [static]

static void check_protocol_recursively ( tree  proto,
tree  list 
) [static]

static void check_protocols ( tree  proto_list,
const char *  type,
const char *  name 
) [static]

Definition at line 5992 of file objc-act.c.

References check_protocol(), p, TREE_CHAIN, and TREE_VALUE.

Referenced by finish_class().

static int comp_method_with_proto ( tree  method,
tree  proto 
) [static]

static int comp_proto_with_proto ( tree  proto0,
tree  proto1 
) [static]

static int conforms_to_protocol ( tree  class,
tree  protocol 
) [static]

tree continue_class ( tree  class  ) 

void continue_method_def (  ) 

static tree create_builtin_decl ( enum tree_code  code,
tree  type,
const char *  name 
) [static]

static tree define_decl ( tree  declarator,
tree  declspecs 
) [static]

static void dump_interface ( FILE fp,
tree  chain 
) [static]

static void encode_aggregate ( tree  type,
int  curtype,
int  format 
) [static]

Definition at line 6642 of file objc-act.c.

References encode_aggregate_within(), obstack_1grow, TREE_CODE, and util_obstack.

Referenced by encode_type().

static void encode_aggregate_within ( tree  type,
int  curtype,
int  format,
int  left,
int  right 
) [static]

static void encode_array ( tree  type,
int  curtype,
int  format 
) [static]

static void encode_bitfield ( int  width  )  [static]

Definition at line 6682 of file objc-act.c.

References obstack_grow, sprintf(), strlen(), and util_obstack.

Referenced by encode_field_decl().

static void encode_complete_bitfield ( int  position,
tree  type,
int  size 
) [static]

static void encode_field_decl ( tree  field_decl,
int  curtype,
int  format 
) [static]

static tree encode_method_def ( tree  func_decl  )  [static]

static tree encode_method_prototype ( tree  method_decl,
tree  func_decl 
) [static]

static void encode_pointer ( tree  type,
int  curtype,
int  format 
) [static]

static void encode_type ( tree  type,
int  curtype,
int  format 
) [static]

static void encode_type_qualifiers ( tree  declspecs  )  [static]

static void error_with_ivar ( char *  message,
tree  decl,
tree  rawdecl 
) const [static]

Definition at line 3462 of file objc-act.c.

References DECL_SOURCE_FILE, DECL_SOURCE_LINE, and gen_declaration().

Referenced by check_ivars().

static tree expr_last ( tree  complex_expr  )  [static]

void finish_class ( tree  class  ) 

void finish_file ( void   ) 

Definition at line 566 of file objc-act.c.

References c_objc_common_finish_file(), fclose(), and finish_objc().

tree finish_message_expr ( tree  receiver,
tree  sel_name,
tree  method_params 
)

void finish_method_def (  ) 

static void finish_objc (  )  [static]

void finish_protocol ( protocol   ) 

Definition at line 6395 of file objc-act.c.

static void forward_declare_categories (  )  [static]

static int forwarding_offset ( tree  parm  )  [static]

static char* gen_declaration ( tree  atype_or_adecl,
char *  buf 
) [static]

static void gen_declaration_1 ( tree  atype_or_adecl,
char *  buf 
) [static]

static char* gen_declarator ( tree  decl,
char *  buf,
const char *  name 
) [static]

static void gen_declspecs ( tree  declspecs,
char *  buf,
int  raw 
) [static]

static char* gen_method_decl ( tree  method,
char *  buf 
) [static]

static void generate_category ( tree  cat  )  [static]

static void generate_classref_translation_entry ( tree  chain  )  [static]

static tree generate_descriptor_table ( tree  type,
const char *  name,
int  size,
tree  list,
tree  proto 
) [static]

static tree generate_dispatch_table ( tree  type,
const char *  name,
int  size,
tree  list 
) [static]

static void generate_dispatch_tables (  )  [static]

static void generate_forward_declaration_to_string_table (  )  [static]

static void generate_ivar_lists (  )  [static]

static tree generate_ivars_list ( tree  type,
const char *  name,
int  size,
tree  list 
) [static]

static void generate_method_descriptors ( tree  protocol  )  [static]

static void generate_objc_symtab_decl (  )  [static]

static tree generate_protocol_list ( tree  i_or_p  )  [static]

static void generate_protocol_references ( tree  plist  )  [static]

static void generate_protocols (  )  [static]

static void generate_shared_structures (  )  [static]

static void generate_static_references (  )  [static]

static void generate_strings (  )  [static]

static tree get_arg_type_list ( tree  meth,
int  context,
int  superflag 
) [static]

tree get_class_ivars ( tree  interface  ) 

Definition at line 5789 of file objc-act.c.

References build_ivar_chain().

tree get_class_reference ( tree  ident  ) 

static tree get_objc_string_decl ( tree  ident,
enum string_section  section 
) [static]

tree get_object_reference ( tree  protocols  ) 

static tree get_proto_encoding ( tree  proto  )  [static]

tree get_static_reference ( tree  interface,
tree  protocols 
)

tree get_super_receiver (  ) 

static void ggc_mark_hash_table ( void arg  )  [static]

static void ggc_mark_imp_list ( void arg  )  [static]

static void hack_method_prototype ( tree  nst_methods,
tree  tmp_decl 
) [static]

static void handle_class_ref ( tree  chain  )  [static]

static void handle_impent ( struct imp_entry impent  )  [static]

static void hash_add_attr ( hash  entry,
tree  value 
) [static]

static void hash_enter ( hash hashlist,
tree  method 
) [static]

static size_t hash_func ( tree  sel_name  )  [static]

Definition at line 5309 of file objc-act.c.

References h, IDENTIFIER_POINTER, and s.

Referenced by hash_enter(), and hash_lookup().

static void hash_init (  )  [static]

Definition at line 5322 of file objc-act.c.

References SIZEHASHTABLE, and xcalloc().

Referenced by init_objc().

static hash hash_lookup ( hash hashlist,
tree  sel_name 
) [static]

Definition at line 5358 of file objc-act.c.

References hash_func(), METHOD_SEL_NAME, hash::next, SIZEHASHTABLE, and target.

static tree init_def_list ( tree  type  )  [static]

static tree init_module_descriptor ( tree  type  )  [static]

static void init_objc (  )  [static]

static tree init_objc_symtab ( tree  type  )  [static]

tree is_class_name ( tree  ident  ) 

Definition at line 2349 of file objc-act.c.

References alias_chain, class_chain, lookup_interface(), TREE_CHAIN, TREE_PURPOSE, and TREE_VALUE.

static int is_complex_decl ( tree  type  )  [static]

Definition at line 7336 of file objc-act.c.

References IS_ID, and TREE_CODE.

Referenced by gen_declaration_1(), and gen_declarator().

tree is_ivar ( tree  decl_chain,
tree  ident 
)

Definition at line 5703 of file objc-act.c.

References DECL_NAME, NULL_TREE, and TREE_CHAIN.

Referenced by VN_IVC::Is_Induction_Var(), is_private(), is_public(), and lookup_objc_ivar().

static int is_objc_type_qualifier ( tree  node  )  [static]

int is_private ( tree  decl  ) 

int is_public ( tree  expr,
tree  identifier 
)

static tree lookup_and_install_protocols ( tree  protocols  )  [static]

static tree lookup_class_method_static ( tree  interface,
tree  ident 
) [static]

static tree lookup_instance_method_static ( tree  interface,
tree  ident 
) [static]

tree lookup_interface ( tree  ident  ) 

Definition at line 2373 of file objc-act.c.

References CLASS_NAME, interface_chain, NULL_TREE, and TREE_CHAIN.

static tree lookup_method ( tree  mchain,
tree  method 
) [static]

static tree lookup_method_in_protocol_list ( tree  rproto_list,
tree  sel_name,
int  class_meth 
) [static]

tree lookup_objc_ivar ( tree  id  ) 

static tree lookup_protocol ( tree  ident  )  [static]

static tree lookup_protocol_in_reflist ( tree  rproto_list,
tree  lproto 
) [static]

Definition at line 683 of file objc-act.c.

References p, PROTOCOL_LIST, TREE_CHAIN, TREE_CODE, and TREE_VALUE.

Referenced by objc_comptypes().

tree maybe_building_objc_message_expr (  ) 

Definition at line 4784 of file objc-act.c.

void maybe_objc_check_decl ( tree  decl  ) 

Definition at line 886 of file objc-act.c.

References objc_check_decl().

int maybe_objc_comptypes ( tree  lhs,
tree  rhs,
int  reflexive 
)

Definition at line 640 of file objc-act.c.

References objc_comptypes().

static tree my_build_string ( int  len,
const char *  str 
) [static]

static void objc_act_parse_init (  )  [static]

Definition at line 8417 of file objc-act.c.

References ggc_add_root(), ggc_mark_hash_table(), ggc_mark_imp_list(), and OCTI_MAX.

Referenced by objc_init().

static tree objc_add_static_instance ( tree  constructor,
tree  class_decl 
) [static]

void objc_check_decl ( tree  decl  ) 

Definition at line 874 of file objc-act.c.

References constant_string_type, TREE_CODE, TREE_STATIC_TEMPLATE, and TREE_TYPE.

int objc_comptypes ( tree  lhs,
tree  rhs,
int  reflexive 
)

static tree objc_copy_list ( tree  list,
tree head 
) [static]

Definition at line 2387 of file objc-act.c.

References chainon(), copy_node, DECL_BIT_FIELD, DECL_INITIAL, DECL_SIZE, NULL_TREE, tail, and TREE_CHAIN.

Referenced by build_ivar_chain().

void objc_declare_alias ( tree  alias_ident,
tree  class_ident 
)

void objc_declare_class ( tree  ident_list  ) 

void objc_declare_protocols ( tree  names  ) 

int objc_decode_option ( int  argc,
char **  argv 
)

Definition at line 577 of file objc-act.c.

References CSTSTRCLASS, error(), p, strcmp(), strlen(), strncmp(), and xstrdup().

static const char* objc_demangle ( char *  mangled  )  const [static]

Definition at line 8015 of file objc-act.c.

References free(), NULL, strchr, strcpy, strlen(), and xmalloc().

Referenced by objc_printable_name().

static void objc_expand_function_end (  )  [static]

const char* objc_init ( char *  filename  )  const

static const char* objc_printable_name ( tree  decl,
kind   
) [static]

Definition at line 8071 of file objc-act.c.

References DECL_NAME, IDENTIFIER_POINTER, and objc_demangle().

Referenced by objc_init().

static void gen_declspecs PARAMS ( (tree, char *, int)   )  [static]

static void check_protocol PARAMS ( (tree, const char *, const char *)   )  [static]

static tree check_duplicates PARAMS ( (hash  )  [static]

static tree build_shared_structure_initializer PARAMS ( (tree, tree, tree, tree, tree, int, tree, tree, tree  )  [static]

static tree generate_ivars_list PARAMS ( (tree, const char *, int, tree  )  [static]

static tree generate_descriptor_table PARAMS ( (tree, const char *, int, tree, tree  )  [static]

static tree objc_copy_list PARAMS ( (tree, tree *)   )  [static]

static tree my_build_string PARAMS ( (int, const char *)   )  [static]

static tree create_builtin_decl PARAMS ( (enum tree_code, tree, const char *)   )  [static]

static void dump_interface PARAMS ( (FILE *, tree  )  [static]

static char* gen_declarator PARAMS ( (tree, char *, const char *)   )  [static]

static char* gen_method_decl PARAMS ( (tree, char *)   )  [static]

static void error_with_ivar PARAMS ( (const char *, tree, tree  )  [static]

static void warn_with_method PARAMS ( (const char *, int, tree  )  [static]

static void encode_bitfield PARAMS ( (int)   )  [static]

static void encode_pointer PARAMS ( (tree, int, int)   )  [static]

static tree build_objc_string_decl PARAMS ( (enum string_section  )  [static]

static tree add_objc_string PARAMS ( (tree, enum string_section  )  [static]

static void hash_add_attr PARAMS ( (hash, tree  )  [static]

static void hash_enter PARAMS ( (hash *, tree  )  [static]

static const char* objc_demangle PARAMS ( (const char *)   )  [static, read]

Definition at line 635 of file mips-tfile.c.

static void encode_aggregate_within PARAMS ( (tree, int, int, int, int)   )  [static]

static int check_methods_accessible PARAMS ( (tree, tree, int)   )  [static]

static tree synth_id_with_class_suffix PARAMS ( (const char *, tree  )  [static]

static tree build_protocol_initializer PARAMS ( (tree, tree, tree, tree, tree  )  [static]

static tree build_category_initializer PARAMS ( (tree, tree, tree, tree, tree, tree  )  [static]

static tree build_ivar_chain PARAMS ( (tree, int)   )  [static]

static tree build_objc_method_call PARAMS ( (int, tree, tree, tree, tree, tree  )  [static]

static tree init_module_descriptor PARAMS ( (tree  )  [static]

static tree build_constructor PARAMS ( (tree, tree  )  [static]

static void init_objc PARAMS ( (void  )  [static, read]

Definition at line 77 of file cplus-dem.c.

static void really_start_method ( tree  method,
tree  parmlist 
) [static]

static tree receiver_is_class_object ( tree  receiver  )  [static]

static void setup_string_decl (  )  [static]

tree start_class ( enum tree_code  code,
tree  class_name,
tree  super_name,
tree  protocol_list 
)

void start_method_def ( tree  method  ) 

tree start_protocol ( enum tree_code  code,
tree  name,
tree  list 
)

static void synth_forward_declarations (  )  [static]

static tree synth_id_with_class_suffix ( char *  preamble,
tree  ctxt 
) const [static]

static void synth_module_prologue (  )  [static]

static void warn_with_method ( char *  message,
int  mtype,
tree  method 
) const [static]


Variable Documentation

Definition at line 4781 of file objc-act.c.

Definition at line 208 of file objc-act.c.

Definition at line 207 of file objc-act.c.

const int objc_tree_code_length[] [static]

Initial value:

 {
  0,














}

Definition at line 108 of file objc-act.c.

Referenced by add_objc_tree_codes().

const char* const objc_tree_code_name[] [static]

Initial value:

 {
  "@@dummy",














}

Definition at line 118 of file objc-act.c.

Referenced by add_objc_tree_codes().

const char objc_tree_code_type[] [static]

Initial value:

 {
  'x',














}

Definition at line 96 of file objc-act.c.

Referenced by add_objc_tree_codes().

int offset_is_register [static]

Definition at line 2685 of file objc-act.c.

char tmpbuf[256] [static]

Definition at line 7347 of file objc-act.c.

Referenced by _rnl90to77(), RNL(), s_cat_kai(), ANL_VARLIST::Write(), and xtensa_operand_encode().


Generated on Wed Apr 8 15:51:01 2009 for Open64 by  doxygen 1.5.6