Commit 011d50d9 by Andreas Jaeger

objc-act.c: Convert to ISO C90 prototypes.

	* objc/objc-act.c: Convert to ISO C90 prototypes.
	* objc/objc-act.h: Likewise.

From-SVN: r71371
parent a56d7372
2003-09-14 Andreas Jaeger <aj@suse.de>
* objc/objc-act.c: Convert to ISO C90 prototypes.
* objc/objc-act.h: Likewise.
2003-09-14 Olaf Hering <olh@suse.de>
* config/rs6000/rs6000.c: Fix typo: Remove extra ')'.
2003-09-13 Andrew Pinski <pinskia@physics.uc.edu>
PR target/12021
......
......@@ -118,69 +118,64 @@ char *util_firstobj;
/* Used by compile_file. */
static void init_objc PARAMS ((void));
static void finish_objc PARAMS ((void));
static void init_objc (void);
static void finish_objc (void);
/* Code generation. */
static void synth_module_prologue PARAMS ((void));
static tree objc_build_constructor PARAMS ((tree, tree));
static rtx build_module_descriptor PARAMS ((void));
static tree init_module_descriptor PARAMS ((tree));
static tree build_objc_method_call PARAMS ((int, tree, tree,
tree, tree, tree));
static void generate_strings PARAMS ((void));
static tree get_proto_encoding PARAMS ((tree));
static void build_selector_translation_table PARAMS ((void));
static tree objc_add_static_instance PARAMS ((tree, tree));
static tree build_ivar_template PARAMS ((void));
static tree build_method_template PARAMS ((void));
static tree build_private_template PARAMS ((tree));
static void build_class_template PARAMS ((void));
static void build_selector_template PARAMS ((void));
static void build_category_template PARAMS ((void));
static tree build_super_template PARAMS ((void));
static tree build_category_initializer PARAMS ((tree, tree, tree,
tree, tree, tree));
static tree build_protocol_initializer PARAMS ((tree, tree, tree,
tree, tree));
static void synth_forward_declarations PARAMS ((void));
static void generate_ivar_lists PARAMS ((void));
static void generate_dispatch_tables PARAMS ((void));
static void generate_shared_structures PARAMS ((void));
static tree generate_protocol_list PARAMS ((tree));
static void generate_forward_declaration_to_string_table PARAMS ((void));
static void build_protocol_reference PARAMS ((tree));
static tree build_keyword_selector PARAMS ((tree));
static tree synth_id_with_class_suffix PARAMS ((const char *, tree));
static void generate_static_references PARAMS ((void));
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 objc_expand_function_end PARAMS ((void));
static void synth_module_prologue (void);
static tree objc_build_constructor (tree, tree);
static rtx build_module_descriptor (void);
static tree init_module_descriptor (tree);
static tree build_objc_method_call (int, tree, tree, tree, tree, tree);
static void generate_strings (void);
static tree get_proto_encoding (tree);
static void build_selector_translation_table (void);
static tree objc_add_static_instance (tree, tree);
static tree build_ivar_template (void);
static tree build_method_template (void);
static tree build_private_template (tree);
static void build_class_template (void);
static void build_selector_template (void);
static void build_category_template (void);
static tree build_super_template (void);
static tree build_category_initializer (tree, tree, tree, tree, tree, tree);
static tree build_protocol_initializer (tree, tree, tree, tree, tree);
static void synth_forward_declarations (void);
static void generate_ivar_lists (void);
static void generate_dispatch_tables (void);
static void generate_shared_structures (void);
static tree generate_protocol_list (tree);
static void generate_forward_declaration_to_string_table (void);
static void build_protocol_reference (tree);
static tree build_keyword_selector (tree);
static tree synth_id_with_class_suffix (const char *, tree);
static void generate_static_references (void);
static int check_methods_accessible (tree, tree, int);
static void encode_aggregate_within (tree, int, int, int, int);
static const char *objc_demangle (const char *);
static void objc_expand_function_end (void);
/* Hash tables to manage the global pool of method prototypes. */
hash *nst_method_hash_list = 0;
hash *cls_method_hash_list = 0;
static size_t hash_func PARAMS ((tree));
static void hash_init PARAMS ((void));
static void hash_enter PARAMS ((hash *, tree));
static hash hash_lookup PARAMS ((hash *, tree));
static void hash_add_attr PARAMS ((hash, tree));
static tree lookup_method PARAMS ((tree, tree));
static tree lookup_instance_method_static PARAMS ((tree, tree));
static tree lookup_class_method_static PARAMS ((tree, tree));
static tree add_class PARAMS ((tree));
static void add_category PARAMS ((tree, tree));
static size_t hash_func (tree);
static void hash_init (void);
static void hash_enter (hash *, tree);
static hash hash_lookup (hash *, tree);
static void hash_add_attr (hash, tree);
static tree lookup_method (tree, tree);
static tree lookup_instance_method_static (tree, tree);
static tree lookup_class_method_static (tree, tree);
static tree add_class (tree);
static void add_category (tree, tree);
enum string_section
{
......@@ -189,113 +184,103 @@ enum string_section
meth_var_types /* method and variable type descriptors */
};
static tree add_objc_string PARAMS ((tree,
enum string_section));
static tree get_objc_string_decl PARAMS ((tree,
enum string_section));
static tree build_objc_string_decl PARAMS ((enum string_section));
static tree build_selector_reference_decl PARAMS ((void));
static tree add_objc_string (tree, enum string_section);
static tree get_objc_string_decl (tree, enum string_section);
static tree build_objc_string_decl (enum string_section);
static tree build_selector_reference_decl (void);
/* Protocol additions. */
static tree add_protocol PARAMS ((tree));
static tree lookup_protocol PARAMS ((tree));
static void check_protocol_recursively PARAMS ((tree, tree));
static tree lookup_and_install_protocols PARAMS ((tree));
static tree add_protocol (tree);
static tree lookup_protocol (tree);
static void check_protocol_recursively (tree, tree);
static tree lookup_and_install_protocols (tree);
/* Type encoding. */
static void encode_type_qualifiers PARAMS ((tree));
static void encode_pointer PARAMS ((tree, int, int));
static void encode_array PARAMS ((tree, int, int));
static void encode_aggregate PARAMS ((tree, int, int));
static void encode_bitfield PARAMS ((int));
static void encode_type PARAMS ((tree, int, int));
static void encode_field_decl PARAMS ((tree, int, int));
static void encode_type_qualifiers (tree);
static void encode_pointer (tree, int, int);
static void encode_array (tree, int, int);
static void encode_aggregate (tree, int, int);
static void encode_bitfield (int);
static void encode_type (tree, int, int);
static void encode_field_decl (tree, int, int);
static void really_start_method PARAMS ((tree, tree));
static int comp_method_with_proto PARAMS ((tree, tree));
static int comp_proto_with_proto PARAMS ((tree, tree));
static tree get_arg_type_list PARAMS ((tree, int, int));
static tree objc_expr_last PARAMS ((tree));
static void really_start_method (tree, tree);
static int comp_method_with_proto (tree, tree);
static int comp_proto_with_proto (tree, tree);
static tree get_arg_type_list (tree, int, int);
static tree objc_expr_last (tree);
/* Utilities for debugging and error diagnostics. */
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_declaration PARAMS ((tree, char *));
static void gen_declaration_1 PARAMS ((tree, char *));
static char *gen_declarator PARAMS ((tree, char *,
const char *));
static int is_complex_decl PARAMS ((tree));
static void adorn_decl PARAMS ((tree, char *));
static void dump_interface PARAMS ((FILE *, tree));
static void warn_with_method (const char *, int, tree);
static void error_with_ivar (const char *, tree, tree);
static char *gen_method_decl (tree, char *);
static char *gen_declaration (tree, char *);
static void gen_declaration_1 (tree, char *);
static char *gen_declarator (tree, char *, const char *);
static int is_complex_decl (tree);
static void adorn_decl (tree, char *);
static void dump_interface (FILE *, tree);
/* Everything else. */
static tree define_decl PARAMS ((tree, tree));
static tree lookup_method_in_protocol_list PARAMS ((tree, tree, int));
static tree lookup_protocol_in_reflist PARAMS ((tree, tree));
static tree create_builtin_decl PARAMS ((enum tree_code,
tree, const char *));
static void setup_string_decl PARAMS ((void));
static void build_string_class_template PARAMS ((void));
static tree my_build_string PARAMS ((int, const char *));
static void build_objc_symtab_template PARAMS ((void));
static tree init_def_list PARAMS ((tree));
static tree init_objc_symtab PARAMS ((tree));
static void forward_declare_categories PARAMS ((void));
static void generate_objc_symtab_decl PARAMS ((void));
static tree build_selector PARAMS ((tree));
static tree build_typed_selector_reference PARAMS ((tree, tree));
static tree build_selector_reference PARAMS ((tree));
static tree build_class_reference_decl PARAMS ((void));
static void add_class_reference PARAMS ((tree));
static tree build_protocol_template PARAMS ((void));
static tree build_descriptor_table_initializer PARAMS ((tree, tree));
static tree build_method_prototype_list_template PARAMS ((tree, int));
static tree build_method_prototype_template PARAMS ((void));
static int forwarding_offset PARAMS ((tree));
static tree encode_method_prototype PARAMS ((tree, tree));
static tree generate_descriptor_table PARAMS ((tree, const char *,
int, tree, tree));
static void generate_method_descriptors PARAMS ((tree));
static tree build_tmp_function_decl PARAMS ((void));
static void hack_method_prototype PARAMS ((tree, tree));
static void generate_protocol_references PARAMS ((tree));
static void generate_protocols PARAMS ((void));
static void check_ivars PARAMS ((tree, tree));
static tree build_ivar_list_template PARAMS ((tree, int));
static tree build_method_list_template PARAMS ((tree, int));
static tree build_ivar_list_initializer PARAMS ((tree, tree));
static tree generate_ivars_list PARAMS ((tree, const char *,
int, tree));
static tree build_dispatch_table_initializer PARAMS ((tree, tree));
static tree generate_dispatch_table PARAMS ((tree, const char *,
int, tree));
static tree build_shared_structure_initializer PARAMS ((tree, tree, tree, tree,
tree, int, tree, tree,
tree));
static void generate_category PARAMS ((tree));
static int is_objc_type_qualifier PARAMS ((tree));
static tree adjust_type_for_id_default PARAMS ((tree));
static tree check_duplicates PARAMS ((hash));
static tree receiver_is_class_object PARAMS ((tree));
static int check_methods PARAMS ((tree, tree, int));
static int conforms_to_protocol PARAMS ((tree, tree));
static void check_protocol PARAMS ((tree, const char *,
const char *));
static void check_protocols PARAMS ((tree, const char *,
const char *));
static tree encode_method_def PARAMS ((tree));
static void gen_declspecs PARAMS ((tree, char *, int));
static void generate_classref_translation_entry PARAMS ((tree));
static void handle_class_ref PARAMS ((tree));
static void generate_struct_by_value_array PARAMS ((void))
static tree define_decl (tree, tree);
static tree lookup_method_in_protocol_list (tree, tree, int);
static tree lookup_protocol_in_reflist (tree, tree);
static tree create_builtin_decl (enum tree_code, tree, const char *);
static void setup_string_decl (void);
static void build_string_class_template (void);
static tree my_build_string (int, const char *);
static void build_objc_symtab_template (void);
static tree init_def_list (tree);
static tree init_objc_symtab (tree);
static void forward_declare_categories (void);
static void generate_objc_symtab_decl (void);
static tree build_selector (tree);
static tree build_typed_selector_reference (tree, tree);
static tree build_selector_reference (tree);
static tree build_class_reference_decl (void);
static void add_class_reference (tree);
static tree build_protocol_template (void);
static tree build_descriptor_table_initializer (tree, tree);
static tree build_method_prototype_list_template (tree, int);
static tree build_method_prototype_template (void);
static int forwarding_offset (tree);
static tree encode_method_prototype (tree, tree);
static tree generate_descriptor_table (tree, const char *, int, tree, tree);
static void generate_method_descriptors (tree);
static tree build_tmp_function_decl (void);
static void hack_method_prototype (tree, tree);
static void generate_protocol_references (tree);
static void generate_protocols (void);
static void check_ivars (tree, tree);
static tree build_ivar_list_template (tree, int);
static tree build_method_list_template (tree, int);
static tree build_ivar_list_initializer (tree, tree);
static tree generate_ivars_list (tree, const char *, int, tree);
static tree build_dispatch_table_initializer (tree, tree);
static tree generate_dispatch_table (tree, const char *, int, tree);
static tree build_shared_structure_initializer (tree, tree, tree, tree, tree,
int, tree, tree, tree);
static void generate_category (tree);
static int is_objc_type_qualifier (tree);
static tree adjust_type_for_id_default (tree);
static tree check_duplicates (hash);
static tree receiver_is_class_object (tree);
static int check_methods (tree, tree, int);
static int conforms_to_protocol (tree, tree);
static void check_protocol (tree, const char *, const char *);
static void check_protocols (tree, const char *, const char *);
static tree encode_method_def (tree);
static void gen_declspecs (tree, char *, int);
static void generate_classref_translation_entry (tree);
static void handle_class_ref (tree);
static void generate_struct_by_value_array (void)
ATTRIBUTE_NORETURN;
static void encode_complete_bitfield PARAMS ((int, tree, int));
static void mark_referenced_methods PARAMS ((void));
static void encode_complete_bitfield (int, tree, int);
static void mark_referenced_methods (void);
/*** Private Interface (data) ***/
......@@ -338,7 +323,7 @@ static const char *default_constant_string_class_name;
/* The OCTI_... enumeration itself is in objc/objc-act.h. */
tree objc_global_trees[OCTI_MAX];
static void handle_impent PARAMS ((struct imp_entry *));
static void handle_impent (struct imp_entry *);
struct imp_entry *imp_list = 0;
int imp_count = 0; /* `@implementation' */
......@@ -374,7 +359,7 @@ static int generating_instance_variables = 0;
the transition point between the two possibilities. */
static void
generate_struct_by_value_array ()
generate_struct_by_value_array (void)
{
tree type;
tree field_decl, field_decl_chain;
......@@ -433,7 +418,7 @@ generate_struct_by_value_array ()
}
bool
objc_init ()
objc_init (void)
{
if (c_objc_common_init () == false)
return false;
......@@ -484,7 +469,7 @@ objc_init ()
}
void
finish_file ()
finish_file (void)
{
mark_referenced_methods ();
c_objc_common_finish_file ();
......@@ -499,9 +484,7 @@ finish_file ()
}
static tree
define_decl (declarator, declspecs)
tree declarator;
tree declspecs;
define_decl (tree declarator, tree declspecs)
{
tree decl = start_decl (declarator, declspecs, 0, NULL_TREE);
finish_decl (decl, NULL_TREE, NULL_TREE);
......@@ -521,10 +504,8 @@ define_decl (declarator, declspecs)
`a' and `b' are of class types A and B such that B is a descendant of A. */
static tree
lookup_method_in_protocol_list (rproto_list, sel_name, class_meth)
tree rproto_list;
tree sel_name;
int class_meth;
lookup_method_in_protocol_list (tree rproto_list, tree sel_name,
int class_meth)
{
tree rproto, p;
tree fnd = 0;
......@@ -556,9 +537,7 @@ lookup_method_in_protocol_list (rproto_list, sel_name, class_meth)
}
static tree
lookup_protocol_in_reflist (rproto_list, lproto)
tree rproto_list;
tree lproto;
lookup_protocol_in_reflist (tree rproto_list, tree lproto)
{
tree rproto, p;
......@@ -611,10 +590,7 @@ lookup_protocol_in_reflist (rproto_list, lproto)
*/
int
objc_comptypes (lhs, rhs, reflexive)
tree lhs;
tree rhs;
int reflexive;
objc_comptypes (tree lhs, tree rhs, int reflexive)
{
/* New clause for protocols. */
......@@ -907,8 +883,7 @@ objc_comptypes (lhs, rhs, reflexive)
/* Called from c-decl.c before all calls to rest_of_decl_compilation. */
void
objc_check_decl (decl)
tree decl;
objc_check_decl (tree decl)
{
tree type = TREE_TYPE (decl);
......@@ -922,9 +897,7 @@ objc_check_decl (decl)
/* Implement static typing. At this point, we know we have an interface. */
tree
get_static_reference (interface, protocols)
tree interface;
tree protocols;
get_static_reference (tree interface, tree protocols)
{
tree type = xref_tag (RECORD_TYPE, interface);
......@@ -955,8 +928,7 @@ get_static_reference (interface, protocols)
}
tree
get_object_reference (protocols)
tree protocols;
get_object_reference (tree protocols)
{
tree type_decl = lookup_name (objc_id_id);
tree type;
......@@ -1007,9 +979,7 @@ get_object_reference (protocols)
conforms to. */
static void
check_protocol_recursively (proto, list)
tree proto;
tree list;
check_protocol_recursively (tree proto, tree list)
{
tree p;
......@@ -1029,8 +999,7 @@ check_protocol_recursively (proto, list)
}
static tree
lookup_and_install_protocols (protocols)
tree protocols;
lookup_and_install_protocols (tree protocols)
{
tree proto;
tree prev = NULL;
......@@ -1066,10 +1035,7 @@ lookup_and_install_protocols (protocols)
TYPE is its data type. */
static tree
create_builtin_decl (code, type, name)
enum tree_code code;
tree type;
const char *name;
create_builtin_decl (enum tree_code code, tree type, const char *name)
{
tree decl = build_decl (code, get_identifier (name), type);
......@@ -1087,7 +1053,7 @@ create_builtin_decl (code, type, name)
/* Find the decl for the constant string class. */
static void
setup_string_decl ()
setup_string_decl (void)
{
if (!string_class_decl)
{
......@@ -1109,7 +1075,7 @@ setup_string_decl ()
identifier_node identifier_node */
static void
synth_module_prologue ()
synth_module_prologue (void)
{
tree temp_type;
tree super_p;
......@@ -1247,7 +1213,7 @@ synth_module_prologue ()
}; */
static void
build_string_class_template ()
build_string_class_template (void)
{
tree field_decl, field_decl_chain;
......@@ -1268,9 +1234,7 @@ build_string_class_template ()
/* Custom build_string which sets TREE_TYPE! */
static tree
my_build_string (len, str)
int len;
const char *str;
my_build_string (int len, const char *str)
{
return fix_string_type (build_string (len, str));
}
......@@ -1283,8 +1247,7 @@ my_build_string (len, str)
class object. */
tree
build_objc_string_object (string)
tree string;
build_objc_string_object (tree string)
{
tree initlist, constructor;
int length;
......@@ -1347,8 +1310,7 @@ build_objc_string_object (string)
static GTY(()) int num_static_inst;
static tree
objc_add_static_instance (constructor, class_decl)
tree constructor, class_decl;
objc_add_static_instance (tree constructor, tree class_decl)
{
tree *chain, decl;
char buf[256];
......@@ -1387,8 +1349,7 @@ objc_add_static_instance (constructor, class_decl)
with type TYPE and elements ELTS. */
static tree
objc_build_constructor (type, elts)
tree type, elts;
objc_build_constructor (tree type, tree elts)
{
tree constructor, f, e;
......@@ -1432,7 +1393,7 @@ objc_build_constructor (type, elts)
}; */
static void
build_objc_symtab_template ()
build_objc_symtab_template (void)
{
tree field_decl, field_decl_chain, index;
......@@ -1487,8 +1448,7 @@ build_objc_symtab_template ()
This is a CONSTRUCTOR. */
static tree
init_def_list (type)
tree type;
init_def_list (tree type)
{
tree expr, initlist = NULL_TREE;
struct imp_entry *impent;
......@@ -1532,8 +1492,7 @@ init_def_list (type)
/* Construct the initial value for all of _objc_symtab. */
static tree
init_objc_symtab (type)
tree type;
init_objc_symtab (tree type)
{
tree initlist;
......@@ -1578,7 +1537,7 @@ init_objc_symtab (type)
init_def_list can use them in a CONSTRUCTOR. */
static void
forward_declare_categories ()
forward_declare_categories (void)
{
struct imp_entry *impent;
tree sav = objc_implementation_context;
......@@ -1602,7 +1561,7 @@ forward_declare_categories ()
and initialized appropriately. */
static void
generate_objc_symtab_decl ()
generate_objc_symtab_decl (void)
{
tree sc_spec;
......@@ -1633,8 +1592,7 @@ generate_objc_symtab_decl ()
}
static tree
init_module_descriptor (type)
tree type;
init_module_descriptor (tree type)
{
tree initlist, expr;
......@@ -1672,7 +1630,7 @@ init_module_descriptor (type)
struct objc_module { ... } _OBJC_MODULE = { ... }; */
static rtx
build_module_descriptor ()
build_module_descriptor (void)
{
tree decl_specs, field_decl, field_decl_chain;
......@@ -1793,7 +1751,7 @@ build_module_descriptor ()
/* extern const char _OBJC_STRINGS[]; */
static void
generate_forward_declaration_to_string_table ()
generate_forward_declaration_to_string_table (void)
{
tree sc_spec, decl_specs, expr_decl;
......@@ -1809,9 +1767,7 @@ generate_forward_declaration_to_string_table ()
/* Return the DECL of the string IDENT in the SECTION. */
static tree
get_objc_string_decl (ident, section)
tree ident;
enum string_section section;
get_objc_string_decl (tree ident, enum string_section section)
{
tree chain;
......@@ -1836,7 +1792,7 @@ get_objc_string_decl (ident, section)
for the array built. */
static void
generate_static_references ()
generate_static_references (void)
{
tree decls = NULL_TREE, ident, decl_spec, expr_decl, expr = NULL_TREE;
tree class_name, class, decl, initlist;
......@@ -1912,7 +1868,7 @@ generate_static_references ()
/* Output all strings. */
static void
generate_strings ()
generate_strings (void)
{
tree sc_spec, decl_specs, expr_decl;
tree chain, string_expr;
......@@ -1966,7 +1922,7 @@ generate_strings ()
static GTY(()) int selector_reference_idx;
static tree
build_selector_reference_decl ()
build_selector_reference_decl (void)
{
tree decl, ident;
char buf[256];
......@@ -1992,8 +1948,7 @@ build_selector_reference_decl ()
/* Just a handy wrapper for add_objc_string. */
static tree
build_selector (ident)
tree ident;
build_selector (tree ident)
{
tree expr = add_objc_string (ident, meth_var_names);
if (flag_typed_selectors)
......@@ -2003,7 +1958,7 @@ build_selector (ident)
}
static void
build_selector_translation_table ()
build_selector_translation_table (void)
{
tree sc_spec, decl_specs;
tree chain, initlist = NULL_TREE;
......@@ -2095,8 +2050,7 @@ build_selector_translation_table ()
}
static tree
get_proto_encoding (proto)
tree proto;
get_proto_encoding (tree proto)
{
tree encoding;
if (proto)
......@@ -2123,8 +2077,7 @@ get_proto_encoding (proto)
identifier_node that represent the selector. */
static tree
build_typed_selector_reference (ident, prototype)
tree ident, prototype;
build_typed_selector_reference (tree ident, tree prototype)
{
tree *chain = &sel_ref_chain;
tree expr;
......@@ -2150,8 +2103,7 @@ build_typed_selector_reference (ident, prototype)
}
static tree
build_selector_reference (ident)
tree ident;
build_selector_reference (tree ident)
{
tree *chain = &sel_ref_chain;
tree expr;
......@@ -2181,7 +2133,7 @@ build_selector_reference (ident)
static GTY(()) int class_reference_idx;
static tree
build_class_reference_decl ()
build_class_reference_decl (void)
{
tree decl, ident;
char buf[256];
......@@ -2208,8 +2160,7 @@ build_class_reference_decl ()
it. */
static void
add_class_reference (ident)
tree ident;
add_class_reference (tree ident)
{
tree chain;
......@@ -2237,8 +2188,7 @@ add_class_reference (ident)
reference variable. */
tree
get_class_reference (ident)
tree ident;
get_class_reference (tree ident)
{
if (flag_next_runtime)
{
......@@ -2277,9 +2227,7 @@ get_class_reference (ident)
to decls for the strings. */
static tree
add_objc_string (ident, section)
tree ident;
enum string_section section;
add_objc_string (tree ident, enum string_section section)
{
tree *chain, decl;
......@@ -2312,8 +2260,7 @@ static GTY(()) int meth_var_names_idx;
static GTY(()) int meth_var_types_idx;
static tree
build_objc_string_decl (section)
enum string_section section;
build_objc_string_decl (enum string_section section)
{
tree decl, ident;
char buf[256];
......@@ -2344,9 +2291,7 @@ build_objc_string_decl (section)
void
objc_declare_alias (alias_ident, class_ident)
tree alias_ident;
tree class_ident;
objc_declare_alias (tree alias_ident, tree class_ident)
{
if (is_class_name (class_ident) != class_ident)
warning ("cannot find class `%s'", IDENTIFIER_POINTER (class_ident));
......@@ -2357,8 +2302,7 @@ objc_declare_alias (alias_ident, class_ident)
}
void
objc_declare_class (ident_list)
tree ident_list;
objc_declare_class (tree ident_list)
{
tree list;
......@@ -2385,8 +2329,7 @@ objc_declare_class (ident_list)
}
tree
is_class_name (ident)
tree ident;
is_class_name (tree ident)
{
tree chain;
......@@ -2409,8 +2352,7 @@ is_class_name (ident)
}
tree
objc_is_id (ident)
tree ident;
objc_is_id (tree ident)
{
/* NB: This function may be called before the ObjC front-end
has been initialized, in which case ID_TYPE will be NULL. */
......@@ -2420,8 +2362,7 @@ objc_is_id (ident)
}
tree
lookup_interface (ident)
tree ident;
lookup_interface (tree ident)
{
tree chain;
......@@ -2437,8 +2378,7 @@ lookup_interface (ident)
and for @defs constructs. */
tree
get_class_ivars (interface)
tree interface;
get_class_ivars (tree interface)
{
tree my_name, super_name, ivar_chain;
......@@ -2493,8 +2433,7 @@ get_class_ivars (interface)
}; */
static tree
build_private_template (class)
tree class;
build_private_template (tree class)
{
tree ivar_context;
......@@ -2536,7 +2475,7 @@ build_private_template (class)
}; */
static tree
build_protocol_template ()
build_protocol_template (void)
{
tree decl_specs, field_decl, field_decl_chain;
tree template;
......@@ -2594,9 +2533,7 @@ build_protocol_template ()
}
static tree
build_descriptor_table_initializer (type, entries)
tree type;
tree entries;
build_descriptor_table_initializer (tree type, tree entries)
{
tree initlist = NULL_TREE;
......@@ -2635,9 +2572,7 @@ build_descriptor_table_initializer (type, entries)
}; */
static tree
build_method_prototype_list_template (list_type, size)
tree list_type;
int size;
build_method_prototype_list_template (tree list_type, int size)
{
tree objc_ivar_list_record;
tree decl_specs, field_decl, field_decl_chain;
......@@ -2667,7 +2602,7 @@ build_method_prototype_list_template (list_type, size)
}
static tree
build_method_prototype_template ()
build_method_prototype_template (void)
{
tree proto_record;
tree decl_specs, field_decl, field_decl_chain;
......@@ -2697,8 +2632,7 @@ build_method_prototype_template ()
static int offset_is_register;
static int
forwarding_offset (parm)
tree parm;
forwarding_offset (tree parm)
{
int offset_in_bytes;
......@@ -2742,9 +2676,7 @@ forwarding_offset (parm)
}
static tree
encode_method_prototype (method_decl, func_decl)
tree method_decl;
tree func_decl;
encode_method_prototype (tree method_decl, tree func_decl)
{
tree parms;
int stack_size, i;
......@@ -2812,12 +2744,8 @@ encode_method_prototype (method_decl, func_decl)
}
static tree
generate_descriptor_table (type, name, size, list, proto)
tree type;
const char *name;
int size;
tree list;
tree proto;
generate_descriptor_table (tree type, const char *name, int size, tree list,
tree proto)
{
tree sc_spec, decl_specs, decl, initlist;
......@@ -2838,8 +2766,7 @@ generate_descriptor_table (type, name, size, list, proto)
}
static void
generate_method_descriptors (protocol)
tree protocol;
generate_method_descriptors (tree protocol)
{
tree initlist, chain, method_list_template;
tree cast, variable_length_type;
......@@ -2902,7 +2829,7 @@ generate_method_descriptors (protocol)
static GTY(()) int build_tmp_function_decl_xxx;
static tree
build_tmp_function_decl ()
build_tmp_function_decl (void)
{
tree decl_specs, expr_decl, parms;
char buffer[80];
......@@ -2945,9 +2872,7 @@ build_tmp_function_decl ()
given. */
static void
hack_method_prototype (nst_methods, tmp_decl)
tree nst_methods;
tree tmp_decl;
hack_method_prototype (tree nst_methods, tree tmp_decl)
{
tree parms;
tree parm;
......@@ -2997,8 +2922,7 @@ hack_method_prototype (nst_methods, tmp_decl)
}
static void
generate_protocol_references (plist)
tree plist;
generate_protocol_references (tree plist)
{
tree lproto;
......@@ -3057,7 +2981,7 @@ generate_protocol_references (plist)
and end up being fixed up multiple times at runtime inizialization.
But that doesn't hurt, it's just a little inefficient. */
static void
generate_protocols ()
generate_protocols (void)
{
tree p, tmp_decl, encoding;
tree sc_spec, decl_specs, decl;
......@@ -3158,13 +3082,9 @@ generate_protocols ()
}
static tree
build_protocol_initializer (type, protocol_name, protocol_list,
instance_methods, class_methods)
tree type;
tree protocol_name;
tree protocol_list;
tree instance_methods;
tree class_methods;
build_protocol_initializer (tree type, tree protocol_name,
tree protocol_list, tree instance_methods,
tree class_methods)
{
tree initlist = NULL_TREE, expr;
tree cast_type;
......@@ -3213,7 +3133,7 @@ build_protocol_initializer (type, protocol_name, protocol_list,
}; */
static void
build_category_template ()
build_category_template (void)
{
tree decl_specs, field_decl, field_decl_chain;
......@@ -3274,7 +3194,7 @@ build_category_template ()
}; */
static void
build_selector_template ()
build_selector_template (void)
{
tree decl_specs, field_decl, field_decl_chain;
......@@ -3320,7 +3240,7 @@ build_selector_template ()
}; */
static void
build_class_template ()
build_class_template (void)
{
tree decl_specs, field_decl, field_decl_chain;
......@@ -3459,7 +3379,7 @@ build_class_template ()
/* Generate appropriate forward declarations for an implementation. */
static void
synth_forward_declarations ()
synth_forward_declarations (void)
{
tree sc_spec, decl_specs, an_id;
......@@ -3492,10 +3412,7 @@ synth_forward_declarations ()
}
static void
error_with_ivar (message, decl, rawdecl)
const char *message;
tree decl;
tree rawdecl;
error_with_ivar (const char *message, tree decl, tree rawdecl)
{
error ("%H%s `%s'", &DECL_SOURCE_LOCATION (decl),
message, gen_declaration (rawdecl, errbuf));
......@@ -3503,9 +3420,7 @@ error_with_ivar (message, decl, rawdecl)
}
static void
check_ivars (inter, imp)
tree inter;
tree imp;
check_ivars (tree inter, tree imp)
{
tree intdecls = CLASS_IVARS (inter);
tree impdecls = CLASS_IVARS (imp);
......@@ -3562,7 +3477,7 @@ check_ivars (inter, imp)
This needs to be done just once per compilation. */
static tree
build_super_template ()
build_super_template (void)
{
tree record, decl_specs, field_decl, field_decl_chain;
......@@ -3602,7 +3517,7 @@ build_super_template ()
}; */
static tree
build_ivar_template ()
build_ivar_template (void)
{
tree objc_ivar_id, objc_ivar_record;
tree decl_specs, field_decl, field_decl_chain;
......@@ -3645,9 +3560,7 @@ build_ivar_template ()
}; */
static tree
build_ivar_list_template (list_type, size)
tree list_type;
int size;
build_ivar_list_template (tree list_type, int size)
{
tree objc_ivar_list_record;
tree decl_specs, field_decl, field_decl_chain;
......@@ -3683,9 +3596,7 @@ build_ivar_list_template (list_type, size)
}; */
static tree
build_method_list_template (list_type, size)
tree list_type;
int size;
build_method_list_template (tree list_type, int size)
{
tree objc_ivar_list_record;
tree decl_specs, field_decl, field_decl_chain;
......@@ -3727,9 +3638,7 @@ build_method_list_template (list_type, size)
}
static tree
build_ivar_list_initializer (type, field_decl)
tree type;
tree field_decl;
build_ivar_list_initializer (tree type, tree field_decl)
{
tree initlist = NULL_TREE;
......@@ -3777,11 +3686,7 @@ build_ivar_list_initializer (type, field_decl)
}
static tree
generate_ivars_list (type, name, size, list)
tree type;
const char *name;
int size;
tree list;
generate_ivars_list (tree type, const char *name, int size, tree list)
{
tree sc_spec, decl_specs, decl, initlist;
......@@ -3802,7 +3707,7 @@ generate_ivars_list (type, name, size, list)
}
static void
generate_ivar_lists ()
generate_ivar_lists (void)
{
tree initlist, ivar_list_template, chain;
tree cast, variable_length_type;
......@@ -3858,9 +3763,7 @@ generate_ivar_lists ()
}
static tree
build_dispatch_table_initializer (type, entries)
tree type;
tree entries;
build_dispatch_table_initializer (tree type, tree entries)
{
tree initlist = NULL_TREE;
......@@ -3908,7 +3811,7 @@ build_dispatch_table_initializer (type, entries)
struct objc_method { SEL _cmd; ...; void *_imp; }; */
static tree
build_method_template ()
build_method_template (void)
{
tree _SLT_record;
tree decl_specs, field_decl, field_decl_chain;
......@@ -3945,11 +3848,7 @@ build_method_template ()
static tree
generate_dispatch_table (type, name, size, list)
tree type;
const char *name;
int size;
tree list;
generate_dispatch_table (tree type, const char *name, int size, tree list)
{
tree sc_spec, decl_specs, decl, initlist;
......@@ -3971,7 +3870,7 @@ generate_dispatch_table (type, name, size, list)
}
static void
mark_referenced_methods ()
mark_referenced_methods (void)
{
struct imp_entry *impent;
tree chain;
......@@ -3995,7 +3894,7 @@ mark_referenced_methods ()
}
static void
generate_dispatch_tables ()
generate_dispatch_tables (void)
{
tree initlist, chain, method_list_template;
tree cast, variable_length_type;
......@@ -4063,8 +3962,7 @@ generate_dispatch_tables ()
}
static tree
generate_protocol_list (i_or_p)
tree i_or_p;
generate_protocol_list (tree i_or_p)
{
tree initlist, decl_specs, sc_spec;
tree refs_decl, expr_decl, lproto, e, plist;
......@@ -4150,14 +4048,9 @@ generate_protocol_list (i_or_p)
}
static tree
build_category_initializer (type, cat_name, class_name,
instance_methods, class_methods, protocol_list)
tree type;
tree cat_name;
tree class_name;
tree instance_methods;
tree class_methods;
tree protocol_list;
build_category_initializer (tree type, tree cat_name, tree class_name,
tree instance_methods, tree class_methods,
tree protocol_list)
{
tree initlist = NULL_TREE, expr;
......@@ -4221,17 +4114,10 @@ build_category_initializer (type, cat_name, class_name,
}; */
static tree
build_shared_structure_initializer (type, isa, super, name, size, status,
dispatch_table, ivar_list, protocol_list)
tree type;
tree isa;
tree super;
tree name;
tree size;
int status;
tree dispatch_table;
tree ivar_list;
tree protocol_list;
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)
{
tree initlist = NULL_TREE, expr;
......@@ -4314,8 +4200,7 @@ build_shared_structure_initializer (type, isa, super, name, size, status,
/* static struct objc_category _OBJC_CATEGORY_<name> = { ... }; */
static void
generate_category (cat)
tree cat;
generate_category (tree cat)
{
tree sc_spec, decl_specs, decl;
tree initlist, cat_name_expr, class_name_expr;
......@@ -4365,7 +4250,7 @@ generate_category (cat)
static struct objc_class _OBJC_CLASS_Foo={ ... }; */
static void
generate_shared_structures ()
generate_shared_structures (void)
{
tree sc_spec, decl_specs, decl;
tree name_expr, super_expr, root_expr;
......@@ -4468,9 +4353,7 @@ generate_shared_structures ()
}
static tree
synth_id_with_class_suffix (preamble, ctxt)
const char *preamble;
tree ctxt;
synth_id_with_class_suffix (const char *preamble, tree ctxt)
{
char *string;
if (TREE_CODE (ctxt) == CLASS_IMPLEMENTATION_TYPE
......@@ -4507,8 +4390,7 @@ synth_id_with_class_suffix (preamble, ctxt)
}
static int
is_objc_type_qualifier (node)
tree node;
is_objc_type_qualifier (tree node)
{
return (TREE_CODE (node) == IDENTIFIER_NODE
&& (node == ridpointers [(int) RID_CONST]
......@@ -4525,8 +4407,7 @@ is_objc_type_qualifier (node)
type of id (otherwise grokdeclarator will default to int). */
static tree
adjust_type_for_id_default (type)
tree type;
adjust_type_for_id_default (tree type)
{
tree declspecs, chain;
......@@ -4573,10 +4454,7 @@ adjust_type_for_id_default (type)
Out: an instance of "keyword_decl". */
tree
build_keyword_decl (key_name, arg_type, arg_name)
tree key_name;
tree arg_type;
tree arg_name;
build_keyword_decl (tree key_name, tree arg_type, tree arg_name)
{
tree keyword_decl;
......@@ -4595,8 +4473,7 @@ build_keyword_decl (key_name, arg_type, arg_name)
/* Given a chain of keyword_decl's, synthesize the full keyword selector. */
static tree
build_keyword_selector (selector)
tree selector;
build_keyword_selector (tree selector)
{
int len = 0;
tree key_chain, key_name;
......@@ -4643,11 +4520,8 @@ build_keyword_selector (selector)
/* Used for declarations and definitions. */
tree
build_method_decl (code, ret_type, selector, add_args)
enum tree_code code;
tree ret_type;
tree selector;
tree add_args;
build_method_decl (enum tree_code code, tree ret_type, tree selector,
tree add_args)
{
tree method_decl;
......@@ -4686,10 +4560,7 @@ build_method_decl (code, ret_type, selector, add_args)
the method call are done together. */
static tree
get_arg_type_list (meth, context, superflag)
tree meth;
int context;
int superflag;
get_arg_type_list (tree meth, int context, int superflag)
{
tree arglist, akey;
......@@ -4729,8 +4600,7 @@ get_arg_type_list (meth, context, superflag)
}
static tree
check_duplicates (hsh)
hash hsh;
check_duplicates (hash hsh)
{
tree meth = NULL_TREE;
......@@ -4761,8 +4631,7 @@ check_duplicates (hsh)
used. */
static tree
receiver_is_class_object (receiver)
tree receiver;
receiver_is_class_object (tree receiver)
{
tree chain, exp, arg;
......@@ -4818,7 +4687,7 @@ receiver_is_class_object (receiver)
static tree current_objc_message_selector = 0;
tree
objc_message_selector ()
objc_message_selector (void)
{
return current_objc_message_selector;
}
......@@ -4831,8 +4700,7 @@ objc_message_selector ()
(*(<abstract_decl>(*)())_msgSuper)(receiver, selTransTbl[n], ...); */
tree
build_message_expr (mess)
tree mess;
build_message_expr (tree mess)
{
tree receiver = TREE_PURPOSE (mess);
tree sel_name;
......@@ -4884,8 +4752,7 @@ build_message_expr (mess)
(in decl2.c) after RECEIVER and METHOD_PARAMS have been expanded. */
tree
finish_message_expr (receiver, sel_name, method_params)
tree receiver, sel_name, method_params;
finish_message_expr (tree receiver, tree sel_name, tree method_params)
{
tree method_prototype = NULL_TREE, class_ident = NULL_TREE;
tree selector, self_object, retval;
......@@ -5123,10 +4990,9 @@ finish_message_expr (receiver, sel_name, method_params)
If SUPER_FLAG is nonzero, we look up the superclass's method. */
static tree
build_objc_method_call (super_flag, method_prototype, lookup_object, object,
selector, method_params)
int super_flag;
tree method_prototype, lookup_object, object, selector, method_params;
build_objc_method_call (int super_flag, tree method_prototype,
tree lookup_object, tree object, tree selector,
tree method_params)
{
tree sender = (super_flag ? umsg_super_decl : umsg_decl);
tree rcv_p = (super_flag
......@@ -5224,8 +5090,7 @@ build_objc_method_call (super_flag, method_prototype, lookup_object, object,
}
static void
build_protocol_reference (p)
tree p;
build_protocol_reference (tree p)
{
tree decl, ident, ptype;
......@@ -5257,8 +5122,7 @@ build_protocol_reference (p)
/* This function is called by the parser when (and only when) a
@protocol() expression is found, in order to compile it. */
tree
build_protocol_expr (protoname)
tree protoname;
build_protocol_expr (tree protoname)
{
tree expr;
tree p = lookup_protocol (protoname);
......@@ -5328,8 +5192,7 @@ build_protocol_expr (protoname)
is found, in order to compile it. It is only called by the parser
and only to compile a @selector(). */
tree
build_selector_expr (selnamelist)
tree selnamelist;
build_selector_expr (tree selnamelist)
{
tree selname;
......@@ -5375,8 +5238,7 @@ build_selector_expr (selnamelist)
}
tree
build_encode_expr (type)
tree type;
build_encode_expr (tree type)
{
tree result;
const char *string;
......@@ -5393,8 +5255,7 @@ build_encode_expr (type)
}
tree
build_ivar_reference (id)
tree id;
build_ivar_reference (tree id)
{
if (TREE_CODE (objc_method_context) == CLASS_METHOD_DECL)
{
......@@ -5418,8 +5279,7 @@ build_ivar_reference (id)
/* Compute a hash value for a given method SEL_NAME. */
static size_t
hash_func (sel_name)
tree sel_name;
hash_func (tree sel_name)
{
const unsigned char *s
= (const unsigned char *)IDENTIFIER_POINTER (sel_name);
......@@ -5431,7 +5291,7 @@ hash_func (sel_name)
}
static void
hash_init ()
hash_init (void)
{
nst_method_hash_list = ggc_calloc (SIZEHASHTABLE, sizeof (hash));
cls_method_hash_list = ggc_calloc (SIZEHASHTABLE, sizeof (hash));
......@@ -5443,9 +5303,7 @@ hash_init ()
entry's key (method) for comparison. */
static void
hash_enter (hashlist, method)
hash *hashlist;
tree method;
hash_enter (hash *hashlist, tree method)
{
hash obj;
int slot = hash_func (METHOD_SEL_NAME (method)) % SIZEHASHTABLE;
......@@ -5459,9 +5317,7 @@ hash_enter (hashlist, method)
}
static hash
hash_lookup (hashlist, sel_name)
hash *hashlist;
tree sel_name;
hash_lookup (hash *hashlist, tree sel_name)
{
hash target;
......@@ -5478,9 +5334,7 @@ hash_lookup (hashlist, sel_name)
}
static void
hash_add_attr (entry, value)
hash entry;
tree value;
hash_add_attr (hash entry, tree value)
{
attr obj;
......@@ -5492,9 +5346,7 @@ hash_add_attr (entry, value)
}
static tree
lookup_method (mchain, method)
tree mchain;
tree method;
lookup_method (tree mchain, tree method)
{
tree key;
......@@ -5514,9 +5366,7 @@ lookup_method (mchain, method)
}
static tree
lookup_instance_method_static (interface, ident)
tree interface;
tree ident;
lookup_instance_method_static (tree interface, tree ident)
{
tree inter = interface;
tree chain = CLASS_NST_METHODS (inter);
......@@ -5567,9 +5417,7 @@ lookup_instance_method_static (interface, ident)
}
static tree
lookup_class_method_static (interface, ident)
tree interface;
tree ident;
lookup_class_method_static (tree interface, tree ident)
{
tree inter = interface;
tree chain = CLASS_CLS_METHODS (inter);
......@@ -5626,9 +5474,7 @@ lookup_class_method_static (interface, ident)
}
tree
add_class_method (class, method)
tree class;
tree method;
add_class_method (tree class, tree method)
{
tree mth;
hash hsh;
......@@ -5668,9 +5514,7 @@ add_class_method (class, method)
}
tree
add_instance_method (class, method)
tree class;
tree method;
add_instance_method (tree class, tree method)
{
tree mth;
hash hsh;
......@@ -5710,8 +5554,7 @@ add_instance_method (class, method)
}
static tree
add_class (class)
tree class;
add_class (tree class)
{
/* Put interfaces on list in reverse order. */
TREE_CHAIN (class) = interface_chain;
......@@ -5720,9 +5563,7 @@ add_class (class)
}
static void
add_category (class, category)
tree class;
tree category;
add_category (tree class, tree category)
{
/* Put categories on list in reverse order. */
tree cat = CLASS_CATEGORY_LIST (class);
......@@ -5746,12 +5587,8 @@ add_category (class, category)
PUBLIC is 1 for public, 0 for protected, and 2 for private. */
tree
add_instance_variable (class, public, declarator, declspecs, width)
tree class;
int public;
tree declarator;
tree declspecs;
tree width;
add_instance_variable (tree class, int public, tree declarator,
tree declspecs, tree width)
{
tree field_decl, raw_decl;
......@@ -5796,9 +5633,7 @@ add_instance_variable (class, public, declarator, declspecs, width)
}
tree
is_ivar (decl_chain, ident)
tree decl_chain;
tree ident;
is_ivar (tree decl_chain, tree ident)
{
for ( ; decl_chain; decl_chain = TREE_CHAIN (decl_chain))
if (DECL_NAME (decl_chain) == ident)
......@@ -5809,8 +5644,7 @@ is_ivar (decl_chain, ident)
/* True if the ivar is private and we are not in its implementation. */
int
is_private (decl)
tree decl;
is_private (tree decl)
{
if (TREE_PRIVATE (decl)
&& ! is_ivar (CLASS_IVARS (implementation_template), DECL_NAME (decl)))
......@@ -5826,9 +5660,7 @@ is_private (decl)
/* We have an instance variable reference;, check to see if it is public. */
int
is_public (expr, identifier)
tree expr;
tree identifier;
is_public (tree expr, tree identifier)
{
tree basetype = TREE_TYPE (expr);
enum tree_code code = TREE_CODE (basetype);
......@@ -5882,10 +5714,7 @@ is_public (expr, identifier)
/* Make sure all entries in CHAIN are also in LIST. */
static int
check_methods (chain, list, mtype)
tree chain;
tree list;
int mtype;
check_methods (tree chain, tree list, int mtype)
{
int first = 1;
......@@ -5919,9 +5748,7 @@ check_methods (chain, list, mtype)
/* Check if CLASS, or its superclasses, explicitly conforms to PROTOCOL. */
static int
conforms_to_protocol (class, protocol)
tree class;
tree protocol;
conforms_to_protocol (tree class, tree protocol)
{
if (TREE_CODE (protocol) == PROTOCOL_INTERFACE_TYPE)
{
......@@ -5947,10 +5774,7 @@ conforms_to_protocol (class, protocol)
CONTEXT. This is one of two mechanisms to check protocol integrity. */
static int
check_methods_accessible (chain, context, mtype)
tree chain;
tree context;
int mtype;
check_methods_accessible (tree chain, tree context, int mtype)
{
int first = 1;
tree list;
......@@ -6014,10 +5838,7 @@ check_methods_accessible (chain, context, mtype)
with any protocols that P inherits. */
static void
check_protocol (p, type, name)
tree p;
const char *type;
const char *name;
check_protocol (tree p, const char *type, const char *name)
{
if (TREE_CODE (p) == PROTOCOL_INTERFACE_TYPE)
{
......@@ -6073,10 +5894,7 @@ check_protocol (p, type, name)
in PROTO_LIST. */
static void
check_protocols (proto_list, type, name)
tree proto_list;
const char *type;
const char *name;
check_protocols (tree proto_list, const char *type, const char *name)
{
for ( ; proto_list; proto_list = TREE_CHAIN (proto_list))
{
......@@ -6092,11 +5910,8 @@ check_protocols (proto_list, type, name)
CATEGORY_INTERFACE_TYPE, or CATEGORY_IMPLEMENTATION_TYPE. */
tree
start_class (code, class_name, super_name, protocol_list)
enum tree_code code;
tree class_name;
tree super_name;
tree protocol_list;
start_class (enum tree_code code, tree class_name, tree super_name,
tree protocol_list)
{
tree class, decl;
......@@ -6253,8 +6068,7 @@ start_class (code, class_name, super_name, protocol_list)
}
tree
continue_class (class)
tree class;
continue_class (tree class)
{
if (TREE_CODE (class) == CLASS_IMPLEMENTATION_TYPE
|| TREE_CODE (class) == CATEGORY_IMPLEMENTATION_TYPE)
......@@ -6317,8 +6131,7 @@ continue_class (class)
/* This is called once we see the "@end" in an interface/implementation. */
void
finish_class (class)
tree class;
finish_class (tree class)
{
if (TREE_CODE (class) == CLASS_IMPLEMENTATION_TYPE)
{
......@@ -6384,8 +6197,7 @@ finish_class (class)
}
static tree
add_protocol (protocol)
tree protocol;
add_protocol (tree protocol)
{
/* Put protocol on list in reverse order. */
TREE_CHAIN (protocol) = protocol_chain;
......@@ -6394,8 +6206,7 @@ add_protocol (protocol)
}
static tree
lookup_protocol (ident)
tree ident;
lookup_protocol (tree ident)
{
tree chain;
......@@ -6410,8 +6221,7 @@ lookup_protocol (ident)
they are already declared or defined, the function has no effect. */
void
objc_declare_protocols (names)
tree names;
objc_declare_protocols (tree names)
{
tree list;
......@@ -6434,10 +6244,7 @@ objc_declare_protocols (names)
}
tree
start_protocol (code, name, list)
enum tree_code code;
tree name;
tree list;
start_protocol (enum tree_code code, tree name, tree list)
{
tree protocol;
......@@ -6477,8 +6284,7 @@ start_protocol (code, name, list)
}
void
finish_protocol (protocol)
tree protocol ATTRIBUTE_UNUSED;
finish_protocol (tree protocol ATTRIBUTE_UNUSED)
{
}
......@@ -6487,8 +6293,7 @@ finish_protocol (protocol)
??? What is the FORMAT? Someone please document this! */
static void
encode_type_qualifiers (declspecs)
tree declspecs;
encode_type_qualifiers (tree declspecs)
{
tree spec;
......@@ -6514,10 +6319,7 @@ encode_type_qualifiers (declspecs)
/* Encode a pointer type. */
static void
encode_pointer (type, curtype, format)
tree type;
int curtype;
int format;
encode_pointer (tree type, int curtype, int format)
{
tree pointer_to = TREE_TYPE (type);
......@@ -6576,10 +6378,7 @@ encode_pointer (type, curtype, format)
}
static void
encode_array (type, curtype, format)
tree type;
int curtype;
int format;
encode_array (tree type, int curtype, int format)
{
tree an_int_cst = TYPE_SIZE (type);
tree array_of = TREE_TYPE (type);
......@@ -6603,12 +6402,8 @@ encode_array (type, curtype, format)
}
static void
encode_aggregate_within (type, curtype, format, left, right)
tree type;
int curtype;
int format;
int left;
int right;
encode_aggregate_within (tree type, int curtype, int format, int left,
int right)
{
/* The RECORD_TYPE may in fact be a typedef! For purposes
of encoding, we need the real underlying enchilada. */
......@@ -6724,10 +6519,7 @@ encode_aggregate_within (type, curtype, format, left, right)
}
static void
encode_aggregate (type, curtype, format)
tree type;
int curtype;
int format;
encode_aggregate (tree type, int curtype, int format)
{
enum tree_code code = TREE_CODE (type);
......@@ -6764,8 +6556,7 @@ encode_aggregate (type, curtype, format)
hand generating this string (which is tedious). */
static void
encode_bitfield (width)
int width;
encode_bitfield (int width)
{
char buffer[40];
sprintf (buffer, "b%d", width);
......@@ -6775,10 +6566,7 @@ encode_bitfield (width)
/* FORMAT will be OBJC_ENCODE_INLINE_DEFS or OBJC_ENCODE_DONT_INLINE_DEFS. */
static void
encode_type (type, curtype, format)
tree type;
int curtype;
int format;
encode_type (tree type, int curtype, int format)
{
enum tree_code code = TREE_CODE (type);
......@@ -6851,10 +6639,7 @@ encode_type (type, curtype, format)
}
static void
encode_complete_bitfield (position, type, size)
int position;
tree type;
int size;
encode_complete_bitfield (int position, tree type, int size)
{
enum tree_code code = TREE_CODE (type);
char buffer[40];
......@@ -6910,10 +6695,7 @@ encode_complete_bitfield (position, type, size)
}
static void
encode_field_decl (field_decl, curtype, format)
tree field_decl;
int curtype;
int format;
encode_field_decl (tree field_decl, int curtype, int format)
{
tree type;
......@@ -6941,8 +6723,7 @@ encode_field_decl (field_decl, curtype, format)
}
static tree
objc_expr_last (complex_expr)
tree complex_expr;
objc_expr_last (tree complex_expr)
{
tree next;
......@@ -6957,8 +6738,7 @@ objc_expr_last (complex_expr)
- synthesize the first two arguments, "self" and "_cmd". */
void
start_method_def (method)
tree method;
start_method_def (tree method)
{
tree decl_specs;
......@@ -7042,10 +6822,7 @@ start_method_def (method)
}
static void
warn_with_method (message, mtype, method)
const char *message;
int mtype;
tree method;
warn_with_method (const char *message, int mtype, tree method)
{
/* Add a readable method name to the warning. */
warning ("%H%s `%c%s'", &DECL_SOURCE_LOCATION (method),
......@@ -7055,8 +6832,7 @@ warn_with_method (message, mtype, method)
/* Return 1 if METHOD is consistent with PROTO. */
static int
comp_method_with_proto (method, proto)
tree method, proto;
comp_method_with_proto (tree method, tree proto)
{
/* Create a function template node at most once. */
if (!function1_template)
......@@ -7075,8 +6851,7 @@ comp_method_with_proto (method, proto)
/* Return 1 if PROTO1 is consistent with PROTO2. */
static int
comp_proto_with_proto (proto0, proto1)
tree proto0, proto1;
comp_proto_with_proto (tree proto0, tree proto1)
{
/* Create a couple of function_template nodes at most once. */
if (!function1_template)
......@@ -7102,8 +6877,7 @@ comp_proto_with_proto (proto0, proto1)
- If we have a prototype, check for type consistency. */
static void
really_start_method (method, parmlist)
tree method, parmlist;
really_start_method (tree method, tree parmlist)
{
tree sc_spec, ret_spec, ret_decl, decl_specs;
tree method_decl, method_id;
......@@ -7193,7 +6967,7 @@ really_start_method (method, parmlist)
- a:a b:b // prototype ; id c; id d; // old-style. */
void
continue_method_def ()
continue_method_def (void)
{
tree parmlist;
......@@ -7215,7 +6989,7 @@ continue_method_def ()
/* Called by the parser, from the `pushlevel' production. */
void
add_objc_decls ()
add_objc_decls (void)
{
if (!UOBJC_SUPER_decl)
{
......@@ -7239,7 +7013,7 @@ add_objc_decls ()
} */
tree
get_super_receiver ()
get_super_receiver (void)
{
if (objc_method_context)
{
......@@ -7326,8 +7100,7 @@ get_super_receiver ()
}
static tree
encode_method_def (func_decl)
tree func_decl;
encode_method_def (tree func_decl)
{
tree parms;
int stack_size;
......@@ -7383,13 +7156,13 @@ encode_method_def (func_decl)
}
static void
objc_expand_function_end ()
objc_expand_function_end (void)
{
METHOD_ENCODING (objc_method_context) = encode_method_def (current_function_decl);
}
void
finish_method_def ()
finish_method_def (void)
{
lang_expand_function_end = objc_expand_function_end;
finish_function ();
......@@ -7402,8 +7175,7 @@ finish_method_def ()
#if 0
int
lang_report_error_function (decl)
tree decl;
lang_report_error_function (tree decl)
{
if (objc_method_context)
{
......@@ -7418,8 +7190,7 @@ lang_report_error_function (decl)
#endif
static int
is_complex_decl (type)
tree type;
is_complex_decl (tree type)
{
return (TREE_CODE (type) == ARRAY_TYPE
|| TREE_CODE (type) == FUNCTION_TYPE
......@@ -7432,9 +7203,7 @@ is_complex_decl (type)
static char tmpbuf[256];
static void
adorn_decl (decl, str)
tree decl;
char *str;
adorn_decl (tree decl, char *str)
{
enum tree_code code = TREE_CODE (decl);
......@@ -7534,10 +7303,7 @@ adorn_decl (decl, str)
}
static char *
gen_declarator (decl, buf, name)
tree decl;
char *buf;
const char *name;
gen_declarator (tree decl, char *buf, const char *name)
{
if (decl)
{
......@@ -7626,10 +7392,7 @@ gen_declarator (decl, buf, name)
}
static void
gen_declspecs (declspecs, buf, raw)
tree declspecs;
char *buf;
int raw;
gen_declspecs (tree declspecs, char *buf, int raw)
{
if (raw)
{
......@@ -7881,9 +7644,7 @@ gen_declspecs (declspecs, buf, raw)
buffer, overwriting the buffer. */
static char *
gen_declaration (atype_or_adecl, buf)
tree atype_or_adecl;
char *buf;
gen_declaration (tree atype_or_adecl, char *buf)
{
buf[0] = '\0';
gen_declaration_1 (atype_or_adecl, buf);
......@@ -7894,9 +7655,7 @@ gen_declaration (atype_or_adecl, buf)
given buffer. */
static void
gen_declaration_1 (atype_or_adecl, buf)
tree atype_or_adecl;
char *buf;
gen_declaration_1 (tree atype_or_adecl, char *buf)
{
char declbuf[256];
......@@ -7985,9 +7744,7 @@ gen_declaration_1 (atype_or_adecl, buf)
buffer (overwriting) and return a pointer to the buffer. */
static char *
gen_method_decl (method, buf)
tree method;
char *buf;
gen_method_decl (tree method, char *buf)
{
tree chain;
......@@ -8054,9 +7811,7 @@ gen_method_decl (method, buf)
prints out an @interface declaration of all classes compiled in
this run); potentially useful for debugging the compiler too. */
static void
dump_interface (fp, chain)
FILE *fp;
tree chain;
dump_interface (FILE *fp, tree chain)
{
/* FIXME: A heap overflow here whenever a method (or ivar)
declaration is so long that it doesn't fit in the buffer. The
......@@ -8119,8 +7874,7 @@ dump_interface (fp, chain)
/* Demangle function for Objective-C */
static const char *
objc_demangle (mangled)
const char *mangled;
objc_demangle (const char *mangled)
{
char *demangled, *cp;
......@@ -8175,15 +7929,13 @@ objc_demangle (mangled)
}
const char *
objc_printable_name (decl, kind)
tree decl;
int kind ATTRIBUTE_UNUSED;
objc_printable_name (tree decl, int kind ATTRIBUTE_UNUSED)
{
return objc_demangle (IDENTIFIER_POINTER (DECL_NAME (decl)));
}
static void
init_objc ()
init_objc (void)
{
gcc_obstack_init (&util_obstack);
util_firstobj = (char *) obstack_finish (&util_obstack);
......@@ -8194,7 +7946,7 @@ init_objc ()
}
static void
finish_objc ()
finish_objc (void)
{
struct imp_entry *impent;
tree chain;
......@@ -8337,8 +8089,7 @@ finish_objc ()
/* Subroutines of finish_objc. */
static void
generate_classref_translation_entry (chain)
tree chain;
generate_classref_translation_entry (tree chain)
{
tree expr, name, decl_specs, decl, sc_spec;
tree type;
......@@ -8364,8 +8115,7 @@ generate_classref_translation_entry (chain)
}
static void
handle_class_ref (chain)
tree chain;
handle_class_ref (tree chain)
{
const char *name = IDENTIFIER_POINTER (TREE_VALUE (chain));
char *string = alloca (strlen (name) + 30);
......@@ -8405,8 +8155,7 @@ handle_class_ref (chain)
}
static void
handle_impent (impent)
struct imp_entry *impent;
handle_impent (struct imp_entry *impent)
{
char *string;
......@@ -8469,8 +8218,7 @@ handle_impent (impent)
/* Look up ID as an instance variable. */
tree
lookup_objc_ivar (id)
tree id;
lookup_objc_ivar (tree id)
{
tree decl;
......
......@@ -24,54 +24,54 @@ Boston, MA 02111-1307, USA. */
/*** Public Interface (procedures) ***/
bool objc_init PARAMS ((void));
const char *objc_printable_name PARAMS ((tree, int));
bool objc_init (void);
const char *objc_printable_name (tree, int);
/* used by yyparse */
void finish_file PARAMS ((void));
tree start_class PARAMS ((enum tree_code, tree, tree, tree));
tree continue_class PARAMS ((tree));
void finish_class PARAMS ((tree));
void start_method_def PARAMS ((tree));
void continue_method_def PARAMS ((void));
void finish_method_def PARAMS ((void));
tree start_protocol PARAMS ((enum tree_code, tree, tree));
void finish_protocol PARAMS ((tree));
void add_objc_decls PARAMS ((void));
tree is_ivar PARAMS ((tree, tree));
int is_private PARAMS ((tree));
int is_public PARAMS ((tree, tree));
tree add_instance_variable PARAMS ((tree, int, tree, tree, tree));
tree add_class_method PARAMS ((tree, tree));
tree add_instance_method PARAMS ((tree, tree));
tree get_super_receiver PARAMS ((void));
tree get_class_ivars PARAMS ((tree));
tree get_class_reference PARAMS ((tree));
tree get_static_reference PARAMS ((tree, tree));
tree get_object_reference PARAMS ((tree));
tree build_message_expr PARAMS ((tree));
tree finish_message_expr PARAMS ((tree, tree, tree));
tree build_selector_expr PARAMS ((tree));
tree build_ivar_reference PARAMS ((tree));
tree build_keyword_decl PARAMS ((tree, tree, tree));
tree build_method_decl PARAMS ((enum tree_code, tree, tree, tree));
tree build_protocol_expr PARAMS ((tree));
tree build_objc_string_object PARAMS ((tree));
void objc_declare_alias PARAMS ((tree, tree));
void objc_declare_class PARAMS ((tree));
void objc_declare_protocols PARAMS ((tree));
void finish_file (void);
tree start_class (enum tree_code, tree, tree, tree);
tree continue_class (tree);
void finish_class (tree);
void start_method_def (tree);
void continue_method_def (void);
void finish_method_def (void);
tree start_protocol (enum tree_code, tree, tree);
void finish_protocol (tree);
void add_objc_decls (void);
tree is_ivar (tree, tree);
int is_private (tree);
int is_public (tree, tree);
tree add_instance_variable (tree, int, tree, tree, tree);
tree add_class_method (tree, tree);
tree add_instance_method (tree, tree);
tree get_super_receiver (void);
tree get_class_ivars (tree);
tree get_class_reference (tree);
tree get_static_reference (tree, tree);
tree get_object_reference (tree);
tree build_message_expr (tree);
tree finish_message_expr (tree, tree, tree);
tree build_selector_expr (tree);
tree build_ivar_reference (tree);
tree build_keyword_decl (tree, tree, tree);
tree build_method_decl (enum tree_code, tree, tree, tree);
tree build_protocol_expr (tree);
tree build_objc_string_object (tree);
void objc_declare_alias (tree, tree);
void objc_declare_class (tree);
void objc_declare_protocols (tree);
/* the following routines are used to implement statically typed objects */
int objc_comptypes PARAMS ((tree, tree, int));
void objc_check_decl PARAMS ((tree));
int objc_comptypes (tree, tree, int);
void objc_check_decl (tree);
/* NeXT extensions */
tree build_encode_expr PARAMS ((tree));
tree build_encode_expr (tree);
/* Objective-C structures */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment